POST
/
map
Map multiple URLs based on options
curl --request POST \
  --url https://api.firecrawl.dev/v2/map \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "<string>",
  "search": "<string>",
  "sitemap": "include",
  "includeSubdomains": true,
  "ignoreQueryParameters": true,
  "limit": 5000,
  "timeout": 123,
  "location": {
    "country": "US",
    "languages": [
      "en-US"
    ]
  }
}'
{
  "success": true,
  "links": [
    {
      "url": "<string>",
      "title": "<string>",
      "description": "<string>"
    }
  ]
}

What’s New in v2

Better Sitemap Control

Three ways to handle sitemaps:
  • "include" - Use sitemap + find other pages (default)
  • "skip" - Ignore sitemap completely
  • "only" - Only return sitemap URLs
{
  "url": "https://example.com",
  "sitemap": "only"
}

Response format changed

We now return the links in the links array of objects with enhanced metadata.
{
  "url": "https://example.com",
  "links": [
    {
      "url": "https://example.com/page1",
      "title": "Page 1",
      "description": "Page 1 description"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
url
string<uri>
required

The base URL to start crawling from

Specify a search query to order the results by relevance. Example: 'blog' will return URLs that contain the word 'blog' in the URL ordered by relevance.

sitemap
enum<string>
default:include

Sitemap mode when mapping. If you set it to skip, the sitemap won't be used to find URLs. If you set it to only, only URLs that are in the sitemap will be returned. By default (include), the sitemap and other methods will be used together to find URLs.

Available options:
skip,
include,
only
includeSubdomains
boolean
default:true

Include subdomains of the website

ignoreQueryParameters
boolean
default:true

Do not return URLs with query parameters

limit
integer
default:5000

Maximum number of links to return

Required range: x <= 100000
timeout
integer

Timeout in milliseconds. There is no timeout by default.

location
object

Location settings for the request. When specified, this will use an appropriate proxy if available and emulate the corresponding language and timezone settings. Defaults to 'US' if not specified.

Response

Successful response

success
boolean