Skip to main content
POST /v1/map discovers all accessible URLs on a website without fetching or extracting content from any of them. It is dramatically faster than a full crawl because it only traverses the link graph — no page content is downloaded or parsed. Use it to understand the structure of a site before deciding which URLs to scrape individually or pass to POST /v1/crawl. An optional search filter lets you narrow the returned list to URLs whose path or query string contains a specific keyword.
Run POST /v1/map before POST /v1/crawl. Map the full site, filter the links to the sections you care about, then pass those paths as include_paths to a targeted crawl. This avoids wasting credits on irrelevant pages.

Endpoint

Authentication: Authorization: Bearer sk-<key>

Request Parameters

string
required
Root URL of the site to map. The mapper follows links discovered from this starting point, staying within the same domain.
Optional keyword filter. Only URLs whose full URL string contains this value are returned. For example, "library" would keep https://docs.python.org/3/library/ast.html but drop https://docs.python.org/3/tutorial/index.html.
integer
default:"5000"
Maximum number of URLs to return. Accepted range: 1–5000.

Response

boolean
true if the site was mapped successfully.
Array of discovered URLs on the site, filtered by search if provided and capped at limit.
integer
Number of URLs returned in links.

Code Example


Errors

All error responses follow the standard Piramyd error shape: { "error": { "message": "...", "type": "...", "code": "..." } }. Retry 502, 504, and 500 with exponential backoff (base 1 s, max 8 s, with jitter).