SignalShelf · Developer documentation

outscraper · maps search

Outscraper: Google Maps search. GET /google-maps-search accepts your x-api-key header. Costs credits that scale with the request (see parameters) per successful fresh call; failures and opt-in cache hits (cache_max_age) are free. Native path: GET /api/v1/web/outscraper/maps-search. Same request parameters and JSON shape as the reference API, so you can switch by changing the base URL.

Request parameters

Places from Google Maps for each query; place_id / google_id / CID / Maps URL queries return that place. Outscraper-compatible (/google-maps-search); served by google-maps/search (place ids/URLs: google-maps/place). Billed per query at the underlying op's price.

ParameterTypeRequiredDescription
querystringYesQuery, or several queries as repeated `query` params (max 10 per call; each query is billed separately).
asyncstringNoOutscraper async flag. Accepted and ignored: results are always returned synchronously with status "Success".
uistringNoAccepted and ignored.
webhookstringNoCallback URL. Accepted and ignored: results are always returned synchronously.
fieldsstringNoComma-separated field list. Accepted and ignored: all fields are returned. Accepted and ignored: results are always returned synchronously.
formatstringNoOutput file format (UI tasks). Accepted and ignored: results are always returned synchronously.
limitstringNoPlaces per query (default 20, max 100 here).
organizationsPerQueryLimitstringNoSDK alias of limit.
skipPlacesstringNoSkip first N places (multiple of 20).
skipstringNoAlias of skipPlaces.
dropDuplicatesstringNoDrop the same place across queries.
totalLimitstringNoTotal places across all queries.
coordinatesstringNoAccepted and ignored (put the location in the query).
filtersstringNoQuick filters. Accepted and ignored: results are always returned synchronously.
enrichmentstringNoEnrichments (not offered). Accepted and ignored: results are always returned synchronously.
languagestringNoLanguage code (default en).
regionstringNoTwo-letter country code.
freshnessstringNo24h (default), 1h, 7d, or live. Accepted cache hits are free; live forces refresh except simultaneous requests may share newly fetched data.

Code examples

Set SIGNALSHELF_BASE_URL and SIGNALSHELF_API_KEY on your server.

REQUEST EXAMPLE
curl "$SIGNALSHELF_BASE_URL/google-maps-search?query=pizza%2C+New+York%2C+NY%2C+USA" \
  -H "x-api-key: $SIGNALSHELF_API_KEY"

Response and pagination

The response contains data and meta. data includes platform, resource, sample:false, provider, and the public source payload. Lists return data.items; individual resources return data.data.

Author feeds include data.next_cursor. Return it unchanged in cursor for the next page. Feed entries can include reposts. Single-post lookups resolve the handle to a DID first. Deleted or moderated posts may be unavailable.

meta includes event_id, mode, cache, credits_charged, fetched_at, age_seconds, and duration_ms. A fresh successful result costs one credit; accepted cached results and failures cost zero.

Availability and failures

Implementation is not a continuous availability guarantee. Source rate limits, retention, deleted content, restrictions, and regional availability apply. This is an independent SignalShelf contract, not a drop-in competitor response format.

400: invalid parameters. 401: missing/revoked key. 402: insufficient credits. 404: missing public resource. 429: SignalShelf throttle. 502/503: upstream failure or rate limit, with credit restored.

Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →