Guide · measured

How to scrape data from Google Maps

Three ways: copy listings by hand, run a scraper you configure, or order the finished list. Each returns the listing's own fields - name, address, phone, website, category, rating. Across 1,036,929 records we have scraped, 46.9% of the phones are mobiles and 31.1% of the businesses publish no website.

Three ways. What each one costs you, in money and in work.

1. By hand

Search Google Maps, open each listing, copy the fields into a spreadsheet. Free, accurate for what you read, and practical for a dozen businesses - a search shows a capped list, so a whole city or state means many searches and many hours.

2. A scraper you configure

An open-source script you run yourself, or a hosted scraper such as Apify, Outscraper, Bright Data or PhantomBuster that you set up and pay per record or per hour of run time. You get raw rows fast and at a low price per row; you own the setup, the cleaning, the de-duplication and any checking of the numbers.

3. Order the finished list

Leadity runs the scrape for you: pick a trade, an area and the filters - only mobiles, only businesses with no website, the owner's name - and the filters run inside the scrape, so a lead that fails one is never delivered and never billed. A business record is from $0.0032, a record with a carrier-verified mobile from $0.016.

The hosted scrapers are compared field by field, with each one's own prices and the date they were read, on the comparison page.

What a scrape returns. The columns, then the counts.

Every column a Leadity list carries, and what fills it
Company nameThe name on the Google Maps listing
Phone number and line typeThe number as listed, and its line type - mobile, landline, VoIP or toll-free - on any order that filtered by it
Owner nameWhen you bought the owner lookup: the confirmed name, or the row is not delivered
Address, city, state, ZIPAs listed, with the postal area it was swept from
TimezoneThe listing's local zone, so a call list can be sorted by when the office opens
CategoryThe niche it was found under
WebsiteThe listing's own site, or none - aggregator pages are dropped, not counted as a site
Rating and review countThe star rating and the review count at the moment of the scrape
Email and statusWhen you bought the email finder: the address off the business's own site, and on a verified-email order its verification result
Scraped atThe moment the listing was read, so nothing in the file is older than the run
Google Place ID and Maps linkSo anyone on your team can check the listing in one click

What a scrape returns, measured. 1,036,929 rows across 241 scrapes, read 5 September 2026.

Measured over our own scrape history, with the query for each figure
Phones that are mobiles46.9% (landline 27.5%, VoIP 23.1%, toll-free 2.0%)select phone_type, count(*) from leadity.leads group by 1
Of the rows customers were billed for88.0% mobile, 6.2% landline, 4.5% VoIPselect phone_type, count(*) from leadity.leads where charged_milli > 0 group by 1
Rows returned that were billed50.0% - the other half were returned by the sweep and never billedselect count(*), count(*) filter (where charged_milli > 0) from leadity.leads
Businesses publishing no website31.1% - aggregator pages such as Facebook or Yelp are not counted as a websiteselect count(*) filter (where website is null or btrim(website) = '') / count(*) from leadity.leads

The line type is read from each number's NANPA thousand block rather than its area code, which cannot answer the question - the Line Type Report counts why. The same figures for one trade at a time, by state, are in the business lists by trade.

Reuse it. Quote any figure here with a link back to this page. No business is named and no number appears: these are aggregate statistics about public listings.

How a sweep covers an area.

A single Maps search shows a capped list of businesses, so an area is swept one search at a time, each anchored on a ZIP code. Google answers a ZIP-anchored search with the businesses around it as well, so neighbouring searches overlap - the same business comes back again and again - and a clean list is a de-duplicated one.

Questions.

  • What the listing publishes: the business name, address, phone number, website, category, opening hours, rating and review count, and the link to the listing. The type of the phone line and the owner's name are not on the listing - they have to be looked up.

  • It depends on the trade and the place. Averaged over every ZIP code we have searched, from about 29 businesses a search (Marketing Agency) down to about 5 (Software Company), read 2026-09-25. A search anchored on one ZIP code also returns its neighbours, so a sweep of adjacent codes overlaps and has to be de-duplicated.

  • Classify every number by line type against the carrier's thousand-block record and keep the mobiles - an area code cannot tell you. On raw rows that is a step you add after the scrape; Leadity does it during the scrape, and 1,000 records with a carrier-verified mobile cost $16 to $58.

  • Not from the listing: a Google Maps listing carries no email. The address lives on the business's own website, so the scrape has to follow each listing's website and read the pages behind it. Leadity's email filter does that during the scrape and delivers only businesses whose site publishes an address, at 1 credit a record.

  • Search one trade in one area, collect every listing, then keep the ones you can use - usually a number that is a mobile, or a business with no website - and remove the repeats that neighbouring searches return. Leadity runs those steps as one order and bills only the records that pass.

  • Technically, yes - by hand, with a scraper you configure, or by ordering the list, the three ways above. Whether you may, and what you may do with the data, depends on where you are and what you do next, and that is a question for your own counsel; this guide does not answer it. Calling and texting US numbers is regulated separately - the TCPA risk checker is a checklist, not legal advice.

Related.

Last measured 5 September 2026. Prices derive from the live catalog at build time.

Skip the scraper, keep the list.

Pick a trade and an area, choose the filters, and export - from $0.0032 a business record, $0.016 with a carrier-verified mobile.