---
type: "firecrawl-provider"
description: "Official OpenAI API documentation from developers.openai.com: docs search through OpenAI's public docs MCP server, any guide, reference or cookbook page as Markdown with an outline and section reads, the model catalog and model pages (context window, pricing, knowledge cutoff, endpoints, rate limits), per-tier token pricing, deprecations with shutdown dates and replacements, the dated API changelog and API endpoint reference (parameters and response fields). Public pages published for agents; no key or login."
use_when: "Official OpenAI API documentation from developers.openai.com: docs search through OpenAI's public docs MCP server, any guide, reference or cookbook page as Markdown with an outline and section reads, the model catalog and model pages (context window, pricing, knowledge cutoff, endpoints, rate limits), per-tier token pricing, deprecations with shutdown dates and replacements, the dated API changelog and API endpoint reference (parameters and response fields). Public pages published for agents; no key or login."
categories: "AI models"
capabilities: 8
credits_per_call: 5
---
# OpenAI developer docs on Firecrawl Alexandria

Official OpenAI API documentation from developers.openai.com: docs search through OpenAI's public docs MCP server, any guide, reference or cookbook page as Markdown with an outline and section reads, the model catalog and model pages (context window, pricing, knowledge cutoff, endpoints, rate limits), per-tier token pricing, deprecations with shutdown dates and replacements, the dated API changelog and API endpoint reference (parameters and response fields). Public pages published for agents; no key or login.

- Categories: AI models
- Category index: [AI models category](https://firecrawl.dev/alexandria/agents/categories/ai-models)
- Provider key: `developers-openai-com`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/developers-openai-com)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/openapi.json)

## Capabilities

- [Changelog](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/changelog): Dated OpenAI API changelog entries from https://developers.openai.com/api/docs/changelog.md, newest first: date (YYYY-MM-DD), kind (Feature, Update, Fix, Announcement), the models and API routes each entry tags, and the entry's Markdown. Filter by since/until date and exact model tag.
- [Get api endpoint](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_api_endpoint): One OpenAI API endpoint from the official API reference: summary, description, path/query/header/body parameters (name, type, required, nullable, description) and the response object's fields, plus request/response examples when include_examples is set. Takes a method and path (POST /v1/responses, GET /v1/models/{model} or a concrete path like GET /v1/models/gpt-5) checked against list_api_endpoints on OpenAI's docs MCP server, then reads the reference method page's Markdown twin; or a developers.openai.com/api/reference/.../methods/... URL directly. Paths the API does not have are not_found.
- [Get model](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_model): One OpenAI model page (https://developers.openai.com/api/docs/models/{id}.md): context window, max input and output tokens, knowledge cutoff, modalities, reasoning token support, token pricing per 1M (input, cached input, cache writes, output) plus every pricing table and note, endpoint support (Responses, Chat Completions, Batch, Realtime and more), supported features and tools, snapshots and per-tier rate limits. Values the page does not state are null. Unknown model IDs are not_found.
- [Get page](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_page): One OpenAI developer docs page as clean Markdown (the site's .md twin, e.g. https://developers.openai.com/api/docs/guides/text.md) with title, description, an outline of every heading (level, text, anchor) and optional section reads: section (heading text or anchor, case-insensitive) returns only that heading's subtree. Accepts a site path (api/docs/guides/text, api/reference/resources/responses, cookbook/..., llms.txt) or a developers.openai.com or legacy platform.openai.com/docs URL; a #anchor in the URL selects that section. Content is truncated at max_chars (default 40000). Unknown pages and unknown sections are not_found.
- [List models](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/list_models): The OpenAI API model catalog from https://developers.openai.com/api/docs/models.md: one record per model with ID, display name, the catalog's one-line description, model page URL and whether it is featured (the page's recommended starting points). Optional substring filter q over id, name and description; featured_only.
- [Model deprecations](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/model_deprecations): Model and endpoint deprecations from https://developers.openai.com/api/docs/deprecations.md: one row per shutdown-table line with status (upcoming or past), announcement date and notice title, shutdown date (YYYY-MM-DD and as written), the deprecated model or system with its IDs, the recommended replacement with its IDs, and the legacy price where the table lists one. Newest announcements first. Filter by model (substring, or exact ID) and status.
- [Model pricing](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/model_pricing): Per-model API pricing rows from https://developers.openai.com/api/docs/pricing.md: every pricing table with a Model column (flagship models per processing tier Standard, Batch, Flex, Fast and Ultrafast; cyber, life sciences, realtime and audio, image generation, transcription, specialized and fine-tuning models). Each row has the section, tier, modality, numeric USD per 1M tokens (input, cached input, cache writes, output, long-context variants, training) and the raw cells. Filter by exact model ID, tier or section substring.
- [Search docs](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/search_docs): Search the official OpenAI developer docs through OpenAI's public docs MCP server (search_openai_docs on https://developers.openai.com/mcp). Returns hits in the server's ranking order with title (page and heading hierarchy), URL, anchor and snippet. By default only developers.openai.com and platform.openai.com hits are kept (site api); site all also keeps learn.chatgpt.com (ChatGPT and Codex docs). Pages continue with next_cursor.

## 1. Choose this provider when

Official OpenAI API documentation from developers.openai.com: docs search through OpenAI's public docs MCP server, any guide, reference or cookbook page as Markdown with an outline and section reads, the model catalog and model pages (context window, pricing, knowledge cutoff, endpoints, rate limits), per-tier token pricing, deprecations with shutdown dates and replacements, the dated API changelog and API endpoint reference (parameters and response fields). Public pages published for agents; no key or login.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "developers-openai-com",
  "capability": "developer-docs/changelog",
  "options": {
    "limit": 3
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `limit` (number): Maximum entries (default 20). Example: `10`
- `model` (string): Only entries tagged with this model ID, e.g. gpt-6.1-sol. Example: `<model>`
- `since` (string): Only entries on or after this date (YYYY-MM-DD). Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<since>`
- `until` (string): Only entries on or before this date. Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<until>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "developers-openai-com",
    capability: "developer-docs/changelog",
    options: {
      limit: 3,
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "developers-openai-com",
  "capability": "developer-docs/changelog",
  "options": {
    "limit": 3
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "developers-openai-com",
    "capability": "developer-docs/changelog",
    "options": {
      "limit": 3
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'developers-openai-com/developer-docs/changelog' \
  --options '{"limit":3}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "developers-openai-com",
  "capability": "developer-docs/changelog",
  "options": {
    "limit": 3
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "developers-openai-com",
  "capability": "developer-docs/changelog",
  "options": {
    "limit": 3
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "count": 3,
  "entries": [
    {
      "apis": [
        "v1/audio/voices",
        "v1/live/sessions"
      ],
      "content": "Released [prompt-to-voice](https://developers.openai.com/api/docs/guides/custom-voices#create-a-voice-from-a-description) for all API customers. Create a custom voice from a text description through the API or voice Playground, then reuse it in GPT-Live sessions. Creating a prompt-generated voice is free; speech generation uses regular GPT-Live session billing.\n\nAdded nine [natural voices for GPT-Live](https://developers.openai.com/api/docs/guides/live-conversations#voice-options): Nuri, Juni, and Flitz (German); Brise and Sillage (French); Nira (Hindi); Harema and Shida (Japanese); and Noeul (Korean).",
      "date": "2026-10-16",
      "kind": "Feature",
      "models": [
        "gpt-live-1"
      ]
    },
    {
      "apis": [
        "v1/live/sessions"
      ],
      "content": "Added native [Decisions integration in GPT-Live](https://developers.openai.com/api/docs/guides/decisions-voice). Your app can act while your user is speaking or react to what Live says. Let Live call Decisions directly through native delegation, or trigger decisions as input or output transcript deltas arrive.",
      "date": "2026-10-15",
      "kind": "Feature",
      "models": [
        "gpt-live-1",
        "gpt-6-luna"
      ]
    },
    {
      "apis": [
        "v1/responses"
      ],
      "content": "Added [Ultrafast mode](https://developers.openai.com/api/docs/guides/ultrafast-mode) for [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol) in the Responses API. Use `gpt-6.1-sol` with `service_tier: \"ultrafast\"` to reduce the time between generated output tokens. It is available to all API users, subject to rate limits, with global processing and US and EU data residency. See [Ultrafast pricing](https://developers.openai.com/api/docs/pricing?latest-pricing=ultrafast).",
      "date": "2026-10-08",
      "kind": "Feature",
      "models": [
        "gpt-6.1-sol"
      ]
    }
  ],
  "latest_date": "2026-10-16",
  "matched": 181,
  "observed_at_ms": 1792516181139,
  "source_url": "https://developers.openai.com/api/docs/changelog"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Changelog

- Capability: `developer-docs/changelog`
- Description: Dated OpenAI API changelog entries from https://developers.openai.com/api/docs/changelog.md, newest first: date (YYYY-MM-DD), kind (Feature, Update, Fix, Announcement), the models and API routes each entry tags, and the entry's Markdown. Filter by since/until date and exact model tag.
- Instructions: To see what changed in the OpenAI API recently, or when a model or feature was released.
- Cost: 5 credits per call
- Capability file: [Changelog](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/changelog)

Accepted options:
- `limit` (number): Maximum entries (default 20). Example: `10`
- `model` (string): Only entries tagged with this model ID, e.g. gpt-6.1-sol. Example: `<model>`
- `since` (string): Only entries on or after this date (YYYY-MM-DD). Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<since>`
- `until` (string): Only entries on or before this date. Pattern: ^\d{4}-\d{2}-\d{2}$. Example: `<until>`

Response schema example:
```json
{
  "count": 3,
  "entries": [
    {
      "apis": [
        "v1/audio/voices",
        "v1/live/sessions"
      ],
      "content": "Released [prompt-to-voice](https://developers.openai.com/api/docs/guides/custom-voices#create-a-voice-from-a-description) for all API customers. Create a custom voice from a text description through the API or voice Playground, then reuse it in GPT-Live sessions. Creating a prompt-generated voice is free; speech generation uses regular GPT-Live session billing.\n\nAdded nine [natural voices for GPT-Live](https://developers.openai.com/api/docs/guides/live-conversations#voice-options): Nuri, Juni, and Flitz (German); Brise and Sillage (French); Nira (Hindi); Harema and Shida (Japanese); and Noeul (Korean).",
      "date": "2026-10-16",
      "kind": "Feature",
      "models": [
        "gpt-live-1"
      ]
    },
    {
      "apis": [
        "v1/live/sessions"
      ],
      "content": "Added native [Decisions integration in GPT-Live](https://developers.openai.com/api/docs/guides/decisions-voice). Your app can act while your user is speaking or react to what Live says. Let Live call Decisions directly through native delegation, or trigger decisions as input or output transcript deltas arrive.",
      "date": "2026-10-15",
      "kind": "Feature",
      "models": [
        "gpt-live-1",
        "gpt-6-luna"
      ]
    },
    {
      "apis": [
        "v1/responses"
      ],
      "content": "Added [Ultrafast mode](https://developers.openai.com/api/docs/guides/ultrafast-mode) for [GPT-6.1 Sol](https://developers.openai.com/api/docs/models/gpt-6.1-sol) in the Responses API. Use `gpt-6.1-sol` with `service_tier: \"ultrafast\"` to reduce the time between generated output tokens. It is available to all API users, subject to rate limits, with global processing and US and EU data residency. See [Ultrafast pricing](https://developers.openai.com/api/docs/pricing?latest-pricing=ultrafast).",
      "date": "2026-10-08",
      "kind": "Feature",
      "models": [
        "gpt-6.1-sol"
      ]
    }
  ],
  "latest_date": "2026-10-16",
  "matched": 181,
  "observed_at_ms": 1792516181139,
  "source_url": "https://developers.openai.com/api/docs/changelog"
}
```

### Get api endpoint

- Capability: `developer-docs/get_api_endpoint`
- Description: One OpenAI API endpoint from the official API reference: summary, description, path/query/header/body parameters (name, type, required, nullable, description) and the response object's fields, plus request/response examples when include_examples is set. Takes a method and path (POST /v1/responses, GET /v1/models/{model} or a concrete path like GET /v1/models/gpt-5) checked against list_api_endpoints on OpenAI's docs MCP server, then reads the reference method page's Markdown twin; or a developers.openai.com/api/reference/.../methods/... URL directly. Paths the API does not have are not_found.
- Instructions: To look up the parameters and response schema of an OpenAI API endpoint.
- Cost: 5 credits per call
- Capability file: [Get api endpoint](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_api_endpoint)

Accepted options:
- `endpoint` (string): HTTP method and API path, e.g. POST /v1/responses, GET /v1/models/{model}, DELETE https://api.openai.com/v1/files/{file_id}. Example: `<endpoint>`
- `include_examples` (boolean): Include request and response examples (each capped at 4000 characters). Default false. Example: `false`
- `url` (string): Alternatively an API reference method page URL, e.g. https://developers.openai.com/api/reference/resources/responses/methods/create. Pattern: ^https?://. Example: `<url>`

Response schema example:
```json
{
  "api_url": "https://api.openai.com/v1/models",
  "description": "Lists the currently available models, and provides basic information about each one such as the owner and availability.",
  "endpoint": "GET /v1/models",
  "example_count": 2,
  "examples": null,
  "markdown_url": "https://developers.openai.com/api/reference/resources/models/methods/list.md",
  "method": "GET",
  "observed_at_ms": 1792516181145,
  "parameters": [],
  "path": "/models",
  "reference_url": "https://developers.openai.com/api/reference/resources/models/methods/list",
  "returns": {
    "description": null,
    "fields": [
      {
        "description": "The model identifier, which can be referenced in the API endpoints.",
        "name": "id",
        "nullable": false,
        "required": true,
        "type": "string"
      },
      {
        "description": "The Unix timestamp (in seconds) when the model was created.",
        "name": "created",
        "nullable": false,
        "required": true,
        "type": "number"
      },
      {
        "description": "The object type, which is always \"model\".",
        "name": "object",
        "nullable": false,
        "required": true,
        "type": "\"model\""
      },
      {
        "description": "The organization that owns the model.",
        "name": "owned_by",
        "nullable": false,
        "required": true,
        "type": "string"
      },
      {
        "description": "The date when the model will shut down, or null if not announced.",
        "name": "shutdown_date",
        "nullable": true,
        "required": false,
        "type": "string or null"
      }
    ],
    "type": "data: array of Model"
  },
  "title": "List models"
}
```

### Get model

- Capability: `developer-docs/get_model`
- Description: One OpenAI model page (https://developers.openai.com/api/docs/models/{id}.md): context window, max input and output tokens, knowledge cutoff, modalities, reasoning token support, token pricing per 1M (input, cached input, cache writes, output) plus every pricing table and note, endpoint support (Responses, Chat Completions, Batch, Realtime and more), supported features and tools, snapshots and per-tier rate limits. Values the page does not state are null. Unknown model IDs are not_found.
- Instructions: To check a model's context window, price, cutoff, endpoints or rate limits from OpenAI's own docs.
- Cost: 5 credits per call
- Capability file: [Get model](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_model)

Accepted options:
- `model` (string): Model ID as listed by list_models, e.g. gpt-6-astra, gpt-5, text-embedding-3-small. Pattern: ^[A-Za-z0-9][A-Za-z0-9._-]*$. Example: `<model>`
- `url` (string): Alternatively a model page URL on developers.openai.com or platform.openai.com. Pattern: ^https?://. Example: `<url>`

Response schema example:
```json
{
  "context_window": 1050000,
  "default_snapshot": "gpt-6-astra",
  "description": "Our most capable model for the most demanding work.",
  "details": [
    "Default snapshot: gpt-6-astra",
    "Input modalities: text, image",
    "Output modalities: text",
    "1,050,000 context window",
    "Maximum input tokens: 922,000",
    "128,000 max output tokens",
    "Apr 30, 2026 knowledge cutoff",
    "Reasoning token support"
  ],
  "endpoints": [
    {
      "name": "Live",
      "route": "v1/live/sessions",
      "supported": false
    },
    {
      "name": "Chat Completions",
      "route": "v1/chat/completions",
      "supported": true
    },
    {
      "name": "Responses",
      "route": "v1/responses",
      "supported": true
    },
    {
      "name": "Realtime",
      "route": "v1/realtime",
      "supported": false
    },
    {
      "name": "Realtime translation",
      "route": "v1/realtime/translations",
      "supported": false
    },
    {
      "name": "Realtime transcription",
      "route": "v1/realtime/transcription_sessions",
      "supported": false
    },
    {
      "name": "Assistants",
      "route": "v1/assistants",
      "supported": false
    },
    {
      "name": "Batch",
      "route": "v1/batch",
      "supported": true
    },
    {
      "name": "Fine-tuning",
      "route": "v1/fine-tuning",
      "supported": false
    },
    {
      "name": "Embeddings",
      "route": "v1/embeddings",
      "supported": false
    },
    {
      "name": "Image generation",
      "route": "v1/images/generations",
      "supported": false
    },
    {
      "name": "Videos",
      "route": "v1/videos",
      "supported": false
    },
    {
      "name": "Image edit",
      "route": "v1/images/edits",
      "supported": false
    },
    {
      "name": "Speech generation",
      "route": "v1/audio/speech",
      "supported": false
    },
    {
      "name": "Transcription",
      "route": "v1/audio/transcriptions",
      "supported": false
    },
    {
      "name": "Translation",
      "route": "v1/audio/translations",
      "supported": false
    },
    {
      "name": "Moderation",
      "route": "v1/moderations",
      "supported": false
    },
    {
      "name": "Completions (legacy)",
      "route": "v1/completions",
      "supported": false
    }
  ],
  "features": [
    "streaming",
    "structured_outputs",
    "function_calling",
    "file_search",
    "image_input",
    "web_search",
    "prompt_caching"
  ],
  "id": "gpt-6-astra",
  "input_modalities": [
    "text",
    "image"
  ],
  "knowledge_cutoff": "Apr 30, 2026",
  "knowledge_cutoff_date": "2026-04-30",
  "markdown_url": "https://developers.openai.com/api/docs/models/gpt-6-astra.md",
  "max_input_tokens": 922000,
  "max_output_tokens": 128000,
  "name": "GPT-6 Astra",
  "observed_at_ms": 1792516181100,
  "output_modalities": [
    "text"
  ],
  "overview": "GPT-6 Astra is our most capable model for the most demanding work.\nUse it for complex reasoning, coding, computer use, research, and document creation.\n`reasoning.effort` supports `low`, `medium`, `high`, `xhigh`, and `max`.\nGet started with GPT-6 Astra using the [model guide](/api/docs/guides/latest-model?model=gpt-6-astra).",
  "price_per_1m_tokens": {
    "cache_writes": 12.5,
    "cached_input": 1,
    "group": "Text tokens",
    "input": 10,
    "output": 50
  },
  "pricing": [
    {
      "group": "Text tokens",
      "rows": [
        {
          "metric": "Input",
          "price": "$10",
          "unit": "1M tokens",
          "usd": 10
        },
        {
          "metric": "Cached input",
          "price": "$1",
          "unit": "1M tokens",
          "usd": 1
        },
        {
          "metric": "Cache writes",
          "price": "$12.5",
          "unit": "1M tokens",
          "usd": 12.5
        },
        {
          "metric": "Output",
          "price": "$50",
          "unit": "1M tokens",
          "usd": 50
        }
      ]
    }
  ],
  "pricing_notes": [
    "Prompts with more than 272K input tokens are priced at 2x input and cache rates and 1.5x output for the full request.",
    "Cache writes are billed at 1.25x the uncached input token rate.",
    "Batch and Flex are priced at 50% of Standard rates. Fast mode is priced at 2x the applicable rates."
  ],
  "rate_limits": [
    {
      "name": "Standard",
      "rows": [
        {
          "limits": [
            {
              "metric": "RPM",
              "raw": "5,000",
              "value": 5000
            },
            {
              "metric": "TPM",
              "raw": "1,000,000",
              "value": 1000000
            },
            {
              "metric": "Batch queue limit",
              "raw": "3,000,000",
              "value": 3000000
            }
          ],
          "tier": "Build"
        },
        {
          "limits": [
            {
              "metric": "RPM",
              "raw": "10,000",
              "value": 10000
            },
            {
              "metric": "TPM",
              "raw": "4,000,000",
              "value": 4000000
            },
            {
              "metric": "Batch queue limit",
              "raw": "200,000,000",
              "value": 200000000
            }
          ],
          "tier": "Launch"
        },
        {
          "limits": [
            {
              "metric": "RPM",
              "raw": "15,000",
              "value": 15000
            },
            {
              "metric": "TPM",
              "raw": "40,000,000",
              "value": 40000000
            },
            {
              "metric": "Batch queue limit",
              "raw": "15,000,000,000",
              "value": 15000000000
            }
          ],
          "tier": "Grow"
        }
      ]
    }
  ],
  "reasoning_tokens": true,
  "snapshots": [
    "gpt-6-astra"
  ],
  "tools": [
    "web_search",
    "file_search",
    "image_generation",
    "code_interpreter",
    "hosted_shell",
    "apply_patch",
    "skills",
    "computer_use",
    "mcp",
    "tool_search"
  ],
  "url": "https://developers.openai.com/api/docs/models/gpt-6-astra"
}
```

### Get page

- Capability: `developer-docs/get_page`
- Description: One OpenAI developer docs page as clean Markdown (the site's .md twin, e.g. https://developers.openai.com/api/docs/guides/text.md) with title, description, an outline of every heading (level, text, anchor) and optional section reads: section (heading text or anchor, case-insensitive) returns only that heading's subtree. Accepts a site path (api/docs/guides/text, api/reference/resources/responses, cookbook/..., llms.txt) or a developers.openai.com or legacy platform.openai.com/docs URL; a #anchor in the URL selects that section. Content is truncated at max_chars (default 40000). Unknown pages and unknown sections are not_found.
- Instructions: To read or quote an official OpenAI guide, reference or cookbook page, or just one section of it.
- Cost: 5 credits per call
- Capability file: [Get page](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/get_page)

Accepted options:
- `max_chars` (number): Truncate content to this many characters (default 40000). Example: `200`
- `path` (string): Site path with or without leading slash, .md suffix or #anchor, e.g. api/docs/guides/text, api/docs/models/gpt-6-astra, llms.txt. A platform-style docs/... path maps to api/docs/.... Example: `<path>`
- `section` (string): Heading text or anchor; returns that heading and everything under it. Example: `<section>`
- `url` (string): Alternatively a page URL on developers.openai.com or platform.openai.com/docs (redirects to developers.openai.com/api/docs). Pattern: ^https?://. Example: `<url>`

Response schema example:
```json
{
  "chars": 10471,
  "content": "## Message roles and instruction following\n\nYou can provide instructions to the model with [differing levels of authority](https://model-spec.openai.com/2025-02-12.html#chain_of_command) using the `instructions` API parameter along with **message roles**.\n\nThe `instructions` parameter gives the model high-level instructions on how it should behave while generating a response, including tone, goals, and examples of correct responses. Any instructions provided this way will take priority over a prompt in the `input` parameter.\n\nGenerate text with instructions\n\n```javascript\nimport OpenAI from \"openai\";\nconst client = new OpenAI();\n\nconst response = await client.responses.create({\n  model: \"gpt-6-astra\",\n  reasoning: { effort: \"low\" },\n  instructions: \"Talk like a pirate.\",\n  input: \"Are semicolons optional in JavaScript?\",\n});\n\nconsole.log(response.output_text);\n```\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI()\n\nresponse = client.responses.create(\n    model=\"gpt-6-astra\",\n    reasoning={\"effort\": \"low\"},\n    instructions=\"Talk like a pirate.\",\n    input=\"Are semicolons optional in JavaScript?\",\n)\n\nprint(response.output_text)\n```\n\n```go\npackage main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/openai/openai-go/v3\"\n\t\"github.com/openai/openai-go/v3/responses\"\n)\n\nfunc main() {\n\tclient := openai.NewClient()\n\n\tresponse, err := client.Responses.New(context.Background(), responses.ResponseNewParams{\n\t\tModel:        \"gpt-6-astra\",\n\t\tInstructions: openai.String(\"Talk like a pirate",
  "description": null,
  "markdown_url": "https://developers.openai.com/api/docs/guides/text.md",
  "observed_at_ms": 1792516181096,
  "outline": [
    {
      "anchor": "text-generation",
      "level": 1,
      "text": "Text generation"
    },
    {
      "anchor": "prompt-engineering",
      "level": 2,
      "text": "Prompt engineering"
    },
    {
      "anchor": "choosing-models-and-apis",
      "level": 2,
      "text": "Choosing models and APIs"
    },
    {
      "anchor": "message-roles-and-instruction-following",
      "level": 2,
      "text": "Message roles and instruction following"
    },
    {
      "anchor": "version-prompts-in-code",
      "level": 2,
      "text": "Version prompts in code"
    },
    {
      "anchor": "next-steps",
      "level": 2,
      "text": "Next steps"
    }
  ],
  "path": "api/docs/guides/text",
  "section": {
    "anchor": "message-roles-and-instruction-following",
    "level": 2,
    "text": "Message roles and instruction following"
  },
  "title": "Text generation",
  "truncated": true,
  "url": "https://developers.openai.com/api/docs/guides/text"
}
```

### List models

- Capability: `developer-docs/list_models`
- Description: The OpenAI API model catalog from https://developers.openai.com/api/docs/models.md: one record per model with ID, display name, the catalog's one-line description, model page URL and whether it is featured (the page's recommended starting points). Optional substring filter q over id, name and description; featured_only.
- Instructions: To see which OpenAI models exist, find a model ID, or pick a recommended model before calling get_model.
- Cost: 5 credits per call
- Capability file: [List models](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/list_models)

Accepted options:
- `featured_only` (boolean): Only the featured models. Example: `false`
- `limit` (number): Maximum models returned (default 200). Example: `10`
- `q` (string): Case-insensitive substring of id, name or description, e.g. gpt-6 or embedding. Example: `<q>`

Response schema example:
```json
{
  "count": 4,
  "featured": [
    "gpt-6-astra",
    "gpt-6.1-sol",
    "gpt-6-luna"
  ],
  "matched": 4,
  "models": [
    {
      "description": "Our most capable model for the most demanding work.",
      "featured": true,
      "id": "gpt-6-astra",
      "markdown_url": "https://developers.openai.com/api/docs/models/gpt-6-astra.md",
      "name": "GPT-6 Astra",
      "url": "https://developers.openai.com/api/docs/models/gpt-6-astra"
    },
    {
      "description": "Our most efficient model for focused, high-volume tasks.",
      "featured": true,
      "id": "gpt-6-luna",
      "markdown_url": "https://developers.openai.com/api/docs/models/gpt-6-luna.md",
      "name": "GPT-6 Luna",
      "url": "https://developers.openai.com/api/docs/models/gpt-6-luna"
    },
    {
      "description": "Built to power complex coding and agentic workflows.",
      "featured": false,
      "id": "gpt-6-sol",
      "markdown_url": "https://developers.openai.com/api/docs/models/gpt-6-sol.md",
      "name": "GPT-6 Sol",
      "url": "https://developers.openai.com/api/docs/models/gpt-6-sol"
    },
    {
      "description": "Near-Astra performance for complex work at a lower cost.",
      "featured": true,
      "id": "gpt-6.1-sol",
      "markdown_url": "https://developers.openai.com/api/docs/models/gpt-6.1-sol.md",
      "name": "GPT-6.1 Sol",
      "url": "https://developers.openai.com/api/docs/models/gpt-6.1-sol"
    }
  ],
  "observed_at_ms": 1792516181098,
  "source_url": "https://developers.openai.com/api/docs/models",
  "total": 102
}
```

### Model deprecations

- Capability: `developer-docs/model_deprecations`
- Description: Model and endpoint deprecations from https://developers.openai.com/api/docs/deprecations.md: one row per shutdown-table line with status (upcoming or past), announcement date and notice title, shutdown date (YYYY-MM-DD and as written), the deprecated model or system with its IDs, the recommended replacement with its IDs, and the legacy price where the table lists one. Newest announcements first. Filter by model (substring, or exact ID) and status.
- Instructions: To check whether an OpenAI model or endpoint is deprecated, when it shuts down and what replaces it.
- Cost: 5 credits per call
- Capability file: [Model deprecations](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/model_deprecations)

Accepted options:
- `limit` (number): Maximum rows (default 100). Example: `10`
- `model` (string): Model ID or name fragment, e.g. gpt-4o-mini or whisper-1. Example: `<model>`
- `status` (string): Default all. Example: `all`

Response schema example:
```json
{
  "count": 1,
  "deprecations": [
    {
      "anchor": "2023-07-06-gpt-and-embeddings",
      "announced_on": "2023-07-06",
      "group": "InstructGPT models",
      "model": "text-davinci-003",
      "model_ids": [
        "text-davinci-003"
      ],
      "notice": "GPT and embeddings",
      "price": "$20.00 / 1M tokens",
      "replacement": "gpt-3.5-turbo-instruct",
      "replacement_ids": [
        "gpt-3.5-turbo-instruct"
      ],
      "shutdown_date": "2024-01-04",
      "shutdown_date_raw": "2024-01-04",
      "status": "past",
      "url": "https://developers.openai.com/api/docs/deprecations#2023-07-06-gpt-and-embeddings"
    }
  ],
  "matched": 1,
  "observed_at_ms": 1792516181132,
  "source_url": "https://developers.openai.com/api/docs/deprecations",
  "total_rows": 156
}
```

### Model pricing

- Capability: `developer-docs/model_pricing`
- Description: Per-model API pricing rows from https://developers.openai.com/api/docs/pricing.md: every pricing table with a Model column (flagship models per processing tier Standard, Batch, Flex, Fast and Ultrafast; cyber, life sciences, realtime and audio, image generation, transcription, specialized and fine-tuning models). Each row has the section, tier, modality, numeric USD per 1M tokens (input, cached input, cache writes, output, long-context variants, training) and the raw cells. Filter by exact model ID, tier or section substring.
- Instructions: To compare OpenAI model prices or get the official per-token price of a model in a given processing tier.
- Cost: 5 credits per call
- Capability file: [Model pricing](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/model_pricing)

Accepted options:
- `category` (string): Substring of the pricing section, e.g. Image generation, Finetuning, Specialized. Example: `<category>`
- `limit` (number): Maximum rows (default 100). Example: `10`
- `model` (string): Exact model ID (case-insensitive), e.g. gpt-6-astra. Example: `<model>`
- `tier` (string): Processing tier. Example: `Standard`

Response schema example:
```json
{
  "count": 5,
  "matched": 5,
  "observed_at_ms": 1792516181113,
  "rows": [
    {
      "cache_writes": 12.5,
      "cached_input": 1,
      "category": "Flagship models",
      "cells": [
        {
          "column": "Short context input",
          "value": "$10.00"
        },
        {
          "column": "Short context cached input",
          "value": "$1.00"
        },
        {
          "column": "Short context cache writes",
          "value": "$12.50"
        },
        {
          "column": "Short context output",
          "value": "$50.00"
        },
        {
          "column": "Long context input",
          "value": "$20.00"
        },
        {
          "column": "Long context cached input",
          "value": "$2.00"
        },
        {
          "column": "Long context cache writes",
          "value": "$25.00"
        },
        {
          "column": "Long context output",
          "value": "$75.00"
        }
      ],
      "input": 10,
      "long_context_cache_writes": 25,
      "long_context_cached_input": 2,
      "long_context_input": 20,
      "long_context_output": 75,
      "modality": null,
      "model": "gpt-6-astra",
      "note": null,
      "output": 50,
      "tier": "Standard",
      "training": null
    },
    {
      "cache_writes": 6.25,
      "cached_input": 0.5,
      "category": "Flagship models",
      "cells": [
        {
          "column": "Short context input",
          "value": "$5.00"
        },
        {
          "column": "Short context cached input",
          "value": "$0.50"
        },
        {
          "column": "Short context cache writes",
          "value": "$6.25"
        },
        {
          "column": "Short context output",
          "value": "$25.00"
        },
        {
          "column": "Long context input",
          "value": "$10.00"
        },
        {
          "column": "Long context cached input",
          "value": "$1.00"
        },
        {
          "column": "Long context cache writes",
          "value": "$12.50"
        },
        {
          "column": "Long context output",
          "value": "$37.50"
        }
      ],
      "input": 5,
      "long_context_cache_writes": 12.5,
      "long_context_cached_input": 1,
      "long_context_input": 10,
      "long_context_output": 37.5,
      "modality": null,
      "model": "gpt-6-astra",
      "note": null,
      "output": 25,
      "tier": "Batch",
      "training": null
    },
    {
      "cache_writes": 6.25,
      "cached_input": 0.5,
      "category": "Flagship models",
      "cells": [
        {
          "column": "Short context input",
          "value": "$5.00"
        },
        {
          "column": "Short context cached input",
          "value": "$0.50"
        },
        {
          "column": "Short context cache writes",
          "value": "$6.25"
        },
        {
          "column": "Short context output",
          "value": "$25.00"
        },
        {
          "column": "Long context input",
          "value": "$10.00"
        },
        {
          "column": "Long context cached input",
          "value": "$1.00"
        },
        {
          "column": "Long context cache writes",
          "value": "$12.50"
        },
        {
          "column": "Long context output",
          "value": "$37.50"
        }
      ],
      "input": 5,
      "long_context_cache_writes": 12.5,
      "long_context_cached_input": 1,
      "long_context_input": 10,
      "long_context_output": 37.5,
      "modality": null,
      "model": "gpt-6-astra",
      "note": null,
      "output": 25,
      "tier": "Flex",
      "training": null
    },
    {
      "cache_writes": 25,
      "cached_input": 2,
      "category": "Flagship models",
      "cells": [
        {
          "column": "Short context input",
          "value": "$20.00"
        },
        {
          "column": "Short context cached input",
          "value": "$2.00"
        },
        {
          "column": "Short context cache writes",
          "value": "$25.00"
        },
        {
          "column": "Short context output",
          "value": "$100.00"
        },
        {
          "column": "Long context input",
          "value": "$40.00"
        },
        {
          "column": "Long context cached input",
          "value": "$4.00"
        },
        {
          "column": "Long context cache writes",
          "value": "$50.00"
        },
        {
          "column": "Long context output",
          "value": "$150.00"
        }
      ],
      "input": 20,
      "long_context_cache_writes": 50,
      "long_context_cached_input": 4,
      "long_context_input": 40,
      "long_context_output": 150,
      "modality": null,
      "model": "gpt-6-astra",
      "note": null,
      "output": 100,
      "tier": "Fast",
      "training": null
    },
    {
      "cache_writes": 75,
      "cached_input": 6,
      "category": "Flagship models",
      "cells": [
        {
          "column": "Short context input",
          "value": "$60.00"
        },
        {
          "column": "Short context cached input",
          "value": "$6.00"
        },
        {
          "column": "Short context cache writes",
          "value": "$75.00"
        },
        {
          "column": "Short context output",
          "value": "$300.00"
        },
        {
          "column": "Long context input",
          "value": "$120.00"
        },
        {
          "column": "Long context cached input",
          "value": "$12.00"
        },
        {
          "column": "Long context cache writes",
          "value": "$150.00"
        },
        {
          "column": "Long context output",
          "value": "$450.00"
        }
      ],
      "input": 60,
      "long_context_cache_writes": 150,
      "long_context_cached_input": 12,
      "long_context_input": 120,
      "long_context_output": 450,
      "modality": null,
      "model": "gpt-6-astra",
      "note": null,
      "output": 300,
      "tier": "Ultrafast",
      "training": null
    }
  ],
  "source_url": "https://developers.openai.com/api/docs/pricing",
  "total_rows": 220,
  "unit": "USD per 1M tokens unless a cell states another unit"
}
```

### Search docs

- Capability: `developer-docs/search_docs`
- Description: Search the official OpenAI developer docs through OpenAI's public docs MCP server (search_openai_docs on https://developers.openai.com/mcp). Returns hits in the server's ranking order with title (page and heading hierarchy), URL, anchor and snippet. By default only developers.openai.com and platform.openai.com hits are kept (site api); site all also keeps learn.chatgpt.com (ChatGPT and Codex docs). Pages continue with next_cursor.
- Instructions: To find which OpenAI docs page or section answers a question before reading it with get_page.
- Cost: 5 credits per call
- Capability file: [Search docs](https://firecrawl.dev/alexandria/agents/providers/developers-openai-com/developer-docs/search_docs)

Accepted options:
- `cursor` (string): next_cursor from a previous call with the same query and limit. Example: `<cursor>`
- `limit` (number): Hits requested from the server (default 10). Filtering by site can return fewer. Example: `10`
- `query` (string, required): Search text, e.g. structured outputs or prompt caching. Example: `<query>`
- `site` (string): api (default): developers.openai.com and platform.openai.com hits; all: every host the server indexes. Example: `api`

Response schema example:
```json
{
  "count": 4,
  "next_cursor": "eyJwYWdlIjoxLCJvZmZzZXRzIjpbMF0sImhpdHNQZXJJbmRleCI6NX0=",
  "observed_at_ms": 1792516181096,
  "page": 0,
  "query": "structured outputs",
  "results": [
    {
      "anchor": null,
      "host": "developers.openai.com",
      "page_url": "https://developers.openai.com/api/docs/guides/structured-outputs",
      "rank": 1,
      "snippet": null,
      "title": "Structured model outputs | OpenAI API",
      "type": "lvl1",
      "url": "https://developers.openai.com/api/docs/guides/structured-outputs"
    },
    {
      "anchor": "define-structured-outputs",
      "host": "developers.openai.com",
      "page_url": "https://developers.openai.com/cookbook/examples/codex/build_iterative_repair_loops_with_codex",
      "rank": 2,
      "snippet": null,
      "title": "Build iterative repair loops with Codex > Define structured outputs",
      "type": "lvl2",
      "url": "https://developers.openai.com/cookbook/examples/codex/build_iterative_repair_loops_with_codex#define-structured-outputs"
    },
    {
      "anchor": "use-structured-outputs-to-constrain-data-flow",
      "host": "developers.openai.com",
      "page_url": "https://developers.openai.com/api/docs/guides/agent-builder-safety",
      "rank": 4,
      "snippet": null,
      "title": "Safety in building agents > Use structured outputs to constrain data flow",
      "type": "lvl2",
      "url": "https://developers.openai.com/api/docs/guides/agent-builder-safety#use-structured-outputs-to-constrain-data-flow"
    },
    {
      "anchor": "step-1-define-the-structured-output-schema",
      "host": "developers.openai.com",
      "page_url": "https://developers.openai.com/cookbook/examples/audio/speaker_aware_meeting_intelligence/speaker_aware_meeting_intelligence",
      "rank": 5,
      "snippet": null,
      "title": "Build a Speaker-Aware Meeting Intelligence Pipeline with Audio Diarization > Step 1: Define the structured output schema",
      "type": "lvl2",
      "url": "https://developers.openai.com/cookbook/examples/audio/speaker_aware_meeting_intelligence/speaker_aware_meeting_intelligence#step-1-define-the-structured-output-schema"
    }
  ],
  "site": "api",
  "skipped": 1,
  "total_hits": 120
}
```
