·11 min read·extract sales list from Google Maps

How to Extract a Sales List from Google Maps (2026): Manual vs API vs SaaS

Three ways to extract a sales list from Google Maps (manual copy-paste / building on the Places API / SaaS), compared on real cost, speed, and the fields you get. The math behind 8 hours and ¥15,000 per 100 records by hand vs. 3 minutes and ¥400 with SaaS — plus how to do it without breaking the terms of service.

Related:Google Maps lead listGoogle Places APIis Google Maps scraping legalGoogle Maps business data

"Search a business category on Google Maps and storefronts line up by the dozen. If I could just turn that into a sales list, my outreach would get a whole lot faster" — anyone doing B2B sales has had this thought at least once. And it makes sense: Google Maps is the world's largest database of businesses, covering addresses, phone numbers, opening hours, official websites, and review counts.

But turning that information into a usable sales list comes down to three options, and they differ enormously in cost, speed, and compliance. This article compares each approach with hard numbers and makes it clear which one delivers the best return on investment as of 2026.

Three ways to build a sales list from Google Maps

ItemManual copy-pasteBuild on the Places APISaaS (bacotto)
Time for 100 records8 hours2-5 days to build + 30 min to extract3 minutes
Cost per 100 records¥15,000 (at a ¥1,200/hr rate)¥1,700 (API charges only)¥400
Initial setupNoneGoogle Cloud billing + buildEmail signup only
Email captureAPI doesn't return itauto-pulled from official sites
Instagram / LINE capture
Closed-business filter
Terms-of-service riskCopy-paste is legal (within reason)Fully compliantFully compliant
Best forSpot research, under 10 recordsTeams with engineers, long-term useSales reps and owners

1. Manual copy-paste — open Google Maps in a browser and paste

The simplest method. Search "Shibuya hair salon" on Google Maps, click each listing one by one, and paste the name, address, phone number, and website URL into a spreadsheet. Anyone can do it — but it takes 3-5 minutes per record.

  • Pros: zero upfront cost, no special skills, works in a browser alone
  • Cons: 5 min per record = 8 hours for 100, a full 5 days for 500. Instagram and LINE Official accounts have to be researched separately
  • Best for: spot research under 10 records — checking a single competitor and similar small jobs
Scraping violates the terms of service
Bulk-harvesting Google Maps with automation tools (Puppeteer / Selenium / crawlers of any kind) clearly violates the "no automated access" clause of the Google Maps Terms of Service. There are precedents for account suspension, damages claims, and even criminal complaints (e.g. hiQ Labs vs. LinkedIn in the US), so avoid it entirely.

2. Build on the Google Places API — an option if you have engineers

This is the paid API Google officially provides. Send a query like "Shibuya hair salon" and you get a list of storefronts back as JSON. It's the compliant, correct approach, but there are a few pitfalls.

Real cost estimate (Places API pricing as of May 2026)

ItemUnit pricePer 100 recordsPer 1,000 records
Text Search (Pro tier)$0.032/call$0.16 (¥24)$1.60 (¥240)
Place Details (Pro tier)$0.017/call$1.70 (¥255)$17 (¥2,550)
Photos (if captured)$0.007/call$0.70 (¥105)$7 (¥1,050)
Subtotal (excl. Photos)~¥280~¥2,800
Build effort (2-5 days × an engineer's rate) is extra — ¥100k-300k.

What the Places API can't give you

  • Email addresses: never returned (you have to fetch the official website yourself and parse the HTML)
  • Instagram handles / LINE Official accounts: Google Maps doesn't hold them in the first place
  • An "actually open" flag: business_status is only "OPERATIONAL", so it can't tell a live business from one that's "advertising but effectively closed"
  • Review text: rating and user_ratings_total are available, but detecting "now closed" in review wording takes separate processing
Mind the Places API field mask
Requesting every field with `*` bumps you to Enterprise-tier billing and inflates cost 5-10×. The golden rule is to specify only the fields you need via field_mask. bacotto requests only the minimal Pro-tier fields, keeping cost to a yen or two per record.

3. SaaS (bacotto) — Places API + official-site crawl + a compliant, pre-built pipeline

bacotto combines all of it into one SaaS: the Google Places API, a terms-compliant crawl of the official sites it returns, extraction of Instagram and LINE Official links from the HTML, and closed-business detection. It's faster than doing it by hand, cheaper than building it yourself, and captures more fields — an "inverted pyramid" of a solution.

Channels captured in a single request
Official website URL
Capture rate 98%
Phone number
Capture rate 95%
Address
Capture rate 100%
Email address
Capture rate 75-85%
Instagram
Capture rate 60-70%
LINE Official
Capture rate 30-45%
Google review count
Capture rate 100%

Real example: capturing "Shibuya hair salons" with all three methods

Time and cost to capture 100 records
8h
Manual copy-paste
2-5 days
Build the API yourself + 30 min to extract
3 min
bacotto

The gap widens as record counts grow. Manual work scales linearly in time; once built, the API runs freely, but you still can't get Instagram and the like. SaaS captures records in minutes regardless of scale.

Terms and law — what's illegal or against the rules

  1. OK: viewing Google Maps in a browser and copy-pasting by hand — fully legal (within personal use)
  2. OK: capturing via the Google Places API — legal because it's the official API, though rate limits and attribution requirements apply
  3. OK: crawling official-site URLs you captured, in compliance with robots.txt and each site's terms — legal
  4. NG: auto-crawling Google Maps with Puppeteer / Selenium — a terms violation, with IP-block and legal-action risk
  5. NG: reselling captured personal data without the person's consent — violates the Act on the Protection of Personal Information (sales lists of corporate info are generally fine, but reselling personal social-media accounts is not)

Which method should you choose?

It comes down to volume and how often you run it.

  • One-off, under 10 records: manual is plenty — done in 30 minutes
  • One-off, 100-1,000 records: paying ¥4,000-40,000 once for SaaS is fastest. Building it yourself isn't worth the time cost
  • Ongoing, 100+ records a month: a SaaS subscription is ideal — from ¥1,980/mo (Starter)
  • Ongoing, 5,000+ records a month: either build it yourself with a dedicated engineer, or use the SaaS Business plan (¥29,800/mo)

Frequently asked questions

Q. There are vendors selling Google Maps scraping tools — are they safe?

Under the terms of service, absolutely not. Few users have been held legally liable, but if Google bans your account (Google Workspace / Gmail / Drive, etc.), your operations grind to a halt. Use a legitimate tool that goes through the Places API (bacotto included).

Q. Is it free if I stay within the Places API free tier ($200/mo)?

Technically yes, but Text Search + Place Details burns $1.86 per 100 records, so you hit the ceiling at around 10,000 records. On top of that, building the official-site-to-email extraction yourself takes 2-5 days. Fine if an engineer has spare time and wants a hobby project. Run it as a business and SaaS becomes cheaper the moment you account for the hourly cost.

Q. Is it OK to pull a competitor's storefront phone numbers and pitch them?

A storefront's public phone number is treated as corporate information and falls outside the scope of the Act on Specified Commercial Transactions and the Act on the Protection of Personal Information. That said, there are separate requirements — such as opt-out notices when sending email — under the Act on Regulation of Transmission of Specified Electronic Mail and the Act on Specified Commercial Transactions.

Try extracting a sales list from Google Maps in 3 minutes
Sign up and get 20 records free. No credit card required.
Try it free

Type industry × region — list ready in 3 minutes.

Address, phone, email, official site, Instagram, LINE — pulled together. Try 20 leads free (no credit card).

Start free →

Browse popular industry × region combos

Start from the most-searched industry / region pairings — your list is ready in minutes.

Related posts