GET /v1/map
Discover the URLs under a domain. Returns a deduplicated list of URLs found in the site's sitemaps.
curl "https://api.chuger.com/v1/map?url=https://example.com" \
-H "Authorization: Bearer YOUR_API_TOKEN"
const res = await fetch(
`https://api.chuger.com/v1/map?url=${encodeURIComponent('https://example.com')}`,
{ headers: { Authorization: `Bearer ${process.env.CHUGER_TOKEN}` } },
);
const data = await res.json();
import os, requests
r = requests.get(
"https://api.chuger.com/v1/map",
params={"url": "https://example.com", "limit": 500},
headers={"Authorization": f"Bearer {os.environ['CHUGER_TOKEN']}"},
)
data = r.json()
{
"url": "https://example.com",
"total": 342,
"truncated": false,
"sources": ["sitemap"],
"urls": [
"https://example.com/",
"https://example.com/about",
"https://example.com/blog/first-post",
"https://example.com/pricing"
]
}
{
"message": "Failed to map the domain. No sitemap could be discovered."
}
Discover the URLs under a domain.
GET https://api.chuger.com/v1/map
Give it any URL and Chuger maps the site: it reads the domain's robots.txt for declared sitemaps, falls back to the well-known locations (/sitemap.xml, /sitemap_index.xml), follows sitemap index files into their sub-sitemaps, and returns one deduplicated list of URLs. Use it to scope a crawl before spending credits on /v1/content or /v1/content/bulk.
Authentication
Bearer token in the Authorization header. See Authentication.
Cost
| Plan | Credits per request |
|---|---|
| Basic | 3 |
| Pro | 3 |
| Business | 3 |
Credits are only deducted on success — a domain with no discoverable sitemap costs nothing.
Query parameters
Any URL on the domain to map. Must be HTTP or HTTPS, max 180 characters. Raw IP hosts and non-default ports are rejected. Only the host is used — https://example.com/some/page maps the same domain as https://example.com.
Maximum number of URLs to return, between 1 and 1000. When the sitemaps contain more URLs than the limit, the response is capped and truncated is true.
Example
Response fields
The URL you asked to map.
Total number of URLs found in the domain's sitemaps. When this exceeds the number of urls returned, the result was capped by limit.
true when more URLs were found than returned — raise limit (up to 1000) to get more.
The discovery sources that produced the list. Currently always ["sitemap"]; more sources may be added later.
The discovered URLs, deduplicated case-insensitively (trailing slashes ignored for comparison), in sitemap order.
Errors
| Status | When |
|---|---|
401 | Missing / invalid token |
402 | No plan, or insufficient credits |
422 | url missing, malformed, too long, raw IP, or non-default port; limit out of range |
429 | Rate limit or monthly quota exceeded |
503 | No sitemap could be discovered for the domain |
See Errors for the full reference.
Tips
Results come from the site's own sitemaps, so coverage depends on what the site publishes. Pages missing from the sitemap won't appear, and sites without any sitemap return 503 (and are not billed).
Pair /v1/map with /v1/content/bulk: map the domain first, pick the URLs you care about, then extract them in one bulk job.