Endpoints
Map
Every URL on a site in seconds, for a content audit, a migration inventory, or to find the pages worth scraping before you spend on them.
POST
/v1/map
Request
Send a JSON body with a URL (or a list) and any options. The response holds data and what the call cost.
import requestsr = requests.post( 'https://api.snoopscan.com/v1/map', headers={'Authorization': 'Bearer sk_YOUR_KEY'}, json={ 'url': 'https://example.com', 'search': 'pricing' },)print(r.json())
const r = await fetch('https://api.snoopscan.com/v1/map', { method: 'POST', headers: { Authorization: 'Bearer sk_YOUR_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ "url": "https://example.com", "search": "pricing" }),});console.log(await r.json());
curl -X POST https://api.snoopscan.com/v1/map \ -H 'Authorization: Bearer sk_YOUR_KEY' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://example.com", "search": "pricing"}'
Returns url list · sitemaps · links · 1 credit.
Parameters
| Field | Type | Default | What it does |
|---|---|---|---|
url
required |
string | — | The site to map. An absolute http or https URL. |
ignoreSitemap
|
boolean | false | Find URLs without reading the site's sitemap. |
includeSubdomains
|
boolean | false | Include URLs on the site's subdomains. |
limit
|
integer | 5000 | The most URLs to return, 1 to 30,000. |
search
|
string | — | Only return URLs whose address or page title contains this text. Not case-sensitive. |
Response
A success returns {"success": true, "data": {…}}. data holds the formats you asked for, the page's metadata, and a cost object with what the call was charged. A failure returns {"success": false, "error": {…}} with an error code. See Errors.
Failed requests are not charged.
Re-reading a page you already fetched, within
maxAge, is free. See Credits for every rate.