Google Maps Leads Scraper: No Website, Unclaimed, Low Rating · Apify
Google Maps Leads Scraper: No Website, Unclaimed avatar

Google Maps Leads Scraper: No Website, Unclaimed

Pricing

from $1.50 / 1,000 businesses

Go to Apify Store
Google Maps Leads Scraper: No Website, Unclaimed

Google Maps Leads Scraper: No Website, Unclaimed

Google Maps leads scraper with filters: local businesses with no website, unclaimed profiles, low ratings, few reviews or recently listed, by category and area. Filters run server-side, so you pay only for matches. Freshness dates on every record, no emails. From $0.002 per business.

Pricing

from $1.50 / 1,000 businesses

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

3 hours ago

Last modified

Features

Limited permissions

Share

Who it's for: Web designers, local SEO and marketing agencies and sales teams looking for local businesses that need help online.

What you get: Filtered Google Maps business lists: businesses with no website, soon-to-open and newly listed businesses, unclaimed profiles, low ratings or few reviews, with name, category, address, phone, rating, reviews and a freshness date.

Price: $0.005 per business that matches a filter ($0.002 per business with no filter) plus $0.015 per run. Empty runs are free.

Build filtered Google Maps business lists in one run: every plumber in Austin without a website, every unclaimed dentist profile within 15 km, restaurants rated below 4 stars, salons with fewer than 10 reviews, or listings first seen in the last 60 days.

The filters run on the data provider's side, so you only get (and only pay for) the businesses that match. You don't pay to scrape all of Maps and throw most of it away.

One-click lead presets (new)

Pick a preset in Lead preset and add a category and an area. That's the whole setup.

PresetWhat it returnsTypical buyer
noWebsiteBusinesses with no website on their Google profileWeb designers, website builders, local SEO
soonToOpenSoon-to-open and newly listed businesses: first seen in the last 90 days with no reviews yet, newest firstPOS, payments, insurance, signage, suppliers, local marketers
{ "categories": ["restaurant"], "coordinates": "30.2672,-97.7431", "radiusKm": 20, "leadPreset": "soonToOpen", "maxResults": 50 }

Presets only set the matching filters, so you can still add more (for example noWebsite + claimStatus: unclaimed). Your own First seen or Fewer reviews than values override the soonToOpen defaults. Both presets are segment lists and use the segment price below. Records whose name or description says "coming soon", "opening soon", "grand opening", "próximamente", "próxima apertura", "ouverture bientôt" or "prochainement" also get the opening-soon-text tag.

Canada: city presets and French (new)

Pick a Canadian city preset (Toronto, Montréal, Vancouver, Calgary, Ottawa, Edmonton, Winnipeg, Québec City, Mississauga, Hamilton, Brampton, Surrey, Laval, Gatineau, Halifax, Victoria, Kitchener-Waterloo, London ON, Saskatoon, Regina, Sherbrooke, Longueuil) and the Actor fills in the city-centre coordinates and countryCode: CA. Set Radius (km) for the area you want; the form shows a suggested whole-city radius for each city.

French category names work as input: toiture / couvreur (roofing contractor), revêtement extérieur (siding), coiffure (hair salon), plombier, électricien, dentiste, paysagiste, garderie and more. The run log shows how each French name was mapped. French "opening soon" wording (ouverture bientôt, prochainement, grande ouverture, nouvelle ouverture, ouverture le 5 décembre…) also sets the opening-soon-text tag.

{ "categories": ["toiture", "revêtement extérieur"], "cityPreset": "ottawa", "radiusKm": 25, "leadPreset": "noWebsite", "maxResults": 100 }
{ "categories": ["restaurant", "café"], "cityPreset": "montreal", "radiusKm": 15, "leadPreset": "soonToOpen", "maxResults": 50 }

Same prices as every other run. Contacting Québec businesses? Consider dropPhones for sole traders (Law 25), and follow CASL for any outreach.

Made by SteadyScrape (steady-scrape). Note: we are not the similarly named "steadyscrape" account on Apify.

What you can do with it

SegmentWho uses itPitch it enables
No website (or only a Facebook/Instagram/Yelp page)Web design agencies, website builders"You have no website, and customers search for you on Google."
Unclaimed profileLocal SEO agencies, GBP management tools"Your Google profile is unclaimed. Anyone can suggest edits to it."
Rating below XReview management and reputation SaaS"Your 3.6★ rating is costing you calls."
Fewer than Y reviewsReview-generation tools, local marketers"Your competitors have 10× more reviews."
Soon to open / first seen recentlySuppliers, POS/payment vendors, insurers"Welcome to the neighbourhood." (see the caveat below)
StatusMarket analysts, franchise scoutsTemporarily or permanently closed businesses in an area

You can combine filters, for example unclaimed + no website + fewer than 5 reviews.

Input

  • Categories: 1–10 Google Maps categories (plumber, dentist, roofing_contractor, hair_salon, restaurant, auto_repair_shop…). Spaces and capitals are fine. A misspelt category fails right away, with suggestions, and costs nothing.
  • Location: use one of these:
    • Canadian city preset (one click, see the Canada section above).
    • Coordinates + radius (recommended): 30.2672,-97.7431 with 15 km. This catches suburbs that a city name misses.
    • City (exact name as written in the address; lowercase input is auto-capitalised) plus country code.
    • Postal code, or a country code alone for country-wide lists.
  • Lead preset: noWebsite or soonToOpen (optional, see above).
  • Segment filters: website, claim status, rating below, fewer reviews than, first seen in the last N days.
  • Other filters: business status (defaults to operating, which excludes temporarily and permanently closed businesses), rating at least, minimum reviews, record refreshed in the last N days.
  • Output: max businesses (up to 10,000 per run), sort order, drop phones, include hours, include attributes.

Example: Austin plumbers with no website and an unclaimed profile, within 25 km

{
"categories": ["plumber"],
"coordinates": "30.2672,-97.7431",
"radiusKm": 25,
"website": "noWebsite",
"claimStatus": "unclaimed",
"maxResults": 200
}

Output

One record per business:

  • Business: name, main and additional categories, description (email addresses masked), price level.
  • Location: full address and its parts (street, city, postal code, region, country), latitude and longitude, Google placeId and cid, and a Google Maps link.
  • Website: URL and domain, hasWebsite, and websiteIsSocialProfile (true when the "website" is just a Facebook or Instagram page).
  • Business phone: from the Google profile. Set dropPhones to remove it. That also masks phone-like numbers in the description.
  • Profile: isClaimed, rating, review count, 1–5★ distribution, photo count, hasLogo.
  • Status and hours: current status and weekly opening hours.
  • Extras: Google attributes (delivery, wheelchair access…), review topic keywords, and booking or ordering links.
  • segmentTags: which segments the business falls into, e.g. no-website, unclaimed, no-reviews, rating-below-4, likely-new-or-opening-soon (first seen recently, no reviews yet, not closed) and opening-soon-text (the name or description says "coming soon", "opening soon" or "grand opening").
  • Freshness: lastUpdatedTime (when the database last refreshed the record), firstSeen (when the provider's crawler first found it), and dataAgeDays.
{
"name": "Example Plumbing Co",
"category": "Plumber",
"city": "Austin",
"postalCode": "78727",
"countryCode": "US",
"phone": "+1512-000-0000",
"website": null,
"hasWebsite": false,
"isClaimed": false,
"rating": 4.8,
"reviewsCount": 27,
"businessStatus": "open",
"segmentTags": ["no-website", "unclaimed"],
"lastUpdatedTime": "2026-09-12T20:57:59Z",
"firstSeen": "2024-07-14T17:54:36Z",
"dataAgeDays": 45,
"googleMapsUrl": "https://www.google.com/maps?cid=..."
}

A run summary (number of matches in the database, filters used, charges) is saved to the OUTPUT record in the key-value store. Export the dataset as CSV, Excel or JSON, or pull it over the API.

What we deliberately leave out

  • No email addresses. We drop the provider's contact list (emails and extra phone numbers scraped from other websites) and mask emails found in descriptions.
  • No owner or person names, no reviewer data, no photos.
  • Phone is optional. The business phone is the number the business published on its own Google profile. Turn on dropPhones if you don't need it. We recommend turning it on if you target sole traders in the EU, UK or Quebec, where a one-person business's phone can count as personal data.

Data freshness: please read

This Actor queries a regularly refreshed database of Google Maps listings (licensed from a data provider). It does not load Google Maps live at run time. In our tests (October 2026), most active listings had been refreshed within the previous 1–2 months. Records for closed businesses can be a year or more old. Every record carries lastUpdatedTime and dataAgeDays so you can judge for yourself, and the "Record refreshed in the last N days" filter drops stale records.

Other things to know:

  • "First seen" is not an opening date. It is when the provider's crawler first found the listing, and an established business can be "first seen" recently. To find likely new businesses, use the soonToOpen preset (first seen in the last 90 days, no reviews yet) or combine first seen in the last 60–90 days with fewer than 5 reviews. Google doesn't publish an exact opening date, so treat these as likely new or about to open.

  • Only new since last run: turn on the monitor option and set a Monitor name (one name per town or saved search). The first run saves every matching placeId as a baseline and returns nothing (and is not charged). Later runs return only businesses not seen before, and you are charged only for those. Set maxResults high enough to cover the area so the baseline is complete. The state is stored in a named key-value store on your account (maps-leads-monitor-…) and IDs not seen for 180 days are dropped.

  • Coverage is good but not 100% of Google Maps. Some businesses are missing, and a business can have a website that Google doesn't show. Check a lead on its Google Maps link before you pitch.

  • "close" status means the business was outside its opening hours at crawl time. It does not mean the business is closed for good. Permanently closed businesses show closed_forever.

Pricing

Pay per event. You pay only for businesses delivered, and businesses that match a premium segment filter (no website, unclaimed, rating below, fewer reviews, first seen) are priced as segment results. Runs that return no businesses, have invalid input or hit provider errors are not charged. The Actor respects your maximum charge per run: it requests only as many businesses as fit your budget.

EventPriceWhen it's charged
Run start$0.015 per runOnce per run, only if at least one business is returned
Business$0.002 per business ($2.00 per 1,000)Each business delivered when no premium segment filter is used
Segment business$0.005 per business ($5.00 per 1,000)Each business delivered when a premium segment filter is used (no website, social-only, unclaimed, rating below, fewer reviews, first seen)
Actor start (Apify)$0.00005 per runApify's standard start event (one per GB of memory; the default 256 MB is one event)

Examples: 100 plumbers with no website cost $0.015 + 100 × $0.005 = $0.515. 1,000 dentists with no segment filter cost $0.015 + 1,000 × $0.002 = $2.015. Apify's $0.00005 start event comes on top. Filters such as category, location, business status, sorting or "updated within N days" don't make a run a segment run.

The default maximum charge per run is $3.00, about 10–20 typical runs. Raise it in the run options if you need a larger job.

Run time and cost examples

Costs use the current list prices on the Apify Free plan, including Apify's $0.00005 start event. Run times are from our own test runs in October 2026 at the default memory; yours depend on the input.

RunRun time (our tests)Cost (Free plan)
20 plumbers in Austin, TX with no website and an unclaimed profileabout 4 sabout $0.115
100 plumbers with no websitenot measured yetabout $0.52
1,000 dentists, no segment filternot measured yetabout $2.02

Business: $0.002 on the Apify Free plan, $0.0018 on Starter (Bronze), $0.0016 on Scale (Silver), $0.0015 on Business (Gold) and above. The discount is applied automatically. Segment business: $0.005 / $0.0045 / $0.004 / $0.00375.

Tips

  • Covering a big metro: run a few coordinate circles of 10–25 km rather than one huge radius, then dedupe on placeId.
  • Finding category names: use the Google Maps category in snake_case (roofing_contractor, nail_salon, real_estate_agency). A misspelling returns suggestions.
  • Scheduling: run it weekly with first seen in the last 7 days to get a feed of newly listed businesses in your area.

Use it from an AI agent (Apify MCP)

Give Claude, Cursor, VS Code or any other MCP client this Actor as a tool through the Apify MCP server. Add this to your client's MCP config; you sign in to Apify with OAuth on first connect:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=steady-scrape/google-maps-business-segments"
}
}
}

Clients without OAuth can send an Authorization: Bearer <APIFY_TOKEN> header instead. Then ask, for example: "Find plumbers within 25 km of Austin, TX that have no website on their Google Maps profile." The agent starts a normal run, so the prices above and your maximum charge per run still apply.

FAQ

Is this a Google Maps scraper? No browser and no scraping at run time. It reads a licensed, regularly refreshed database of Google Maps listings, which is why runs are fast and never get blocked, and why records come with freshness dates.

Why is my list shorter than Google Maps shows? The filters are strict (for example, "no website" means no URL at all on the profile), and the database doesn't hold every listing. Use a larger radius or fewer filters.

Can I get emails? No, by design. This Actor gives business-level data only.

Is it legal to use this data? The data covers publicly listed businesses. You are responsible for following the marketing and privacy laws that apply to you (for example the GDPR, PECR, CASL, Quebec's Law 25, the TCPA and do-not-call rules) and for honouring opt-outs.

How do I find local businesses without a website? Pick a category and an area, set the website filter to no website, and run. You get only businesses whose Google Maps profile has no website, priced as segment results.

How do I find businesses that are opening soon? Use the soonToOpen preset. It returns listings first seen in the last 90 days that have no reviews yet, newest first, which is where soon-to-open and just-opened businesses show up. For a weekly feed of only listings that appeared since last time, turn on Only new since last run and give the search a Monitor name.

Is there a preset for businesses with no website? Yes: leadPreset: noWebsite. Add claimStatus: unclaimed to get the warmest web design leads.

Can I find unclaimed Google Business Profiles? Yes. Use the unclaimed filter; it's one of the premium segment filters.

How much does a list of 100 leads cost? About $0.52 for 100 businesses with a segment filter, or $0.22 without one.

Ready-made examples and workflows

More from SteadyScrape

See every SteadyScrape (steady-scrape) Actor on our Apify profile.

The Agency Lead Stack

Running lead gen for clients? These work as one workflow:

  1. Find the businesses — Google Maps Leads pulls segmented local business lists (apify.com/steady-scrape/google-maps-business-segments)
  2. See what they're running — Google Ads Transparency shows every Google ad a prospect or competitor is live with (apify.com/steady-scrape/google-ads-transparency)
  3. Read their reviews — Review Intelligence pulls Google, Trustpilot and Tripadvisor reviews without reviewer names, plus rating trends and AI complaint themes (apify.com/steady-scrape/review-intelligence)
  4. Keep watching — pair them with the monitors above so new tenders, offers and creatives land as they change.

Questions or a filter you need? Open an issue on the Issues tab.

Acceptable use

You may not use results from this service to build or operate a search engine, or any product or service that competes with or harms the business of search engine providers.

— SteadyScrape