SoonOne MCP server, all 49 APIs as agent tools. See how it works

Scrape any place or its reviews as clean JSON

Google Maps Data API

The Google Maps Data API turns any public Google Maps place into structured JSON with a single GET request. Name, category, rating, review counts, address, phone, website, opening hours and coordinates, plus full review lists with text and star ratings, scraped live with no Google Cloud project, billing account or proxies on your side.

The official Places API meters every field group against a Google Cloud billing account and caps reviews at five per place. This Google Maps scraper API takes a place URL and returns the live listing, including reviews well beyond the official five, with an optional days_limit to keep only recent ones. Most requests complete synchronously in 5-45 seconds.

Free tier included, no credit card required. One key works across all 49 APIs.

At a glance
Endpoints
3
Response Time
5-45s
Data Freshness
Live

Key features

  • Any public place listing, no Google Cloud project or billing
  • Live scraping on every request, no stale cached databases
  • Place data: rating, reviews count, address, phone, website, hours
  • Review lists beyond the official 5-review cap (limit 1-50)
  • days_limit filter to keep only recent reviews
  • fields= selection to trim responses to just what you need
  • Enterprise scraping infrastructure handles blocks on our side

Built for

  • Local SEO and reputation monitoring dashboards
  • Lead generation with business contact enrichment
  • Review sentiment analysis for multi-location brands
  • Competitor benchmarking for local businesses
  • Location datasets for market research

Try it

Build the request for your data

Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.

GET/v1/place
Open in Playground

Parameters

Request · HTTP
GET /google-maps/v1/place?url=https%3A%2F%2Fwww.google.com%2Fmaps%2Fplace%2FBlue+Bottle+Coffee HTTP/1.1
Host: api.apicodex.io
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
Response · JSON
200 OK
{
  "type": "place",
  "url": "https://www.google.com/maps/place/Blue+Bottle+Coffee",
  "data": {
    "name": "Blue Bottle Coffee",
    "category": "Coffee shop",
    "rating": 4.4,
    "reviews_count": 1287,
    "address": "66 Mint St, San Francisco, CA 94103",
    "phone": "+1 510-653-3394",
    "website": "https://bluebottlecoffee.com",
    "price_level": "$",
    "open_now": true,
    "hours": { "monday": "6:30 AM - 6 PM" },
    "lat": 37.782772,
    "lng": -122.407913
  }
}

Documentation

Google Maps Data API Documentation

Pass a Google Maps place URL and get a complete, structured JSON record back in a single request. All endpoints are GET. On /v1/reviews, limit accepts 1-50 (default 10) and days_limit keeps only reviews newer than N days; fields= lets you keep only the top-level fields you need. If a scrape exceeds the sync window you get HTTP 202 with a snapshot_id to resolve via /v1/result.

Base URL

url
https://api.apicodex.io/google-maps

Authentication

Create a key at dash.apicodex.io and send it as an X-Api-Key header (or an ?apikey= query parameter) on every request. No Google account, Cloud project or billing setup is ever involved.

headers
GET /v1/place?url=https://www.google.com/maps/place/Blue+Bottle+Coffee
X-Api-Key: YOUR_API_KEY

Request and response

Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.

request · http
GET /v1/place?url=https://www.google.com/maps/place/Blue+Bottle+Coffee HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
response · json
{
  "type": "place",
  "url": "https://www.google.com/maps/place/Blue+Bottle+Coffee",
  "data": {
    "name": "Blue Bottle Coffee",
    "category": "Coffee shop",
    "rating": 4.4,
    "reviews_count": 1287,
    "address": "66 Mint St, San Francisco, CA 94103",
    "phone": "+1 510-653-3394",
    "website": "https://bluebottlecoffee.com",
    "price_level": "$",
    "open_now": true,
    "hours": { "monday": "6:30 AM - 6 PM" },
    "lat": 37.782772,
    "lng": -122.407913
  }
}

Code examples

cURL
curl --request GET \
  --url 'https://api.apicodex.io/google-maps/v1/place?url=https://www.google.com/maps/place/Blue+Bottle+Coffee' \
  --header 'X-Api-Key: YOUR_API_KEY'

Available Endpoints

GET /v1/place

Scrape a place by URL: rating, reviews count, address, phone, website, hours, coordinates.

/v1/place?url=https://www.google.com/maps/place/Blue+Bottle+Coffee

GET /v1/reviews

List the reviews of a place as an array (author, rating, text, date), with an optional days_limit.

/v1/reviews?url=https://www.google.com/maps/place/Blue+Bottle+Coffee&limit=25&days_limit=90

GET /v1/result

Fetch a pending result using the snapshot_id from a 202 response.

/v1/result?snapshot_id=s_abc123

Request Parameters

Required parameters

  • url Google Maps place URL to scrape, e.g. a share link or a /maps/place/... URL. Required on /v1/place and /v1/reviews.

Optional parameters

  • fields Comma-separated top-level fields to keep, e.g. fields=name,rating,reviews_count. Applies to every item on list endpoints.
  • limit Max items on /v1/reviews (1-50, default 10).
  • days_limit /v1/reviews only: keep only reviews posted within the last N days.
  • snapshot_id /v1/result only: the id returned by a 202 response.

Pricing

Google Maps Data API Pricing

One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.

This API costs 25 credits per request. Credits are shared across every API on your plan.

Estimate your monthly cost

Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.

10,000

Recommended plan

Pro

$99.99 /month

Credits used250,000
Credits included250,000
Cost per 1K requests$9.999
Choose Pro

Free

Free
1,000 credits · ~40 requests/mo · 2 rps
  • All 49 APIs included
  • No credit card required
  • Full documentation and examples
Start for free

Starter

Popular
$29.99/month
50,000 credits · ~2,000 requests/mo · 10 rps
  • All 49 APIs included
  • Email support
  • Usage dashboard and analytics
Start with Starter

Pro

$99.99/month
250,000 credits · ~10,000 requests/mo · 25 rps
  • All 49 APIs included
  • Priority support
  • Up to 5 API keys
Start with Pro

Need a different plan?

Tell us about your API, volume, or support requirements.

Contact us

Coming soon · MCP

Use the Google Maps Data API from your AI agent

The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.

About the MCP server

FAQ

Frequently asked questions

The Places API requires a Google Cloud project with billing enabled, meters every field group separately, and returns at most five reviews per place. The Google Maps Data API is a flat scraper: pass any public place URL with your API Codex key and get the live listing as JSON, including review lists far beyond five. No Cloud project, no per-field SKUs.

/v1/reviews returns up to 50 reviews per call (limit=1-50, default 10), each with author, star rating, text and date. Add days_limit=90 to keep only reviews from the last 90 days, which is ideal for reputation monitoring where only recent sentiment matters.

Every request triggers a live scrape of the listing at that moment, so ratings, review counts, hours and open-now status reflect the current state rather than a cached database. That is also why responses take 5-45 seconds instead of milliseconds: you are trading a little latency for data that is never stale.

If a scrape exceeds the synchronous window, the API returns 202 with a snapshot_id instead of making you wait on an open connection. Poll GET /v1/result?snapshot_id=... until it returns 200 with status "ready" and your data. This mostly happens on /v1/reviews, where results are typically ready within 1-2 minutes.

Any public Google Maps place URL works: the long /maps/place/... URL from your browser bar or a maps.app.goo.gl share link. The API resolves it to the listing and scrapes it; you do not need a place_id or CID, though URLs that contain them work too.