Search local listings (Google Maps)
Normalized local-listing search from Google Maps — the second provider on this primitive, and unlike the DataForSEO routes beside it this returns Place objects rather than the vendor’s task envelope, names the provider that answered, and bills 2x the provider run’s real cost.
DOES NOT RETURN CONTACT PEOPLE. The provider will also scrape named contacts with work emails; that request is never sent. Contact data is the People primitive, which carries the opt-in gate, the B2B-only field filter and an erasure path.
Authorizations
Workspace API key. Create one via the dashboard or POST /v1/auth/keys.
Headers
Deduplicates BOTH the response and the credit deduction: it becomes the ledger reference, so a retried call cannot be charged twice. Max 255 characters.
Body
What to search for, e.g. 'dentist'.
REQUIRED, not defaulted: Maps results are location-scoped, so a query without one returns whatever Google infers from the datacentre the run happened in — a result the caller cannot reproduce. E.g. 'Austin, Texas'.
1-100. Above 100, Maps itself stops paginating.
Response
OK.
3x what the provider run actually cost, empty results included. A failed run is never billed.
Which vendor answered. Named because this primitive has two, and provenance is the subject.
apify_google_maps, dataforseo Present and true only when the response came from fixtures.