Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/firecrawl/firecrawl/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/map

Map a website to discover all its URLs. This endpoint returns a list of all URLs found on the website, optionally filtered by a search query.

Authentication

Requires Bearer token authentication. Include your API key in the Authorization header:
Authorization: Bearer fc-YOUR_API_KEY

Request Body

url
string
required
The base URL to start crawling from
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
boolean
default:"true"
Ignore the website sitemap when crawling
sitemapOnly
boolean
default:"false"
Only return links found in the website sitemap
includeSubdomains
boolean
default:"true"
Include subdomains of the website
limit
integer
default:"5000"
Maximum number of links to return. Maximum value is 30000.
timeout
integer
Timeout in milliseconds. There is no timeout by default.

Response

success
boolean
Indicates whether the request was successful
Array of URLs discovered on the website

Examples

Basic Map Request

curl -X POST 'https://api.firecrawl.dev/v1/map' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://firecrawl.dev"}'

Response

{
  "success": true,
  "links": [
    "https://firecrawl.dev",
    "https://firecrawl.dev/pricing",
    "https://firecrawl.dev/blog",
    "https://firecrawl.dev/playground"
  ]
}
Find specific URLs within a site using a search query:
curl -X POST 'https://api.firecrawl.dev/v1/map' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://firecrawl.dev",
    "search": "pricing"
  }'

Error Responses

402
object
Payment Required - Payment required to access this resource
{
  "error": "Payment required to access this resource."
}
429
object
Too Many Requests - Request rate limit exceeded
{
  "error": "Request rate limit exceeded. Please wait and try again later."
}
500
object
Server Error - An unexpected error occurred on the server
{
  "error": "An unexpected error occurred on the server."
}