ScrapeField vs the Google Places API
Google’s Places API is the official way to use Google Maps data, and the right one inside an app your users see. Its place search costs $32.00 per 1,000 calls; ours costs $2.34 → $1.32. Here is where each fits.
| ScrapeField | Places API (New) | |
|---|---|---|
| Search for places, per 1,000 | $2.34 → $1.32 (3 credits) | $32.00 (Text Search Pro), after 5,000 free a month; $35.00 with phone, website and rating (Enterprise), after 1,000 |
| One place in full, per 1,000 | $2.34 → $1.32 (3 credits) | $17.00 (Place Details Pro); $20.00 with Enterprise fields |
| Photos, per 1,000 | $3.12 → $1.76 (4 credits) | $7.00, after 1,000 free a month |
| Reviews per place | A page at a time, from GET /v1/google-maps/reviews | At most 5, inside Place Details |
| Star breakdown (how many 1s, 2s…) | In the response | Not in the API |
| Field names | The Places API’s own | The Places API’s own |
| Official, SLA-backed | No | Yes |
Checked 10 October 2026 against each vendor’s own pricing page. Rechecked quarterly — tell us if something here is out of date and we will fix it.
Your month, on both
Google’s prices are its Enterprise ones, which a list with phone numbers, websites and ratings needs, from its pricing page, read on 10 October 2026: the first tier, which falls after 100,000 calls a month. Its free calls come off first. Ours assume about 20 photos a call. Credits come in packs, from $39, and never expire.
Migrating a Place Details call
// Places API (New): Place Details
const res = await fetch(`https://places.googleapis.com/v1/places/${placeId}`, {
headers: {
"X-Goog-Api-Key": googleKey,
"X-Goog-FieldMask": "id,displayName,formattedAddress,rating,userRatingCount",
},
});
const p = await res.json();
p.displayName.text
p.formattedAddress
p.rating
p.userRatingCount// ScrapeField
const res = await fetch(`https://api.scrapefield.com/v1/google-maps/place?place_id=${placeId}`, {
headers: { Authorization: `Bearer ${key}` },
});
const { data, meta } = await res.json();
data.name
data.formatted_address
data.rating
data.user_ratings_totalThree differences worth knowing before you start:
- The same
place_idworks in both: ours is Google’s place ID, so the ids you have stored carry over unchanged. - Our field names are the Places API’s classic ones, which the New API writes in camelCase:
formattedAddressisformatted_address,userRatingCountisuser_ratings_total, anddisplayName.textisname. Code written for the classic Places API mostly carries over: its answer is underresultand ours underdata, and most of the field names are the same. - There is no field mask, and the price does not depend on the fields you ask for: every documented field is always in the answer,
nullwhere Google shows nothing, for 3 credits. The reviews come a page at a time from their own endpoint, all of them, not five.
Questions
Why is the difference so large?
Google prices the Places API for apps that show a few places to each user, not for building lists of thousands of businesses. For a list, the per-call price is what you pay; for an app, the free monthly usage and the terms may matter more than the price.
Is the data the same?
The field names are: a place from us is named the way the Places API names it, so moving code between the two is mostly a change of URL. What differs is what comes back. We page through a place’s reviews and return the star breakdown; the Places API returns at most five reviews and no breakdown.
Try it before you decide
Every endpoint has a playground that runs against the live API with no key and no account — real routing, real validation, real errors. If the response shape does not fit your code, you will know in about a minute.