apicheats.dev firecrawl/llms.txt Raw .md
POST

POST /extract — Firecrawl API

Firecrawl API

Extract structured data from pages using LLMs

Extract structured data from URLs. See the extract operation.

Base URL
https://api.firecrawl.dev/v1
Auth
Authorization: Bearer <FIRECRAWL_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 224 tokens · Vary: Accept

Critical gotchas

The formats field lives under scrapeOptions.formats, not at the top level, and defaults to ["markdown"] when scrapeOptions is omitted. Set scrapeOptions.formats explicitly (e.g. ["markdown","html"]) to get HTML in results.

POST /extract is asynchronous and returns a job id immediately. Poll GET /extract/{id} until status leaves processing — it becomes completed (result in data), failed, or cancelled. Fetch data before expiresAt: completed results expire.

cURL

curl -X POST 'https://api.firecrawl.dev/v1/extract' \  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "urls": [    "https://example.com"  ],  "prompt": "example-prompt",  "schema": {},  "enableWebSearch": false,  "ignoreSitemap": false,  "includeSubdomains": true,  "showSources": false,  "scrapeOptions": {    "formats": [      "markdown"    ],    "onlyMainContent": true,    "includeTags": [      "example-includeTags"    ],    "excludeTags": [      "example-excludeTags"    ],    "maxAge": 0,    "headers": {},    "waitFor": 0,    "mobile": false,    "skipTlsVerification": false,    "timeout": 30000,    "parsePDF": true,    "jsonOptions": {      "schema": {},      "systemPrompt": "example-systemPrompt",      "prompt": "example-prompt"    },    "actions": [      {        "type": "wait",        "milliseconds": 0,        "selector": "#my-element"      }    ],    "location": {      "country": "US",      "languages": [        "en-US"      ]    },    "removeBase64Images": true,    "blockAds": true,    "proxy": "basic",    "changeTrackingOptions": {      "modes": [        "git-diff"      ],      "schema": {},      "prompt": "example-prompt",      "tag": null    },    "storeInCache": true  },  "ignoreInvalidURLs": false}'

Parameters

Name In Type Required Description
urls body string[] Yes Request body field urls.
prompt body string No Prompt to guide the extraction process
schema body object No Schema to define the structure of the extracted data. Must conform to [JSON Schema](https://json-schema.org/).
enableWebSearch body boolean No When true, the extraction will use web search to find additional data
ignoreSitemap body boolean No When true, sitemap.xml files will be ignored during website scanning
includeSubdomains body boolean No When true, subdomains of the provided URLs will also be scanned
showSources body boolean No When true, the sources used to extract the data will be included in the response as `sources` key
scrapeOptions body object No Request body field scrapeOptions.
ignoreInvalidURLs body boolean No If invalid URLs are specified in the urls array, they will be ignored. Instead of them failing the entire request, an extract using the remaining valid URLs will be performed, and the invalid URLs will be returned in the invalidURLs field of the response.

Response 200 OK

{
  "success": true,
  "id": "string"
}
Get a free Firecrawl API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.