Google Maps Leads: No Website, Unclaimed Profiles avatar

Google Maps Leads: No Website, Unclaimed Profiles

Pricing

from $1.50 / 1,000 businesses

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

Google Maps Leads: No Website, Unclaimed Profiles

Filtered Google Maps business lists by category and area: businesses with no website, unclaimed profiles, low ratings, few reviews or recently listed. Server-side filters, so you pay only for matches. Freshness dates on every record, no emails.

Pricing

from $1.50 / 1,000 businesses

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

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.

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."
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:
    • 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.
  • 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.
  • 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, combine first seen in the last 60–90 days with fewer than 5 reviews.
  • 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.

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.

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.

More from SteadyScrape

  • Company Data by Domain: name, logo, description, industry and social links for a list of domains, from each company's own site. Enrich the leads that do have a website.
  • Google Rank Tracker: track where a site ranks on Google for its keywords, with AI Overview flags. Show a local lead where it stands before you pitch SEO.
  • Domain SEO Metrics: organic and paid traffic estimates, ranked keywords, backlinks and spam score for a list of domains.
  • Keyword Search Volume: Google search volume, CPC, competition and a 12-month trend for up to 10,000 keywords per run. Size the local demand behind each lead's services.

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

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