firecrawl-map · diff
git:20260818.5f94d6f to git:20260820.bed74cb
3 added, 16 removed. Audit A to A.
---
name: firecrawl-map
description: |
- Discover and list all URLs on a website, with optional search filtering. Use this skill when the user wants to find a specific page on a large site, list all URLs, see the site structure, find where something is on a domain, or says "map the site", "find the URL for", "what pages are on", or "list all pages". Essential when the user knows which site but not which exact page.
+ Discover and list a site's URLs, with search filtering. Use for "map the site" or "find the URL for" requests — when the user knows the site but not the exact page, or wants site structure.
allowed-tools:
- Bash(firecrawl *)
- Bash(npx firecrawl-cli *)
---
# firecrawl map
Discover URLs on a site. Use `--search` to find a specific page within a large site.
**Prerequisite:** `map` requires authentication (no keyless free tier); without credentials the CLI prompts an interactive login.
- ## When to use
-
- - You need to find a specific subpage on a large site
- - You want a list of all URLs on a site before scraping or crawling
- - Step 3 in the [workflow escalation pattern](../firecrawl/SKILL.md): search → scrape → **map** + scrape → crawl → monitor → interact
-
## Quick start
```bash
# Find a specific page on a large site
firecrawl map "<url>" --search "authentication" -o .firecrawl/filtered.txt
# Get all URLs
firecrawl map "<url>" --limit 500 --json -o .firecrawl/urls.json
```
- ## Options
+ Run `firecrawl map --help` for the full option list (sitemap handling, subdomains, etc.).
- | Option | Description |
- | --------------------------------- | ---------------------------- |
- | `--limit <n>` | Max number of URLs to return |
- | `--search <query>` | Filter URLs by search query |
- | `--sitemap <include\|skip\|only>` | Sitemap handling strategy |
- | `--include-subdomains` | Include subdomain URLs |
- | `--json` | Output as JSON |
- | `-o, --output <path>` | Output file path |
+ **Done when:** the URL list is saved under `.firecrawl/` and you have selected the URLs to scrape or crawl next.
## Tips
- **Map + scrape is a common pattern**: use `map --search` to find the right URL, then `scrape` it.
- Example: `map https://docs.example.com --search "auth"` → found `/docs/api/authentication` → `scrape` that URL.
## See also
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — scrape the URLs you discover
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extract instead of map + scrape
- [firecrawl-download](../firecrawl-download/SKILL.md) — download entire site (uses map internally)