# Google Maps Businesses Without Website (No-Website Leads) (`thecfmarketing/google-maps-businesses-without-website`) Actor

Find and extract local businesses on Google Maps with no website or missing website. Perfect for web design agencies, SEO freelancers, and cold outreach.

- **URL**: https://apify.com/thecfmarketing/google-maps-businesses-without-website.md
- **Developed by:** [sadique shaikh](https://apify.com/thecfmarketing) (community)
- **Categories:** Lead generation, Marketing, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🚀 Google Maps Scraper: Businesses Without Website (No-Website Leads)

> **The ultimate B2B lead generation scraper on Google Maps specifically engineered for Web Design Agencies, Freelance Web Developers, and Cold Outreach Experts.**

Extract local businesses on Google Maps that have **NO website or a missing website**, complete with phone numbers, direct WhatsApp links, ratings, review counts, and unclaimed GMB listing status.

***

### 💡 Why This Actor is a Game-Changer for Web Agencies

Generic Google Maps scrapers force you to scrape 10,000 businesses, wasting your Apify compute units and money on 7,000 businesses that *already* have custom websites.

This Actor **pre-filters every single business in real-time**, ensuring **100% of the downloaded leads are active prospects who desperately need a website!**

| Feature | Generic Google Maps Scraper | 🏆 This No-Website Scraper |
| :--- | :--- | :--- |
| **Leads with Websites** | 70% - 80% (Wasted budget) | **0% (Filtered Out)** |
| **Leads WITHOUT Website** | You have to manually filter | **100% Guaranteed Hot Leads** |
| **Compute / Credit Efficiency** | Low (Scrapes useless data) | **Maximum (Only saves real prospects)** |
| **Direct WhatsApp Link** | ❌ No | **✅ Yes (`https://wa.me/...`)** |
| **Agency Pitch Angle** | ❌ No | **✅ Auto-generated custom pitch hook** |
| **Unclaimed GMB Filter** | ❌ Rare | **✅ Yes (Huge local SEO upsell)** |

***

### 🎯 What Data Does It Extract?

Every record in the output dataset comes pre-enriched with actionable sales data:

- `title`: Business Name
- `hasWebsite`: `false` (Guaranteed no website)
- `phone`: Clean direct telephone number
- `whatsappUrl`: Instant 1-click WhatsApp chat link for instant mobile outreach
- `category`: Business niche / category (e.g. Plumber, Roofing, Dentist)
- `address`: Full street address
- `rating`: Google Star Rating (e.g. 4.8)
- `reviewsCount`: Number of customer reviews
- `isClaimed`: `true` / `false` (Unclaimed listings are prime upsell targets)
- `leadQuality`: `HIGH VALUE`, `MEDIUM VALUE`, or `STANDARD`
- `recommendedPitch`: AI-crafted personalized cold outreach angle
- `googleMapsUrl`: Direct link to the listing on Google Maps
- `scrapedAt`: ISO timestamp

***

### ⚙️ How to Use (3 Simple Steps)

1. **Enter Business Categories / Keywords:**
   - E.g. `Roofing Contractors`, `Plumbers`, `Auto Repair`, `Dentists`, `Restaurants`
2. **Enter Target Location:**
   - E.g. `Miami, FL`, `Austin, TX`, `London, UK`, `Sydney`, `Mumbai`
3. **Set Filters & Click Start:**
   - Choose how many leads you need and optionally filter by minimum reviews or phone availability.
4. **Export:**
   - Download clean CSV / Excel / JSON directly into your CRM or cold email/calling software!

***

### 📊 Sample Output Data

```json
{
  "title": "Apex Roofing & Siding",
  "hasWebsite": false,
  "phone": "+1 305-555-0199",
  "whatsappUrl": "https://wa.me/13055550199",
  "category": "Roofing Contractor",
  "address": "840 Biscayne Blvd, Miami, FL 33132",
  "rating": 4.9,
  "reviewsCount": 42,
  "isClaimed": false,
  "leadQuality": "HIGH VALUE",
  "recommendedPitch": "Hot prospect: Highly rated (4.9★, 42 reviews) with zero online website presence. Bonus Upsell: Unclaimed Google Profile — pitch GMB verification & local SEO bundle.",
  "googleMapsUrl": "https://www.google.com/maps/place/...",
  "searchQuery": "Roofing Contractors in Miami, FL",
  "scrapedAt": "2026-09-03T02:00:00.000Z"
}
```

***

### 🔍 Best Search Keywords Targeted by this Actor

- *Google Maps Businesses Without Website*
- *Google Maps No Website Scraper*
- *Find Businesses Without Website on Google Maps*
- *Web Design Leads Scraper*
- *GMB Leads Without Website*
- *Cold Calling Leads for Web Agencies*
- *Unclaimed Google My Business Scraper*

***

### ⚖️ Responsible Use & Terms

Please ensure compliance with local regulations and data privacy guidelines (GDPR, CCPA, CAN-SPAM) when using contact information for B2B cold calling and outreach.

# Actor input Schema

## `searchStringsArray` (type: `array`):

Enter business categories or niches (e.g. Plumbers, Roofing Contractors, Dentists, Restaurants). Type a keyword and press Enter.

## `locationQuery` (type: `string`):

Enter target city, state, or country (e.g. 'Miami, FL', 'London, UK', 'Austin, TX', 'USA', 'Mumbai').

## `maxResultsPerQuery` (type: `integer`):

Maximum number of verified businesses WITHOUT a website to extract per keyword.

## `onlyWithPhone` (type: `boolean`):

Filter and keep only businesses that have an active phone number for direct outreach.

## `onlyUnclaimed` (type: `boolean`):

Extract only businesses whose Google Business Profile is unclaimed.

## `minRating` (type: `string`):

Filter businesses by minimum star rating.

## `minReviews` (type: `integer`):

Filter businesses with at least this many Google reviews.

## Actor input object example

```json
{
  "searchStringsArray": [
    "Roofing Contractors",
    "Plumbers",
    "Dentists"
  ],
  "locationQuery": "Miami, FL",
  "maxResultsPerQuery": 50,
  "onlyWithPhone": true,
  "onlyUnclaimed": false,
  "minRating": "",
  "minReviews": 0
}
```

# Actor output Schema

## `dataset` (type: `string`):

Direct link to download all verified Google Maps leads without website

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchStringsArray": [
        "Roofing Contractors",
        "Plumbers",
        "Dentists"
    ],
    "locationQuery": "Miami, FL"
};

// Run the Actor and wait for it to finish
const run = await client.actor("thecfmarketing/google-maps-businesses-without-website").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchStringsArray": [
        "Roofing Contractors",
        "Plumbers",
        "Dentists",
    ],
    "locationQuery": "Miami, FL",
}

# Run the Actor and wait for it to finish
run = client.actor("thecfmarketing/google-maps-businesses-without-website").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchStringsArray": [
    "Roofing Contractors",
    "Plumbers",
    "Dentists"
  ],
  "locationQuery": "Miami, FL"
}' |
apify call thecfmarketing/google-maps-businesses-without-website --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,thecfmarketing/google-maps-businesses-without-website"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/sJo06zLGMNAPfr7gN/builds/RnIKmwoFKSdYbGKeC/openapi.json
