Playground Sign in Start free
SERP API

Google Maps Scraper API

What a Google Maps listings scraper returns, which fields you can count on, where hotel cards differ, and what 1,000 places cost with each tool.

Short answerUpdated

For business listings as data, the most used tools are Apify's Google Maps Scraper ($4.00 to $1.50 per 1,000 places by Apify plan) and Outscraper (500 places free, then $3 per 1,000), both of which add emails and full reviews for extra fees. Ujeebu's SERP API returns the listing itself (place_id, cid, address, phone, website, rating, review count, opening hours, GPS) with search_type=maps: 5 credits for a page of up to 20 places, so 1,000 places cost $0.04 to $0.08 on the $49 plan. In 637 probe responses for business searches between October 14 and November 1, 2026, every page had 20 places, and place_id, address, rating and GPS were filled on all of them (phone and website on 67% to 100%, depending on the market); hotel searches are the exception, with 9 cards and no address or IDs.

Disclosure: Ujeebu publishes this page and sells one of the tools on it. Our numbers come from our own calls and monitoring; competitor prices link to their pages.

The question

What is the best scraper for Google Maps business listings?

It depends on what you need beyond the listing itself. When our AI Citation Index put this question and a lead-generation variant to ChatGPT, Gemini and Google AI Overviews 50 times (October 5 to 30, 2026), Apify was named in 41 answers, Octoparse in 16 and PhantomBuster in 10, and the answers cited apify.com 37 times and outscraper.com 31 times. Those tools sell enrichment on top of the Maps list:

  • Apify Google Maps Scraper runs as a job on Apify, opens each place page and can add contact details, reviews, images and lead data, each priced per place.
  • Outscraper is a no-code service with an API, priced per 1,000 places after 500 free, with reviews and email enrichment as separate products.
  • Ujeebu SERP API returns the Maps result list as JSON in one synchronous call, priced per page of results, with the same key you use for web search and scraping. It does not open each place page, so there are no review texts, emails or popular times.
Real response

Which fields does a Google Maps API return?

Every business place carries title, category, address, phone, website, rating, reviews (the review count), opening_hours (as Google words it, for example "Closed · Opens 8 AM Mon"), gps_coordinates, and three identifiers: place_id (the one the Google Places API uses), cid (the number in maps.google.com/?cid= links) and feature_id. Use place_id as your primary key.

Request
curl -G 'https://api.ujeebu.com/serp' \
  -H 'ApiKey: YOUR_API_KEY' \
  --data-urlencode 'search=dentists in Chicago, IL' \
  -d 'search_type=maps'
Response (trimmed)
{
  "maps_results": [
    {
      "position": 1,
      "title": "Dental Group of Chicago",
      "category": "Dentist",
      "address": "1556 S Michigan Ave #200, Chicago, IL 60605",
      "phone": "(872) 328-4304",
      "website": "https://dentalgroupofchicago.com/?utm_campaign=gmb&utm_medium=local&utm_source=google",
      "rating": 4.7,
      "reviews": 852,
      "opening_hours": "Closed · Opens 8 AM Mon",
      "gps_coordinates": { "latitude": 41.860397, "longitude": -87.624245 },
      "cid": "12220838318085764726",
      "place_id": "ChIJKVJwBIQsDogRdvb7lrMjmak",
      "feature_id": "0x880e2c8404705229:0xa99923b396fbf676",
      "description": "Dental Group of Chicago are exceptionally caring professionals.",
      "thumbnail": "https://lh3.googleusercontent.com/grass-cs/..."
    },
    "... 20 places in total"
  ],
  "pagination": { "api": { "next": "https://api.ujeebu.com/serp?...&page=2&search_type=maps&" } }
}

Trimmed from a real call made on November 1, 2026: HTTP 200, Ujb-Credits: 5, 2.6 seconds, 20 places, all 20 with a Chicago street address, place_id, cid, GPS, phone, website, rating and review count, 19 of 20 with opening hours.

Our monitoring

How complete is Google Maps data? Fill rates we measured

Method: our health check sends one Maps search every 30 minutes through the public API with a normal customer key, rotating four fixed queries (pizza chicago, bookstore london, coffee shop new york, hotel paris). Since October 14, 2026 every response is scored against a field contract: a field counts as filled for a place when it is present and not empty. The table averages those per-run shares from October 14 to November 1 (836 scored runs: 637 business, 199 hotel). The 1,059 figure further down counts every Maps probe since October 10, including the four days before field scoring began.

Share of places with the field filled, Ujeebu search_type=maps probes
Fieldpizza chicago (213 runs)bookstore london (212)coffee shop new york (212)hotel paris (199)
Places per page2020209
place_id or cid100%100%100%0%
address100%100%100%0%
rating and reviews100%100%100%93.6%
gps_coordinates100%100%100%0%
phone99.8%100%67.1%0%
website98.6%100%93.5%0%
opening_hours100%100%100%0%

Source: Ujeebu health_serp_fields table, read November 1, 2026. Phone numbers are the field that varies most by market: a third of New York coffee shops listed none. Over the same probes, 20 of 1,059 Maps searches came back with HTTP 200 and no places; an empty answer is still an answer and was billed 5 credits, while the 2 gateway errors on October 14 cost nothing.

Caveat

Why hotel searches return fewer fields

For lodging queries Google does not show its business list; it shows Google Hotels cards. A search for "hotels in Lisbon" on November 1, 2026 returned 9 cards with title, price (for example "$37"), rating, review count, a short description and amenities such as "Pool" and "Free Wi-Fi", and a link to google.com/travel. None had an address, phone, website, GPS, place_id or cid, because Google gives none of these on the cards. Our probe for "hotel paris" shows the same 9-card pattern on every run.

Of the fields a hotel card does carry, rating and review count were filled on 93.6% of cards across 199 probe runs, category (for example "3-star hotel") on 52.9% and a photo on 48.1%. Prices are the nightly rate Google shows for default dates, as text with a currency sign. So a lodging query is good for a price and rating snapshot of a city, not for building a hotel directory: for addresses and IDs you need a second lookup per hotel, by name, or the hotel's own website.

Price

Google Maps scraper price per 1,000 places

A Ujeebu Maps call costs 5 credits per page. The first page held 20 places in every business probe; page 2 of our Chicago search held 10 more, one of them a repeat. Worked example for 1,000 unique places from first pages only: 50 calls x 5 credits = 250 credits, plus about 2% for empty answers that are still billed (20 of 1,059 probes) = 255 credits. On Starter ($49 for 300,000 credits, $0.000163 a credit) that is $0.042. Collecting from second pages instead (9 new places per 5 credits) costs about 560 credits, or $0.09.

USD per 1,000 business places, published prices read November 1, 2026
ToolEntry priceVolume priceFree allowanceWhat the price covers
Ujeebu SERP API (maps)$0.04 to $0.08 (Starter $49); $0.06 to $0.12 (pay as you go)$0.02 to $0.03 (Business $999)5,000 trial credits (up to 20,000 places)The Maps list fields; no review texts or emails
Apify Google Maps Scraper$4.00 per 1,000 (Apify free plan)$1.50 (higher Apify plans)$5 platform credit a month on the free planPlace pages; contacts, reviews and images cost extra per place
Outscraper$3.00 per 1,000 (501 to 100,000 places)$1.00 (after 100,000)First 500 placesPlaces; reviews and emails are separate, same tiers
SerpApi (google_maps)$1.25 (Starter $25, 20 places a page)$0.30 (Volume $1,475)250 searches a monthThe Maps list, 1 search per page

How we normalized: Ujeebu plan price divided by plan credits, times 5 credits, divided by 20 (first page) or 10 (second page) places. SerpApi: $25 / 1,000 searches / 20 places = $1.25 per 1,000 places on Starter, $1,475 / 250,000 / 20 = $0.30 on Volume, assuming one search per page of 20, which its pricing page implies but does not state for Maps. Apify prices are per scraped place by Apify plan tier ($0.004 down to $0.0015), from the actor's public pricing.

From our tests

How to scrape Google Maps listings for lead generation

  1. Put the place in the query. "dentists in Chicago, IL" returned 20 Chicago street addresses out of 20, with no location parameter at all.
  2. Prefer more queries over deeper pages. A first page gives 20 places for 5 credits; our page 2 gave 9 new places for the same 5 credits. Twenty neighbourhood or ZIP code queries cost less per place than paging one city query.
  3. Deduplicate on place_id and renumber. Page 2 of our Chicago search restarted its positions at 1 and repeated 1 place from page 1.
  4. Expect phone gaps by market. 99.8% of Chicago pizza places and 100% of London bookshops listed a phone, but only 67.1% of New York coffee shops did. Plan a website lookup for the rest.
  5. Get emails from the websites, not per-place fees. The website field was filled on 93.5% to 100% of business places. Fetching each site's contact page with the Scrape API costs 1 credit for a plain page.

See all search types on the SERP API page or try a Maps search in the Playground.

FAQ

Frequently asked questions

What is the best scraper for Google Maps business listings?

For enrichment (emails, review texts, images) Apify's Google Maps Scraper and Outscraper are the most complete. For the listing fields alone (place_id, address, phone, website, rating, review count, hours, GPS) a SERP API is faster and cheaper: Ujeebu returns 20 places for 5 credits, $0.04 to $0.08 per 1,000 places on the $49 plan.

How much does it cost to scrape 1,000 Google Maps places?

About $1.50 to $4.00 with Apify's Google Maps Scraper depending on your Apify plan, $3 with Outscraper after the first 500 free places, about $1.25 with SerpApi's Starter plan, and $0.04 to $0.08 with Ujeebu on the Starter plan (250 to 500 credits).

Does a Google Maps API return place_id and cid?

Ujeebu returns place_id, cid and feature_id for every business listing; our probes found them in 100% of places for business searches. Google Hotels cards (lodging searches) carry none of them.

Can I get Google Maps reviews and emails through the API?

Ujeebu returns the rating and the number of reviews, not review texts, and no emails, because it reads the result list rather than each place page. Apify and Outscraper sell reviews and email enrichment per place.

How many results does one Google Maps search return?

In our probes the first page always held 20 business places (9 cards for hotel searches). Page 2 of a Chicago dentist search held 10 more, numbered from 1 again, with 1 repeat from page 1.

Is a failed Google Maps search billed?

A failed search (timeout, block, server error) costs 0 credits on Ujeebu. A search Google answers with no places is a successful HTTP 200 response and costs 5 credits, the same rule SerpApi applies to empty result sets. 20 of our 1,059 Maps probes between October 10 and November 1, 2026 came back empty in this way.
Sources

Ujeebu figures come from our own API calls and health probes; competitor facts come from each vendor's public pricing and documentation pages, checked on . Prices change; check the vendor page before you buy.

  1. Apify Google Maps Scraper
  2. Outscraper Google Maps Scraper
  3. Outscraper pricing
  4. SerpApi Google Maps API
  5. SerpApi pricing
  6. Ujeebu SERP API docs
  7. Ujeebu AI Citation Index
Related comparisons and guides

Ujeebu publishes this page and sells one of the products on it. We do our best to keep it accurate and fair; if you see an error or a price that changed, please let us know.

Test it on your own targets

Benchmarks and price tables only go so far. Run your real URLs through two or three of these APIs during their free trials and compare success rate and cost per successful page.

Try Ujeebu free All comparisons