API reference · Google Maps

google-maps/bulk/reviews

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDgoogle-maps/bulk/reviews
01

Input Schema

9 parameters · 0 required · 9 optional

ParameterTypeRequiredDescription
languagestringOptionalResults details will show in this language. · Options: en, af, az, id, ms, bs, ca, cs, da, de, et, es, es-419, eu, fil, fr, gl, hr, zu, is, it, sw, lv, lt, hu, nl, no, uz, pl, pt-BR, pt-PT, ro, sq, sk, sl, fi, sv, vi, tr, el, bg, ky, kk, mk, mn, ru, sr, uk, ka, hy, iw, ur, ar, fa, am, ne, hi, mr, bn, pa, gu, ta, te, kn, ml, si, th, lo, my, km, ko, ja, zh-CN, zh-TW · Default: "en"
enafazidmsbscacsdadeeteses-419eufilfrglhrzuisitswlvlthunlnouzplpt-BRpt-PTrosqskslfisvvitrelbgkykkmkmnrusrukkahyiwurarfaamnehimrbnpagutateknmlsithlomykmkojazh-CNzh-TW
placeIdsstring[]OptionalList of place IDs. You can add place IDs one by one or upload a list using the Bulk edit option.
startUrlsarrayOptionalList of URLs to be crawled. They can be search URLs, place URLs or review detail URLs. Valid Google Maps place URLs must contain one of the following subpaths: /maps/search, /maps/place or /maps/reviews. This feature also supports uncommon URL formats such as: google.com/maps?cid=***.
maxReviewsintegerOptionalMax number of reviews per place to scrape. If you want to scrape all reviews, remove the prefilled value. · Min: 1 · Max: 9007199254740991 · Default: 10000000
reviewsSortstringOptionalDefine how reviews should be sorted. · Options: newest, mostRelevant, highestRanking, lowestRanking · Default: "newest"
newestmostRelevanthighestRankinglowestRanking
personalDatabooleanOptionalThis setting allows you to get personal data about the reviewer (their ID, name, URL, and photo URL) and about review (URL). Note: review ID (reviewId) is always included regardless of this setting. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. · Default: true
reviewsOriginstringOptionalSelect whether you want all reviews (from Google, Tripadvisor, etc.) or only reviews from Google · Options: all, google · Default: "all"
allgoogle
reviewsStartDatestringOptionalEither absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). JSON input also supports adding time in both absolute (ISO standard, e.g. `2024-05-03T20:00:00`) and relative (e.g. `3 hours`) formats. Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `minutes`, `hours`, `days`, `weeks`, `months`, `years`. Heads up: If this parameter is specified, you must choose the 'Newest' sort by value. The reason for this is that with this parameter entered, the actor stops scraping reviews as soon as it finds the first review that's older than the specified date. If the sorting is not set to 'Newest', it might encounter a review older than the specified date before it reaches the desired review count and not scrape the desired amount of reviews.
reviewsFilterStringstringOptionalIf you enter keywords, only reviews containing those keywords will be scraped. Leave it blank to scrape all reviews. · Default: ""
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "google-maps/bulk/reviews",
  "language": "en",
  "maxReviews": 10000000,
  "reviewsSort": "newest",
  "personalData": true,
  "reviewsOrigin": "all",
  "reviewsFilterString": "",
  "prompt": "a beautiful sunset over mountains"
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"