Endpoints
Places
Business listings by trade and town, with the website, the phone number and the people behind it. Lead lists, ready to work.
POST
/v1/places/search
Request
Every tool takes the same shape: a URL or a list, a few options, and back comes data plus what the call cost.
import requestsr = requests.post( 'https://api.snoopscan.com/v1/places/search', headers={'Authorization': 'Bearer sk_YOUR_KEY'}, json={ 'query': 'coffee shops', 'location': 'Austin, TX', 'limit': 20, 'enrich': True },)print(r.json())
const r = await fetch('https://api.snoopscan.com/v1/places/search', { method: 'POST', headers: { Authorization: 'Bearer sk_YOUR_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ "query": "coffee shops", "location": "Austin, TX", "limit": 20, "enrich": true }),});console.log(await r.json());
curl -X POST https://api.snoopscan.com/v1/places/search \ -H 'Authorization: Bearer sk_YOUR_KEY' \ -H 'Content-Type: application/json' \ -d '{ "query": "coffee shops", "location": "Austin, TX", "limit": 20, "enrich": true}'
Returns places · website · phone · contacts · 5 credits a search.
Parameters
The parameter table is generated from the live API and could not be reached just now.
The call above is correct; refresh in a moment for the full field list.
Response
A success is always {"success": true, "data": {…}}. data carries what you asked for in formats, the page's metadata, and a cost object saying what the call was charged. A failure is {"success": false, "error": {…}} with a code you can branch on — see Errors.
Nothing is charged for a request that failed.
A page you already fetched, re-read within
maxAge, is free; one served from the shared index costs a single credit. The cost object says which it was.