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
}'
{
  "success": true,
  "links": [
    "<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

Search query to use for mapping. During the Alpha phase, the 'smart' part of the search functionality is limited to 500 search results. However, if map finds more results, there is no limit applied.

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 <= 30000
timeout
integer

Timeout in milliseconds. There is no timeout by default.

Response

Successful response

success
boolean