tavily-map — Claude Code skill: discover site URLs
A skill that has the agent walk a site and hand back the list of addresses, leaving page text alone. Useful when you know the domain but not the page.
npx skills add tavily-ai/skills --skill tavily-map -a claude-codeWhat tavily-map does
The skill is one command: tvly map. It walks a site and returns URLs without pulling page content, so on a large domain it costs less than a full pass. You want the address, not the text.
Filtering is where most of the work happens. --max-depth sets how many levels deep to go (1 to 5, default 1), --limit caps how many URLs come back (default 50), and --max-breadth controls links taken per page (default 20). For selection by meaning there is --instructions; for paths there are regex options --select-paths and --exclude-paths. Domain filters and --json cover the rest, and -o writes the response to a file.
It needs the tvly CLI installed and authenticated. In an unattended agent or CI run, leave login to the user or supply TAVILY_API_KEY, because tvly login opens a browser and waits on a localhost callback. The pattern worth remembering: map to find the page, then tvly extract for the content. Reach for tvly crawl only when you need many pages at once.
What it helps with
- find the authentication page on a large docs site
- list every URL under the blog before extracting a few
- inspect a domain's structure without downloading pages
- drop external links and utility paths with regex filters
- save a site map to JSON and parse it later
Example prompts for the agent
- Find the authentication docs: run `tvly map` with `--instructions "authentication"` and show me the URLs it returns.
- Map the site with `--max-depth 3` and `--limit 200`, but keep only the blog section via `--select-paths "/blog/.*"`.
- Run `tvly map` on the domain and save the response with `-o` so I can read the structure without a second request.
How to install tavily-map
1Skills CLI (Vercel)
npx skills add tavily-ai/skills --skill tavily-map -a claude-code2Manually: put the files in place
~/.claude/skills/tavily-map/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/tavily-map/
1Skills CLI (Vercel)
npx skills add tavily-ai/skills --skill tavily-map -a codex2Manually: put the files in place
.agents/skills/tavily-map/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tavily-ai/skills --skill tavily-map -a cursor2Manually: put the files in place
.cursor/skills/tavily-map/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tavily-ai/skills tavily-map2Manually: put the files in place
.github/skills/tavily-map/SKILL.md1Skills CLI (Vercel)
npx skills add tavily-ai/skills --skill tavily-map -a gemini-cli2Platform CLI
gemini skills install https://github.com/tavily-ai/skills --path skills/tavily-mapManually: put the files in place
.devin/skills/tavily-map/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tavily-ai/skills --skill tavily-map -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set6
The whole set →Similar
Questions about tavily-map
How do I install tavily-map in Claude Code?
Run npx skills add tavily-ai/skills --skill tavily-map -a claude-code. The skill file lands at ~/.claude/skills/tavily-map/SKILL.md.
What does tavily-map do?
It walks a website and returns a list of URLs with no content extraction. The agent gets addresses, not page text.
Does it pull page content?
No, map only discovers URLs. Point tvly extract at the address you picked, and use tvly crawl when you need many pages at once.
Source text
SKILL.md · MIT
--- name: tavily-map description: | Discover and list all URLs on a website without extracting content, via the Tavily CLI. 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", "list all pages", or "site structure". Faster than crawling — returns URLs only. Essential when you know the site but not the exact page. Combine with extract for targeted content retrieval. allowed-tools: Bash(tvly *) --- # tavily map Discover URLs on a website without extracting content. Faster than crawling. ## Before running Map requires authentication. Run the requested command directly when `tvly` is already authenticated; do not add a status check to every invocation. If `tvly` is missing, follow the [tavily-cli setup](../tavily-cli/SKILL.md#setup). If an installed CLI reports an authentication error, use `tvly login` for authentication only, or `tvly init --skip-skills` when guided verification is also useful. Browser-based OAuth is preferred when an interactive user can complete it. `--no-browser` prints the sign-in link instead of opening it, but still waits for a localhost callback. In an unattended agent or CI environment, leave authentication to the user or use a securely provided `TAVILY_API_KEY`. Do not start a second login immediately after guided setup has completed. ## When to use - You need to find a specific subpage on a large site - You want a list of all URLs before deciding what to extract or crawl - Step 3 in the [workflow](../tavily-cli/SKILL.md): search → extract → **map** → crawl → research ## Quick start ```bash # Discover all URLs tvly map "https://docs.example.com" --json # With natural language filtering tvly map "https://docs.example.com" --instructions "Find API docs and guides" --json # Filter by path tvly map "https://example.com" --select-paths "/blog/.*" --limit 500 --json # Deep map tvly map "https://example.com" --max-depth 3 --limit 200 --json ``` ## Options | Option | Description | |--------|-------------| | `--max-depth` | Levels deep (1-5, default: 1) | | `--max-breadth` | Links per page (default: 20) | | `--limit` | Max URLs to discover (default: 50) | | `--instructions` | Natural language guidance for URL filtering | | `--select-paths` | Comma-separated regex patterns to include | | `--exclude-paths` | Comma-separated regex patterns to exclude | | `--select-domains` | Comma-separated regex for domains to include | | `--exclude-domains` | Comma-separated regex for domains to exclude | | `--allow-external / --no-external` | Include external links | | `--timeout` | Max wait (10-150 seconds) | | `-o, --output` | Save the JSON response to a file | | `--json` | Structured JSON output | ## Map + Extract pattern Use `map` to find the right page, then `extract` it. This is often more efficient than crawling an entire site: ```bash # Step 1: Find the authentication docs tvly map "https://docs.example.com" --instructions "authentication" --json # Step 2: Extract the specific page you found tvly extract "https://docs.example.com/api/authentication" --json ``` ## Tips - **Map is URL discovery only** — no content extraction. Use `extract` or `crawl` for content. - **Map + extract beats crawl** when you only need a few specific pages from a large site. - **Use `--instructions`** for semantic filtering when path patterns aren't enough. ## See also - [tavily-extract](../tavily-extract/SKILL.md) — extract content from URLs you discover - [tavily-crawl](../tavily-crawl/SKILL.md) — bulk extract when you need many pages
© tavily-ai · MIT · tavily-ai/skills