Short answer
Run the Google Maps Scraper with a business type and a few ZIP codes, and set Website filter to “Only places that need website work”. It keeps businesses with no website, a site that is down or suspended, no mobile version, no HTTPS, or a copyright notice five or more years old, and says which one applies. Turn on emails to get the business's own address when its site has one.
A real use case
A one-person web design studio in Dallas wants 50 roofers and plumbers to call this month. Checking Google Maps listings and websites by hand takes an evening per dozen. In a 400-place test run of Dallas and Phoenix contractors, 57 places (14%) needed website work: 34 had no website, 5 had a site that was down, and 18 had an old copyright year, no HTTPS or no mobile version. Each one came with a phone number and the reason to call.
Step by step
- Open the actor on Apify and sign in (the free plan is enough to test).
- Add business types and locations. Use ZIP codes or neighborhoods: Google Maps returns about 120 to 200 places per search.
- Set Website filter to “Only places that need website work”. This switches on the website check by itself.
- Turn on emails and set a minimum review count to favor busy businesses.
- Start, then open the Website check view or export CSV or Excel.
Input (paste into the JSON tab)
{
"searchTerms": [
"plumber",
"roofing contractor"
],
"locations": [
"75201",
"75204",
"75206",
"75214"
],
"websiteFilter": "needsWork",
"scrapeContacts": true,
"minReviews": 10
}
What you get back
[
{
"name": "Prairie Roof Co.",
"category": "Roofing contractor",
"phone": "(214) 555-0163",
"rating": 4.7,
"reviewCount": 88,
"website": "http://prairieroof.example/",
"websiteStatus": "down",
"websiteIssues": [
"website is down: domain does not resolve"
],
"needsWebsiteWork": true
},
{
"name": "Lakeside Plumbing",
"category": "Plumber",
"phone": "(214) 555-0119",
"rating": 4.9,
"reviewCount": 212,
"website": null,
"websiteStatus": "no-website",
"websiteIssues": [
"no website on Google Maps"
],
"needsWebsiteWork": true
}
]
Trimmed example. Names and numbers are illustrative; your run returns real data with more fields.
Tips
- Expect 5% to 15% of a search to qualify, so use several ZIP codes and two or three related business types.
- Lead with the issue in your first message: “your website link on Google shows Account Suspended” gets more replies than “do you need a website?”.
- Businesses with no website usually have no email here. Call them, or look up their Facebook page.
- Sites that block automated checks come back
unknownand are left out of the filter, so nothing on the list is a guess.
What it costs
$1 per 1,000 places, plus $1 per 1,000 websites checked and $1 per 1,000 places with an email. A list of 1,000 businesses that need website work costs about $2, and places the filter removes are free.
Plus a small per-run start fee. Apify's free plan includes monthly credit, enough to test. Check the listing for current pricing.
FAQ
How does it know a website is broken?
It opens the site twice. It counts as down only if the domain doesn't resolve, the server refuses connections, the homepage returns 404, 410 or a 5xx error both times, or the page shows a suspended-hosting or domain-for-sale notice.
Does a Facebook page count as a website?
No. A business whose only website on Google Maps is a Facebook or Instagram page is listed as having no website.
Is it legal to contact these businesses?
The listings are public business information, but outreach is regulated. Follow CAN-SPAM in the US and GDPR in Europe, and keep messages relevant and personal.
Related
- Google Maps Scraper Local businesses with phone, email and a website check: find the ones with no site, a broken site or no mobile version. $1 / 1,000 places.
- All How To guides
Try it on your own data
Paste the input above, run it, and see your results in a couple of minutes.
Open Google Maps Scraper