Step 1
Describe the search
Plain English, the way you would type it into Maps: "roofing companies within 25 miles of Phoenix." Agent actions (Scale and up) type the query and set the area before the robot starts reading.
A Google Maps scraper, or Google map extractor, turns local listings into structured rows: business name, category, address, phone, website, rating, review count, and hours. WebRobot does it with an AI agent. Describe the search in plain English, name the fields you want, and it runs the query, scrolls every result, opens each listing, and delivers clean, deduplicated rows to a spreadsheet or your CRM on a schedule.
No CSS selectors to maintain, no extension to babysit. The robot stores what you asked for, not a brittle path, so the daily pull keeps landing after Google reshuffles its layout.
Robot console
No account needed Running · s Complete · rows
Fields
| Field | What it is | Who uses it |
|---|---|---|
| Name and category | Business name plus primary and secondary categories | Segmenting a lead list by exactly the kind of business you sell to |
| Phone and website | Public phone number and the site linked on the listing | Lead gen and outreach: the two fields a sales list lives or dies on |
| Full address | Street, city, state, ZIP, and map coordinates | Territory planning, dedupe key, and mapping density on a heat map |
| Rating and review count | Star average and total number of reviews | Prioritizing prospects (a 3.4-star business needs your reputation service) |
| Individual reviews | Reviewer, star rating, date, and full review text | Reputation monitoring, sentiment analysis, and competitor teardown |
| Hours and price level | Opening hours by day and the dollar-sign price band | Market research and enriching an existing local database |
| Claimed status | Whether the owner has verified the listing | Local SEO agencies: an unclaimed listing is a warm pitch |
The same engine reads any structured page, so a Maps pull can flow straight into the same sheet as your web scraping for lead generation workflow. For the category overview, start at the web scraping tool pillar.
Two routes
| Places API (New) | Scraping the listings | |
|---|---|---|
| Cost model | Per request, billed by field group (SKUs); costs climb fast at bulk volume | Flat monthly plan, no per-record fee |
| Coverage | One place or a bounded search per call | Every result for a query across a metro or state |
| Reviews | Capped at roughly five per place | The visible reviews on the listing |
| Storage | Terms limit how long most fields may be cached | You hold the data you collect (within the law and public-data limits) |
| Terms | Fully sanctioned by Google | Automated access sits against Google's terms; use judgment and low frequency |
| Best for | Licensed enrichment of a few clean fields | Bulk local lists, full reviews, fields the API caps |
Most teams combine them: the API for the handful of fields Google licenses cleanly, a scraper for the breadth and the review depth the API will not give you. If you are comparing per-record Maps vendors, the Outscraper pricing breakdown works through the bill for a recurring lead list. On legality generally, see is web scraping legal.
Procedure
Step 1
Plain English, the way you would type it into Maps: "roofing companies within 25 miles of Phoenix." Agent actions (Scale and up) type the query and set the area before the robot starts reading.
Step 2
"Name, category, address, phone, website, rating, review count, hours." The robot opens each listing for fields the results panel hides. No selectors, no code.
Step 3
The robot scrolls the results panel to the end so you get every place, not just the first screen, and dedupes on address and phone so each business appears once.
Step 4
Google Sheets, Excel, Slack, Zapier, or the REST API into your CRM. Schedule weekly and each run flags new businesses and closed ones so the list stays current.
Use cases
Every business in a category and a radius, with phone and website, in one sheet. Agencies and B2B teams selling to plumbers, dentists, restaurants, or gyms build a whole territory list in an afternoon instead of copying pins by hand.
Pull ratings, review counts, and claimed status across a client's competitors. An unclaimed listing or a 3.5-star average is a concrete pitch, and tracking it monthly shows the work is moving the number.
Map how many competitors operate in a metro, their density by ZIP, their rating spread, and their price bands before you open a location or enter a market. The coordinates plot straight onto a heat map.
Track review text and star movement across dozens of locations, feed it to a sentiment model, and catch a location whose rating is slipping before it shows up in revenue. For a reviews-first workflow, see the Google reviews scraper, or pair it with website change monitoring.
You have a list of business names but no phone, website, or category. Point the robot at Maps to fill the gaps and confirm each business is still open, so your CRM is not full of dead records.
Seed a niche directory or comparison site with structured, categorized listings, then refresh it on a schedule so hours, phone numbers, and closures stay accurate without manual upkeep.
Pricing is flat: plans on pricing start at $79 per month with no per-record fee inside the plan's allowance, so a weekly refresh does not add a new bill. For a broader directory pull, see the data extraction tool.
Buyer's table
| Option | How it charges | Best for | Watch out for |
|---|---|---|---|
| Outscraper | 500 places free a month, then $3 per 1,000, $1 per 1,000 past 100,000 | One-off lists and huge national pulls | Contacts, email checks and phone lookups are billed as separate services; every rerun is billed again. See Outscraper pricing |
| Apify Google Maps actor | Pay per event on top of an Apify plan | Developers who script runs and chain actors | Details, contacts, reviews and social profiles are separate events. See Apify pricing |
| Google Places API | Per request by field group, with free monthly usage caps | Licensed lookups inside your own app | Search results capped per query, a handful of reviews per place, storage limits |
| Chrome extensions | Credits per row or a small monthly fee | Grabbing the results page you are looking at | Runs in your browser, so no schedule and no unattended refresh. See the Thunderbit alternative |
| WebRobot | Flat plan: Launch $79 for 10,000 records, Scale $249 for 100,000 | Lists refreshed on a schedule, plus fields read from each business website or other directories | Pricier than Outscraper for a single one-off pull; we say so on the Outscraper alternative page |
Agencies
Columns
Business name, primary category, phone, website, city, full address, star rating, review count, claimed status and hours, one row per listing, in a Google Sheet your team already uses.
Refresh
Schedule it for every client market. On Scale, change alerts post to Slack when a competitor's rating or review count moves, which is the proof a retainer is working.
Beyond Maps
The same robot opens each listed website and records what you ask: online booking, a reviews page, a phone number that matches the listing. That is the part a Maps-only tool cannot see.
FAQ
Describe the search, name the fields, and get a fresh, deduplicated local dataset on a schedule.