POST
/map
Firecrawl APIMap multiple URLs based on options
- Base URL
- https://api.firecrawl.dev/v1
- Auth
- Authorization: Bearer <FIRECRAWL_API_KEY>
- Last verified
- 2026-09-03 · upstream hash matched
Actions
Agents: curl -H "Accept: text/markdown" this URL
→ 225 tokens · Vary: Accept
→ 225 tokens · Vary: Accept
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/map' \ -H "Authorization: Bearer $FIRECRAWL_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "url": "https://example.com", "search": "string", "ignoreSitemap": true, "sitemapOnly": false, "includeSubdomains": true, "limit": 5000, "timeout": 0}'Get a free Firecrawl API key → sponsored
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| url | body | string | Yes | The base URL to start crawling from |
| search | body | string | No | Search query to use for mapping. During the Alpha phase, the 'smart' part of the search functionality is limited to 1000 search results. However, if map finds more results, there is no limit applied. |
| ignoreSitemap | body | boolean | No | Ignore the website sitemap when crawling. |
| sitemapOnly | body | boolean | No | Only return links found in the website sitemap |
| includeSubdomains | body | boolean | No | Include subdomains of the website |
| limit | body | integer | No | Maximum number of links to return |
| timeout | body | integer | No | Timeout in milliseconds. There is no timeout by default. |
Response 200 OK
{
"success": true,
"id": "00000000-0000-4000-8000-000000000000",
"links": [
"string"
]
}