Local Business Data

Google Maps API

Scrape Google Maps and get local business listings as JSON. Names, addresses, coordinates, ratings, phone numbers, and opening hours from a single REST request.

Free tier available
Up to 200 places per search
No Google Cloud project
curl -X GET "https://api.serply.io/v1/maps/search/coffee%20shops%20in%20Chicago%2C%20IL?num=20&hl=en&gl=us" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY"
Example Response
{
  "search_engine": "google_maps",
  "query": "coffee shops in Chicago, IL",
  "places": [
    {
      "position": 1,
      "name": "Sawada Coffee",
      "data_id": "0x880e2cb109470fb1:0x1bfa35f0425ae540",
      "place_id": "ChIJsQ9HCbEsDogRQOVaQvA1-hs",
      "google_maps_url": "https://www.google.com/maps/search/?api=1&query=Sawada+Coffee",
      "website": "https://sawadacoffee.com/",
      "domain": "sawadacoffee.com",
      "address": "112 N Green St, Chicago, IL 60607",
      "address_lines": ["112 N Green St", "Chicago, IL 60607"],
      "district": "West Loop",
      "latitude": 41.8842135,
      "longitude": -87.6486297,
      "rating": 4.6,
      "review_count": 2841,
      "categories": ["Coffee shop", "Espresso bar"],
      "phone": "(312) 754-0431",
      "phone_e164": "+13127540431",
      "timezone": "America/Chicago",
      "thumbnail": "https://lh3.googleusercontent.com/p/AF1QipM...",
      "opening_hours": {
        "Monday": "9 AM-5 PM",
        "Friday": "7 AM-5 PM",
        "Saturday": "8 AM-5 PM"
      }
    },
    {
      "position": 2,
      "name": "Metric Coffee Co.",
      "data_id": "0x880e2ea8dbb2b0f9:0x4a35a72ba9d1e2f6",
      "place_id": "ChIJ-bCy26guDogR9uLRqStqNUo",
      "google_maps_url": "https://www.google.com/maps/search/?api=1&query=Metric+Coffee",
      "website": "https://metriccoffee.com/",
      "domain": "metriccoffee.com",
      "address": "2021 W Fulton St, Chicago, IL 60612",
      "address_lines": ["2021 W Fulton St", "Chicago, IL 60612"],
      "district": "Near West Side",
      "latitude": 41.8865432,
      "longitude": -87.6785119,
      "rating": 4.5,
      "review_count": 913,
      "categories": ["Coffee shop", "Coffee roasters"],
      "phone": "(312) 869-1234",
      "phone_e164": "+13128691234",
      "timezone": "America/Chicago",
      "thumbnail": "https://lh3.googleusercontent.com/p/AF1QipN...",
      "opening_hours": {
        "Monday": "7 AM-4 PM",
        "Friday": "7 AM-4 PM",
        "Saturday": "8 AM-4 PM"
      }
    }
  ],
  "result_count": 20,
  "parsed_at": "2026-08-14T20:32:17.293873Z",
  "metadata": {
    "schema": "tbm-map-positional-v1",
    "transport": "direct",
    "requested_count": 20,
    "language": "en",
    "country": "us"
  }
}

Search Google Maps by Query

Send the same phrase you would type into Google Maps, such as "dentists near Austin TX", and get back the ranked list of places. Each result keeps its Google Maps position, so the response tells you who ranks where in the local pack, not just who exists.

Coordinates and Addresses

Every place carries latitude and longitude in decimal degrees, the full formatted address, the address split into display lines, and the district or neighborhood. Geocoding is already done, so places drop straight into a map, a radius query, or a PostGIS table.

Phone Numbers, Websites, and Hours

Get the phone number as displayed and again in E.164, the business website and its bare domain, the IANA timezone, and opening hours keyed by day name. That is the set of fields a lead list actually needs, returned without a second lookup per place.

A Places API Alternative

No Google Cloud project, no billing account, no per-field pricing tiers. Authenticate with one header, pay a flat prepaid credit per successful uncached request, and read results ranked the way Google Maps ranks them. Responses are cached for 10 minutes and a cached response is free.

Frequently Asked Questions

What is a Google Maps API?

A Google Maps API provides programmatic access to Google Maps place listings, returning local business data as structured JSON instead of HTML you have to parse yourself. Serply's Google Maps API takes a search such as 'coffee shops in Chicago, IL' and returns each place with its name, address, latitude and longitude, rating, categories, phone number, timezone, and opening hours.

How do I scrape Google Maps without getting blocked?

Send the search to Serply's REST endpoint and read the JSON. Serply handles the request rotation, retries, and CAPTCHA avoidance, so you never run a headless browser or maintain a proxy pool. One GET request to /v1/maps/search/{query} with your API key returns up to 200 structured places.

How is this different from the Google Places API?

The official Places API bills per request against a Google Cloud project, applies quota tiers, and restricts how long you may cache or display the data. Serply's Google Maps API is a flat prepaid credit per successful uncached request, needs no Google Cloud project, and returns results ranked exactly as Google Maps ranks them, which is what you want for local SEO and rank tracking.

What local business data does the API return?

Each place includes position, name, Google's data_id and place_id, the Google Maps URL, website and bare domain, full address plus address lines, district, latitude and longitude, rating and review count, category labels, phone number in both display and E.164 format, IANA timezone, a thumbnail, and opening hours by day.

How many results can I get per search?

Set num to anything from 1 to 200; it defaults to 20. Google often returns fewer places than requested for narrow searches. Use hl and gl to control the interface language and country so results match the locale you are targeting.

What can I build with a Google Maps scraper API?

Local lead generation lists, local rank trackers, competitor and market density analysis, store locators, real estate and franchise site selection, and business data enrichment. Because every place carries coordinates and a stable data_id, results join cleanly against your own records in Python, JavaScript, Ruby, PHP, Go, or Java.

How much does the Google Maps API cost?

New accounts include 2,500 free credits. After that you buy prepaid credits that never expire, and one credit is deducted per successful uncached request. Responses are cached for 10 minutes, and a cached response costs nothing.

Start Building with the Google Maps API Today

Join thousands of developers using Serply to build local lead generation lists, local rank trackers, and store locators.