1. Side-by-Side Cost Audit: 1,000,000 Places per Month
Here is what 1,000,000 business records cost when including phone numbers, websites, opening hours, and ratings:
| Provider | Base Search Cost | Contact + Atmosphere Surcharge | Total Monthly Bill |
|---|---|---|---|
| Official Google Places API | $24,000 | +$8,000 ($3/1K Contact + $5/1K Atmosphere) | $32,000 / mo |
| SerpApi (50,000 calls @ 20/page) | $375 – $500 | Included | $375 – $500 / mo |
| Outscraper | $1,000 – $1,900 | Included | $1,000 – $1,900 / mo |
| PlacesData API (Business Plan) | $200 (5M Credits) | $0.00 (Included) | $200 / mo (99% savings) |
2. One-Line Base URL Swap vs. Native /v1/places/* Upgrade
You can either point your existing Google Places client to https://api.placesdataapi.com/maps/api/place/... or upgrade to our cleaner /v1/places/* endpoints:
Drop-In Compatibility Route & Native /v1/places/search
Both routes authenticate with your pd_live_ API key:
# Option A: Drop-in Google Places compatibility path (authenticated securely via x-api-key header)
curl "https://api.placesdataapi.com/maps/api/place/textsearch/json?query=plumbers+in+Austin+TX" \
-H "x-api-key: pd_live_your_api_key"
# Option B: Native PlacesData API /v1/places/search
curl "https://api.placesdataapi.com/v1/places/search?q=plumbers+in+Austin+TX&limit=50" \
-H "x-api-key: pd_live_your_api_key"import requests
# Native /v1/places/search returns up to 100 places per call with phone & domain
res = requests.get(
"https://api.placesdataapi.com/v1/places/search",
headers={"x-api-key": "pd_live_your_api_key"},
params={"q": "plumbers in Austin TX", "limit": 50},
)
print(res.json()["data"])const res = await fetch(
"https://api.placesdataapi.com/v1/places/search?q=plumbers+in+Austin+TX&limit=50",
{ headers: { "x-api-key": "pd_live_your_api_key" } }
);
const { data } = await res.json();
console.log(data);{
"code": 0,
"provider": "https://placesdataapi.com",
"status": "ok",
"msg": "success",
"data": [
{
"place_id": "ChIJSy28upiAhYARkoxpzFnW7b4",
"name": "Blue Bottle Coffee",
"rating": 4.6,
"reviews_count": 908,
"phone": "+15106613510",
"website": "https://bluebottlecoffee.com/us/eng/northern-california-cafes",
"domain": "bluebottlecoffee.com"
}
],
"meta": { "request_id": "799c3853-e73d-494a-b669-4b69b4cf7f3f", "credits_charged": 5, "count": 1 }
}Interactive Engineering Workbench · GET /v1/places/search
Verify real-time latency, credit math & JSON schema
Frequently Asked Questions
- How do I authenticate requests to the /maps/api/place/*/json compatibility routes?
- Pass your pd_live_... API key in the x-api-key header or Authorization: Bearer <key> header. To prevent accidental credential leakage in proxy and CDN access logs, our gateway enforces header-based authentication rather than query-string keys.