# POST /extract (Firecrawl API)
Base URL: https://api.firecrawl.dev/v1
Auth: Authorization: Bearer <FIRECRAWL_API_KEY>
Last verified: 2026-09-03

> Extract structured data from pages using LLMs

## Critical Gotchas
* The `formats` field controls the output shape and defaults to `["markdown"]`. Omitting it does not return HTML — request `["markdown","html"]` explicitly.
* `/crawl` is asynchronous: it returns a job `id`, and results are collected by polling `/crawl/{id}` until `status` is `completed`.

## 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":"string"}'

## 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... |

## Response (200 OK)
{"success":true,"id":"string","invalidURLs":["string"]}

---
Need an API key? Get one at https://www.firecrawl.dev/signin/signup