Google Maps New Business Radar: New Openings Leads, $3/1K avatar

Google Maps New Business Radar: New Openings Leads, $3/1K

Pricing

from $1.80 / 1,000 new places

Go to Apify Store
Google Maps New Business Radar: New Openings Leads, $3/1K

Google Maps New Business Radar: New Openings Leads, $3/1K

Find newly opened businesses on Google Maps in any city: no or few reviews, recent first review, no photos or hours yet. Newness score 0-100 with reasons, phone, website. Monitor mode returns only places new since the last run. No login, no API key. $3 per 1,000 new places.

Pricing

from $1.80 / 1,000 new places

Rating

0.0

(0)

Developer

Detroit Web Agent - Open Data

Detroit Web Agent - Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Google Maps New Business Radar

Google Maps New Business Radar: features, price and a real output row

Run it free on Apify

Price per 1,000 businesssFree planStarterScaleBusiness
This Actor$3.00$2.50$2.20$1.80
Most-used alternative$10.00$10.00$10.00$10.00

Google Maps New Business Radar sample output table from a real run

Find businesses that just opened, or are about to open, in any city or neighborhood on Google Maps. Pick a category ("restaurant", "hair salon", "dentist") and a place ("Austin, TX"), and the actor returns the new-looking listings with a newness score from 0 to 100, the plain-English reasons behind it, and the phone, website and address you need to reach them first.

Schedule it weekly in monitor mode and you get only the places that appeared since the last run. No login, no API key, no Google Cloud billing.

What it does

A normal Google Maps search shows the ~120 most popular places in a city, so a business that opened last month never appears. This actor lays a grid of small, zoomed-in map views over your area (the way you would pan around the map by hand), collects every listing it sees, and keeps the ones that look new:

  • no Google reviews yet, or only a few
  • a first review that is weeks or months old, not years (it opens each candidate's listing to read the review dates, so a quiet 2019 bar with 4 reviews is skipped)
  • no photos or only a couple, no opening hours yet, no website, listing not claimed
  • Google opening labels such as "Opening soon" when the listing shows one
  • in monitor mode: the place was not on the map on your previous run

Big chains (Starbucks, Chipotle, State Farm and any name that repeats 3+ times in the same search) are skipped by default, so you get independent owners.

Who it is for

  • Agencies and freelancers selling websites, logos, local SEO, Google Business Profile setup or social media: a new place with "No website on the listing" is the warmest lead there is.
  • B2B sales to new businesses: POS and payments, insurance, payroll, food suppliers, linen and uniform services, signage, cleaning, coffee roasters.
  • Commercial real estate, franchise and market researchers tracking where new openings cluster.
  • Local media and newsletters writing "new in town" lists.

Input

FieldDefaultWhat it does
Categories["restaurant"]Kinds of business, as typed into Google Maps.
Locations["Austin, TX"]City, neighborhood, ZIP or lat,lng. The size of the area comes from Google (city about 20 km, neighborhood about 2 km) or from Search radius.
Google Maps search URLs-Optional. A Maps search URL; the term and the map center are used.
Max reviews5"New" means this many reviews or fewer.
Include places with no reviewsonZero-review places are often not open yet.
Check review datesonReads review dates so old quiet places are dropped.
Max age of first review365 daysOlder first review = not new.
Min newness score20Raise to 40+ for only the strongest leads.
Require these signals-e.g. only places with No website, or Listing not claimed.
Exclude chains / closed placeson / on
Places to scan per search200Places looked at per category x location. About 2-5% of a city's listings look new, so 200 gives a handful and 1,000+ sweeps a city. You pay only for new places delivered, not for places scanned.
Max results0 (no limit)Stop after this many rows.
Monitor modeoffRemember every scanned place and return only places not seen before.

Running it with an empty input {} scans restaurants around Austin, TX and returns new places in about 10-30 seconds.

Three ready-made inputs:

{ "categories": ["restaurant", "cafe", "bar"], "locations": ["Austin, TX"], "maxPlacesPerSearch": 400 }
{ "categories": ["hair salon", "barber shop", "nail salon"], "locations": ["Frisco, TX", "McKinney, TX"], "requireSignals": ["noWebsite"], "maxPlacesPerSearch": 500 }
{ "categories": ["dentist", "physical therapist", "med spa"], "locations": ["Charlotte, NC"], "maxPlacesPerSearch": 1000, "onlyNew": true, "monitorKey": "charlotte-health" }

Output sample

One row per new-looking place, best score first:

{
"placeId": "ChIJBbJkTQCxRIYRGuTvli4P2Ek",
"name": "Taqueria La Frontera",
"category": "Mexican restaurant",
"address": "8701 FM812, Austin, TX 78719",
"phone": null,
"website": null,
"rating": 5,
"reviewsCount": 1,
"photosCount": 1,
"openingStatusLabel": null,
"newnessScore": 75,
"newnessSignals": [
"Only 1 Google review",
"Only 1 photo on the listing",
"No opening hours published yet",
"No website on the listing",
"First review only 3 months ago"
],
"signalCodes": ["fewReviews", "fewPhotos", "noHours", "noWebsite", "recentFirstReview"],
"oldestReviewAt": "2026-07-20T01:59:08.759Z",
"hasOpeningHours": false,
"claimedByOwner": true,
"isChain": false,
"firstSeenAt": "2026-10-14T00:16:57.086Z",
"mapsUrl": "https://www.google.com/maps/search/?api=1&query=Taqueria%20La%20Frontera&query_place_id=ChIJBbJkTQCxRIYRGuTvli4P2Ek",
"lat": 30.1630371,
"lng": -97.692226,
"searchTerm": "restaurant",
"location": "Austin, TX",
"scrapedAt": "2026-10-14T00:16:57.086Z"
}

Also in every row: categories, city, state, postalCode, countryCode, newestReviewAt, permanentlyClosed, temporarilyClosed. The run's OUTPUT record lists how many places were scanned per search and why the rest were skipped.

Pricing

Pay per result: $3 per 1,000 new places on the free plan, less on paid Apify plans. Places that were scanned but skipped (established, chains, closed, below your score, duplicates, already seen in monitor mode) are never charged.

Apify planPer new placePer 1,000
Free$0.0030$3.00
Bronze$0.0025$2.50
Silver$0.0022$2.20
Gold and up$0.0018$1.80

Plus a $0.00005 start fee per run. A weekly monitor of one category in one city usually costs a few cents. Set Max cost per run in the run options and the actor stops cleanly at that amount.

Use it from code, Make, Zapier or an AI agent

curl "https://api.apify.com/v2/acts/transparent_meteorite~google-maps-new-business-radar/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"categories":["coffee shop"],"locations":["Denver, CO"],"maxPlacesPerSearch":300}'

MCP (Claude, Cursor, any MCP client): add the Apify MCP server with this actor enabled:

{ "mcpServers": { "apify": { "url": "https://mcp.apify.com/?actors=transparent_meteorite/google-maps-new-business-radar" } } }

Then ask: "Which new restaurants opened in Austin in the last few months that have no website yet?"

Monitor mode: new places every week

Turn on Monitor mode, give it a Monitor name, and schedule the actor (Schedules > Create, weekly). The first run builds the baseline of every place it scanned, with the date first seen. Each later run returns only places that were not there before, marked "Appeared since your last run", and you pay only for those. The state lives in a named key-value store in your account (google-maps-new-business-radar), so it survives between runs and you can delete it any time.

Limits (honest list)

  • Newness is inferred, not announced. Google has no "opened on" date. The score combines the signals above; a long-standing place with a brand-new listing can look new. The reasons are listed on every row so you can judge.
  • Coverage depends on "Places to scan per search". The actor scans map views from the center outward in a stable order and stops at that number. A big metro needs 1,000-3,000 to cover; you are only charged for new places found.
  • Review dates come from the reviews Google shows publicly on the place page (up to about 5 keyless), which is enough to date the first review of a place with 5 or fewer.
  • It reads the same public data the Google Maps website shows to any visitor who is not logged in. No login, no cookies from your account, no CAPTCHA solving. Google can rate limit an IP; the actor rotates proxy sessions and switches to residential proxy automatically when needed.
  • Google's robots.txt asks automated agents to stay away from parts of /maps/. This actor makes the same requests the Maps page makes for a visitor, at a modest rate (at most 2 at a time).

Run in 30 seconds

  1. Open the Actor page and click Try for free (or Start if you are already signed in).
  2. Paste this example into the JSON tab of the input, or just keep the prefilled values:
{
"categories": ["restaurant"],
"locations": ["Austin, TX"],
"maxPlacesPerSearch": 200,
"minNewnessScore": 20
}
  1. Click Start. A small run finishes in roughly 10 to 30 seconds.
  2. Open the Output tab to read the table, or use Export to download CSV, Excel or JSON. The best newness scores are listed first.

Signal reference: what the newness score is made of

Every row carries newnessSignals (plain English) and signalCodes (machine-readable). The codes below are also the values accepted by the Require these signals input.

CodeMeaning
openingLabelGoogle shows an opening label such as "Opening soon"
noReviewsThe listing has no reviews yet
fewReviewsThe listing has few reviews (includes none)
noPhotos / fewPhotosNo photos, or only a couple
noHoursNo opening hours published yet
unclaimedThe listing is not claimed by its owner
noWebsiteNo website on the listing
recentFirstReviewThe oldest public review is recent
newSinceLastRunMonitor mode: the place was not on the map on your previous run

The score is a weighted summary of these signals, scaled from 0 to 100. A score near 75 means several independent signals agree. A score near 20 means only one weak signal fired, so treat it as a maybe. The listed reasons are there so a person can judge every row in a few seconds.

Playbooks by buyer

Web design and local SEO. Require noWebsite for site builds, or unclaimed for Google Business Profile setup. Search a handful of high-turnover categories (restaurant, cafe, hair salon, barber shop, nail salon) in the suburbs around you, not only the core city, where competition for the same lead is lower.

Payments, POS and insurance. A place with noHours and fewReviews is usually still being fitted out, which is the moment owners choose a payment processor and a policy. Use a monitor schedule so you see the listing in its first weeks.

Suppliers and services. Food distributors, uniform and linen services, cleaning, signage and coffee roasters can search the category they sell into and call the owner before the opening date.

Commercial real estate and market research. Leave all filters at their defaults, set maxPlacesPerSearch to 1000 or more and compare how many new listings each neighborhood produces. Run it monthly to see where openings cluster.

Local media. Combine openingLabel with a low minNewnessScore to collect "opening soon" names for a weekly roundup.

More worked examples

Clustered health openings in one metro, strongest signals only

{
"categories": ["dentist", "chiropractor", "med spa"],
"locations": ["Charlotte, NC"],
"maxPlacesPerSearch": 800,
"minNewnessScore": 40
}

Neighborhood sweep around a coordinate with a custom radius

{
"categories": ["bakery"],
"locations": ["41.88,-87.63"],
"searchRadiusKm": 5,
"maxPlacesPerSearch": 300,
"requireSignals": ["noWebsite"]
}

UK run with local language settings

{
"categories": ["coffee shop"],
"locations": ["Shoreditch, London"],
"countryCode": "gb",
"language": "en",
"maxPlacesPerSearch": 200
}

Choosing settings that match your goal

  • Fewer, stronger leads: raise minNewnessScore to 40 or more and lower maxFirstReviewAgeDays to 120.
  • Places that are not open yet: turn on requireSignals with noReviews and noHours, or openingLabel.
  • Places that opened in the last year: keep checkReviewDates on and maxFirstReviewAgeDays at 365.
  • Branches of chains too: set excludeChains to false.
  • Other business kinds next to your search: leave matchCategory on to drop them, or turn it off to keep everything the zoomed-in search returns.
  • Faster runs: turn checkReviewDates off. You then lose the first-review signal, so the scores rely on counts, photos, hours and claim status.
  • A single known area: use searchRadiusKm instead of waiting for the automatic radius.

Tips to keep scanning cheap

  1. You pay for new places delivered, not for places scanned, so a larger maxPlacesPerSearch costs runtime but not delivery fees. Raise it when the first small run returns few rows.
  2. Set maxItems for a hard stop on rows, and Max total charge on the run for a money cap.
  3. Use one monitorKey per schedule. If you change categories or locations later, the same key keeps the memory of places already seen.
  4. In a big metro, split the area into several locations (neighborhoods or ZIP codes) instead of one very large search, then compare which areas produce the most rows.
  5. Review the OUTPUT record after each run. It shows how many places were scanned and why the rest were skipped, which tells you whether to loosen or tighten the filters.

Read the results from Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("transparent_meteorite/google-maps-new-business-radar").call(run_input={
"categories": ["hair salon"],
"locations": ["Frisco, TX"],
"maxPlacesPerSearch": 400,
"requireSignals": ["noWebsite"],
})
for place in client.dataset(run["defaultDatasetId"]).iterate_items():
print(place["newnessScore"], place["name"], place.get("phone"), place["newnessSignals"])

More questions

What is the difference between this actor and a normal Google Maps scraper? A normal scraper returns what Google ranks first for a search. This actor scans many small map views and keeps only listings that look new, with a score and reasons.

Does it find businesses that have not opened yet? Often, yes. Listings with no reviews, no hours or an opening label are frequently pre-opening. It cannot know the exact opening date.

Why is phone empty on some rows? A brand-new listing may not have one yet. Combine the address with your own research or call the business by other channels.

Will the same place appear in every weekly run? Not in monitor mode. After the baseline run, only places not seen before are returned and charged.

Can I use several categories and locations at once? Yes. Each category runs in every location, so 3 categories and 2 locations are 6 searches.

What does firstSeenAt mean? It is the time your account first saw the place in this actor, which is useful for sorting a monitor feed.

Are chains always removed? By default, yes. Known big chains and any name that repeats three or more times in the same search are skipped. Turn excludeChains off to keep them.

Does it contact the businesses? No. It only reads public listing data. How you use the list, including any outreach, is up to you and your local law.

FAQ

How new is "new"? By default: at most 5 reviews and, when it has reviews, a first review within the last 365 days. Tighten it with Max age of first review (e.g. 120 days) or Min newness score 40+.

Why does it not just search "new restaurants"? Google ranks those searches by popularity, so they return established places. Scanning small map views is what surfaces listings with no reviews.

Does it work outside the US? Yes. Set Country (gb, ca, au, de...) and Language, and use local place names.

Can I get emails? This actor returns what is on the Maps listing (phone, website). New places often have no website yet, which is the point for many buyers.

Is this legal? It collects publicly visible business listing data, not personal data about private individuals. You are responsible for how you use it, for example following anti-spam and telemarketing law (CAN-SPAM, TCPA, GDPR/PECR) when you contact businesses.

New to Apify? Create a free account and run this Actor in under a minute. Some links are affiliate links.