Skip to content
Back to skills

Mapping Urls

ASecurity

>- Use when the user wants the list of URLs on a site rather than the page content — sitemap analysis, link planning, or seeding another tool. Covers `crawlberg map URL` with `--limit`, `--search`, robots, output, and how it differs from a full crawl.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
ai-agentsgoshellbashgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill mapping-urls --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mapping Urls?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mapping Urls
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-mapping-urls/badge)](https://www.skillsdirectory.com/skills/thedixitjain-mapping-urls)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mapping-urls
description: ">- Use when the user wants the list of URLs on a site rather than the page content — sitemap analysis, link planning, or seeding another tool. Covers `crawlberg map URL` with `--limit`, `--search`, robots, output, and how it differs from a full crawl."
category: general-purpose
source_repo: hashgraph-online/awesome-codex-plugins
source_path: "plugins/kreuzberg-dev/plugins/plugins/crawlberg/skills/mapping-urls/SKILL.md"
source_url: https://github.com/hashgraph-online/awesome-codex-plugins/blob/HEAD/plugins/kreuzberg-dev/plugins/plugins/crawlberg/skills/mapping-urls/SKILL.md
---


<!--
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
Content-Hash: blake3:f350881f7fc3fae75a1b3aec431fddcb0cd9fd62539b5f6ade1493d4b15a076b
Source-Hash: blake3:b5689383a3914da8e3cc6ad3614356ae7f98c90cf99cb1b4b47be38456ff7a7c
Schema-Version: v1
-->

# Mapping URLs

`crawlberg map <url>` discovers the URLs a site exposes without rendering or
extracting any page content. It reads `sitemap.xml` (including nested
sitemaps), then falls back to link extraction from the seed page. Use it to
plan a crawl, audit a site's surface, or feed a URL list into another tool.

## Quick recipe

```bash
crawlberg map https://example.com --limit 500 --search docs --format markdown
```

Markdown output prints one URL per line — convenient to pipe into a file or a
follow-up `crawl`. JSON output (default) returns a structured `MapResult`.

## Flag surface

| Flag                   | Default | Purpose                                                       |
| ---------------------- | ------- | ------------------------------------------------------------- |
| `--limit`              | —       | Maximum number of URLs to return. Unbounded if unset.         |
| `--search`             | —       | Case-insensitive substring filter on discovered URLs.         |
| `--respect-robots-txt` | off     | Honour `robots.txt`. Pass it for any third-party host.        |
| `--format`             | `json`  | `json` (full `MapResult`) or `markdown` (one URL per line).   |
| `--timeout`            | `30000` | Per-request timeout in ms.                                    |
| `--browser-mode`       | `auto`  | `auto`, `always`, `never` — see the headless-fallback skill.  |
| `--browser-endpoint`   | —       | External CDP `ws://` URL.                                     |
| `--config`             | —       | Inline JSON or `@file.json` for the full `CrawlConfig`.       |

`map` takes a single seed URL positionally. There is no `--depth` or
`--max-pages` here — those bound a `crawl`, not a map. Scope is the seed host's
sitemaps plus links found on the seed page; bound the result with `--limit` and
narrow it with `--search`.

## How discovery works

1. Fetch and parse `sitemap.xml`, following nested `<sitemapindex>` entries.
2. If no sitemap (or a thin one), extract links from the seed page's HTML.
3. Apply the `--search` substring filter (case-insensitive), then `--limit`.

No page bodies are rendered, so a map of hundreds of URLs returns in seconds —
far cheaper than crawling. In `--browser-mode auto` the seed fetch still falls
back to headless Chrome if the seed page is a JS shell that hides its links;
pass `--browser-mode never` to keep it static-only.

## Output

### Markdown mode

```text
https://example.com/
https://example.com/docs/
https://example.com/docs/getting-started
https://example.com/blog/post-one
```

### JSON mode

Top-level `MapResult` with a `urls` array; each entry carries the discovered
`url`. Read `result.urls[i].url` for each string when scripting.

```bash
crawlberg map https://example.com --format json | jq -r '.urls[].url'
```

## Common patterns

### Discover then crawl a subsection

```bash
crawlberg map https://example.com --search /docs/ --format markdown > urls.txt
```

Feed the filtered list into a bounded crawl, or scrape individual entries.

### Audit a third-party site politely

```bash
crawlberg map https://unknown.example --respect-robots-txt --limit 200
```

## When to reach for crawl instead

If the user needs the page *content* (Markdown, metadata, tables) rather than
just the URL list, use `crawlberg crawl` — see the `crawling-a-site` skill.
Reach for `map` first when the goal is enumeration, planning, or seeding.

---

**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/kreuzberg-dev/plugins/plugins/crawlberg/skills/mapping-urls/SKILL.md`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.