Skip to content

Map

Core Feature

Discover all URLs on a website instantly. Fastest way to understand site structure.

Overview

Map analyzes a website and returns all discoverable URLs. Uses sitemap, SERP results, and cached crawl data. Prioritizes speed — 1 credit per call regardless of how many URLs are returned.

Basic Usage

python
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

result = firecrawl.map(url="https://firecrawl.dev", limit=50, sitemap="include")
print(f"Found {len(result.links)} URLs")
javascript
const result = await firecrawl.map("https://firecrawl.dev", {
  limit: 50,
  sitemap: "include",
});

Response Format

json
{
  "success": true,
  "links": [
    {
      "url": "https://docs.firecrawl.dev/features/scrape",
      "title": "Scrape | Firecrawl",
      "description": "Turn any url into clean data"
    }
  ]
}

INFO

title and description are not always present — depends on the source data available.

Search Filter

Return only URLs matching a keyword, ordered by relevance:

python
result = firecrawl.map(
    url="https://firecrawl.dev",
    search="docs"
)
# Returns URLs ordered from most to least relevant to "docs"
bash
curl -X POST https://api.firecrawl.dev/v2/map \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://firecrawl.dev", "search": "docs"}'

Parameters

ParameterTypeDefaultDescription
urlstringrequiredBase URL to map
searchstringnoneKeyword filter (results ranked by relevance)
sitemapstring"include""include", "skip", or "only"
includeSubdomainsbooleanfalseInclude subdomain URLs
limitnumberMax URLs to return
ignoreQueryParametersbooleanfalseTreat URLs with different query params as same page
locationobject{country, languages} for geo-targeted results

Use Cases

Plan Crawls

python
result = firecrawl.map("https://example.com")
limit = len(result.links)
print(f"Site has {limit} pages — crawl will cost {limit} credits")

crawl_result = firecrawl.crawl("https://example.com", limit=limit)

Understand Site Structure

python
result = firecrawl.map("https://example.com", limit=500)

blog_urls = [l for l in result.links if '/blog/' in l.url]
product_urls = [l for l in result.links if '/products/' in l.url]

print(f"Blog posts: {len(blog_urls)}")
print(f"Products: {len(product_urls)}")

Find Specific Pages

python
result = firecrawl.map("https://example.com", search="pricing")
print(f"Pricing pages: {[l.url for l in result.links]}")

Cost

  • Map: 1 credit per call (regardless of URLs returned)

Next: Crawl →