Google Maps Businesses Without Website: Web Design Leads avatar

Google Maps Businesses Without Website: Web Design Leads

Pricing

from $1.00 / 1,000 places

Go to Apify Store
Google Maps Businesses Without Website: Web Design Leads

Google Maps Businesses Without Website: Web Design Leads

Find local businesses with no website on Google Maps: name, phone, address, rating, reviews count, category and opening hours. Leads for web design agencies and website sellers. Any city or country. Pay per business found plus a small start fee; filtered places are free.

Pricing

from $1.00 / 1,000 places

Rating

0.0

(0)

Developer

PlainRows

PlainRows

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Find local businesses that have no website on Google Maps: for each one, name, category, address, phone, rating, reviews count, opening hours and a Google Maps link. Type what you would type in Google Maps (hair salon in Odessa, TX, plumber Manchester) and get the businesses of that search that list no website: a ready list of prospects for a web design agency, a website builder or a local marketing offer.

Places come from a commercial search data API (no browser, no proxies, no Google account). You pay only per business returned, plus $0.003 per run start. Places that have a website are removed for free: you never pay for them.

Same data and code as our Google Maps Scraper, set up for web design leads: only places without a website by default.

Typical uses

  • Web design agencies and freelancers: businesses by trade and city with no website, with their phone and address, to pitch a site.
  • Website builders and local marketing offers: size a market (how many plumbers in a city have no site) and build call lists.
  • Sales teams: phone-first prospect lists, filtered by rating so you call businesses that are active and well reviewed.
  • Automations and AI agents: feed n8n, Make, Zapier, Google Sheets, HubSpot or an MCP client with structured JSON.

What you get for each place

FieldDescription
name, category, additionalCategories, categoryIdsBusiness name and Google categories (categoryIds are language-independent, e.g. pizza_restaurant)
address, street, city, postalCode, region, countryCodeAddress, also split into parts
latitude, longitudeGPS coordinates
phoneBusiness phone, international format
website, domain, bookingUrlEmpty by default (only places with no website are returned); Google booking link when there is one
rating, reviewsCount, ratingDistributionAverage rating, number of ratings, count of 1 to 5 star ratings
priceLevel, isClaimed, photosCount, imageUrlPrice level, whether the owner claimed the listing, photos
openingHoursHours per weekday, e.g. {"monday": ["09:00-17:30"]}; an empty list means closed
placeId, cid, googleMapsUrlGoogle identifiers and a direct Google Maps link
rankPosition in the Google Maps results for your query (sponsored pins excluded)
searchQuery, observedAtThe query that found it and when (UTC)

categoryIds and priceLevel are empty since October 13, 2026: the data source stopped returning them (checked on real runs on October 13 and 14); category and additionalCategories are unaffected. Missing values are always null (lists are empty), never guessed. Each place appears once per query.

"No website" means that the Google Maps listing shows no website link. Some of these businesses may still have a site, or a social page, that they did not add to Google Maps: check before you pitch.

Input

{
"searchQueries": ["hair salon in Odessa, TX", "barber shop in El Paso, TX"],
"country": "US",
"maxPlacesPerQuery": 100,
"website": "without",
"minRating": 0,
"requirePhone": true
}
  • searchQueries: up to 1,000 per run. Put the city or area in the query, or set coordinates.
  • country: US, GB, CA, AU, IE, IN, DE, AT, CH, FR, BE, ES, MX, IT, NL, PT, BR, PL, SE, JP. languageCode (optional) sets the language of categories and labels.
  • maxPlacesPerQuery: 1 to 700 (default 100): the most businesses without a website to return per search. The Actor reads 4 times deeper into the Google Maps results to find them (at most 700 results per search), so a search can return fewer.
  • website (default without): only places with no website. Set any to keep every place, with for places that have one.
  • coordinates + zoom (optional): search around "latitude,longitude", zoom 11 (city) to 15 (a few streets).
  • Free filters: minRating, website, requirePhone. Places removed by a filter are never billed.

Output example

Real row from a run on 2026-10-14 (query hair salon in Odessa, TX, US, 20 wanted: 20 of the first 73 Google Maps results listed no website; image link shortened here):

{
"searchQuery": "hair salon in Odessa, TX",
"found": true,
"rank": 2,
"name": "Elegant Touch Hair Salon",
"category": "Hair salon",
"additionalCategories": [
"Beauty salon"
],
"categoryIds": [],
"address": "3652 N Dixie Blvd, Odessa, TX 79762",
"street": "3652 N Dixie Blvd",
"city": "Odessa",
"postalCode": "79762",
"region": "Texas",
"borough": null,
"countryCode": "US",
"latitude": 31.8814487,
"longitude": -102.37205499999999,
"phone": "+1432-580-0770",
"website": null,
"domain": null,
"bookingUrl": null,
"rating": 4.5,
"reviewsCount": 107,
"ratingDistribution": {
"1": 9,
"2": 1,
"3": 3,
"4": 4,
"5": 90
},
"priceLevel": null,
"isClaimed": true,
"photosCount": 17,
"imageUrl": "https://lh3.googleusercontent.com/grass-cs/AABkmLf02khV2jdhZ...",
"openingHours": {
"monday": [],
"tuesday": [
"10:00-18:00"
],
"wednesday": [
"10:00-18:00"
],
"thursday": [
"10:00-18:00"
],
"friday": [
"10:00-18:00"
],
"saturday": [
"10:00-16:00"
],
"sunday": []
},
"placeId": "ChIJD-inHR_J-4YRdG4lVUdfo6M",
"cid": "11791373009361923700",
"googleMapsUrl": "https://maps.google.com/?cid=11791373009361923700",
"searchCountry": "US",
"languageCode": "en",
"observedAt": "2026-10-14T08:24:12.260Z",
"schemaVersion": "1.0"
}

Pricing

See the Pricing tab for current prices, cheaper on higher Apify plans:

  • one event per business returned (name, address, phone, rating, hours, coordinates included);
  • $0.003 per run start.

Places that have a website, searches with no result, duplicates, places removed by your other filters and input mistakes cost nothing beyond the start fee. A search where every business has a website returns nothing and costs only the start fee. The run never spends more than the maximum cost you set.

Free Apify plan: each run returns up to 20 places for up to 2 queries, so you can check the output. A paid Apify plan removes these limits.

Use it from code, automations or AI agents

API (one call, results returned directly):

curl -X POST "https://api.apify.com/v2/acts/plainrows~google-maps-no-website-leads/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["hair salon in Odessa, TX"], "maxPlacesPerQuery": 50}'

n8n, Make, Zapier: use the Apify integration, pick plainrows/google-maps-no-website-leads, and map the dataset items to Google Sheets, HubSpot, Airtable or your database.

AI agents (MCP): add https://mcp.apify.com?tools=plainrows/google-maps-no-website-leads to Claude, Cursor or any MCP client. The agent gets a typed tool and pays per result.

What this is not

  • No e-mails: a business without a website has no site to read. For businesses with a website and the e-mails published on it, see Google Maps Email Extractor.
  • No guessed data and no personal data from other sources: only what the Google Maps listing shows.
  • No review texts, no reviewer names. For reviews, see Google Maps Reviews Scraper.
  • You are responsible for how you contact businesses: follow the telemarketing, anti-spam and privacy rules of your country and theirs (for example TCPA, CAN-SPAM, GDPR).
  • Not affiliated with Google.

Run summary

Each run stores a summary in the key-value store (OUTPUT): queries run, queries with no result, places billed, places removed by filters (here, mostly the ones with a website), duplicates and invalid queries, and anything skipped because of the free-plan or budget limit.

FAQ

How do I find businesses without a website on Google Maps? Enter searches such as hair salon in Odessa, TX and run: only the businesses whose Google Maps listing shows no website are returned, with phone and address. Download as CSV or Excel from the run page, or send them to Google Sheets or your CRM with n8n, Make or Zapier.

Why did a search return few or no businesses? In many trades and cities most businesses already list a website. Places with a website are free, so a search where all of them have one costs only the start fee. Try smaller towns, other trades or several neighbourhoods.

How many places can I get per search? maxPlacesPerQuery sets how many businesses without a website you want; the Actor reads 4 times as many Google Maps results (at most 700 per search) to find them. To cover a large city, run several searches by neighbourhood, or search around coordinates with a closer zoom.

Do I need proxies, a browser or a Google account? No. Places come from a commercial search data API, so runs are fast.

Can I get the businesses that do have a website, with their e-mails? Yes, with Google Maps Email Extractor.

More PlainRows tools

Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.

Support

Missing a field or found a bug? Open an issue on this page. Issues are read and answered.