# No Website Business Finder (`lonely_m/no-website-business-finder`) Actor

Find local businesses without websites or weak online presence. Score outreach opportunities for web design, SEO, booking, and local marketing teams.

- **URL**: https://apify.com/lonely\_m/no-website-business-finder.md
- **Developed by:** [Lonely](https://apify.com/lonely_m) (community)
- **Categories:** Lead generation, SEO tools, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## No Website Business Finder

Find local businesses without websites or with weak online presence — built for web design, SEO, local marketing, and lead generation teams.

This Actor searches Google Maps for a business category in a location, checks whether each business has a website, optionally performs basic website health checks, scores the opportunity, and exports leads that are more likely to need website, local SEO, online booking, or web presence services.

### Why use this Actor?

Most local business datasets are just raw rows. This Actor is designed to surface **buying signals**:

- Businesses with no website listed on Google Maps
- Businesses with high review volume but weak online presence
- Websites that may be unreachable or missing HTTPS
- Websites without obvious contact or booking cues
- Leads prioritized with an `opportunityScore` and `leadPriority`

### Who is this for?

- Web design agencies
- SEO consultants
- Local marketing agencies
- Lead generation teams
- Freelancers selling websites to local businesses
- Appointment booking / automation providers

### Input

```json
{
  "location": "Austin, TX",
  "businessCategory": "mobile notary",
  "maxResults": 25,
  "includeWeakWebsites": true,
  "checkWebsiteHealth": true,
  "minOpportunityScore": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

#### Input fields

| Field | Description |
|---|---|
| `location` | City, region, or local market to search. Example: `Austin, TX` |
| `businessCategory` | Business type. Example: `mobile notary`, `plumber`, `med spa`, `dog groomer` |
| `maxResults` | Maximum Google Maps listings to analyze |
| `includeWeakWebsites` | Include businesses that have a website but show weak signals |
| `checkWebsiteHealth` | Visit websites to check reachability, HTTPS, contact cues, and booking cues |
| `minOpportunityScore` | Only export leads at or above this score. Use `0` to export everything |
| `proxyConfiguration` | Optional Apify proxy configuration |

### Output

Each dataset item contains fields like:

```json
{
  "searchQuery": "mobile notary in Austin, TX",
  "scrapedAt": "2026-07-07T02:34:55.947Z",
  "businessName": "Example Mobile Notary",
  "googleMapsUrl": "https://www.google.com/maps/place/...",
  "website": null,
  "websiteDomain": null,
  "phone": "+1 555-555-5555",
  "address": "Austin, TX",
  "rating": 5,
  "reviewCount": 128,
  "websiteMissing": true,
  "websiteHealth": null,
  "opportunityScore": 75,
  "leadPriority": "B",
  "opportunityReasons": [
    "No website listed on Google Maps",
    "Has 128 Google reviews, indicating real demand",
    "Phone number is available for outreach"
  ],
  "suggestedPitch": "Offer a simple, mobile-friendly website with local SEO basics."
}
```

### Opportunity scoring

The score is designed for outreach prioritization, not as a perfect business valuation.

| Signal | Impact |
|---|---:|
| No website listed | High |
| Listed website unreachable | High |
| No HTTPS | Medium |
| No contact cues | Medium |
| No booking / appointment cues | Medium |
| 50+ Google reviews | Medium |
| Rating under 4.2 with review volume | Medium |
| Phone available | Low |

Lead priority mapping:

| Score | Priority |
|---:|---|
| 80–100 | A |
| 60–79 | B |
| 40–59 | C |
| 0–39 | D |

### Example use cases

#### Web design outreach

Find local service businesses with no listed website and enough review volume to indicate active demand.

#### Local SEO prospecting

Find businesses with weak web presence but visible Google Maps activity.

#### Booking / appointment automation

Find clinics, salons, notaries, mechanics, and other appointment-driven services without obvious booking cues.

### Recommended first searches

Small local service categories often work best for this Actor:

- `mobile notary` in `Austin, TX`
- `mobile mechanic` in `Phoenix, AZ`
- `house cleaning` in `Dallas, TX`
- `lawn care` in `Tampa, FL`
- `handyman` in `Miami, FL`
- `dog groomer` in `Denver, CO`
- `tax preparer` in `Atlanta, GA`
- `towing service` in `Orlando, FL`

High-value verticals such as dentists, med spas, roofers, chiropractors, and law firms can also be tested, but many of them already have websites.

### Notes and limitations

- Google Maps layout and anti-automation behavior can change.
- Use lower `maxResults` for small tests and higher values only after validating a category/location.
- Google may mask phone digits in some environments.
- Website health checks currently inspect the homepage only.
- The Actor does not send emails, make calls, or contact leads automatically.
- Make sure your use complies with applicable laws, privacy rules, and platform terms.

### Practical tip

Start with `maxResults: 10–25` and `minOpportunityScore: 40`. Once you find categories that produce good leads, scale up gradually.

# Actor input Schema

## `location` (type: `string`):

City, state, country, or local area to search in.

## `businessCategory` (type: `string`):

Type of business to find.

## `maxResults` (type: `integer`):

Maximum number of Google Maps listings to analyze.

## `includeWeakWebsites` (type: `boolean`):

If true, include businesses that have a website but show weak website signals such as no HTTPS, unreachable site, or missing contact/booking cues.

## `checkWebsiteHealth` (type: `boolean`):

Visit listed websites to check reachability, HTTPS, title, contact cues, and booking cues.

## `minOpportunityScore` (type: `integer`):

Only output leads with this score or higher. Use 0 to export everything.

## `proxyConfiguration` (type: `object`):

Optional Apify proxy configuration for Google Maps and website checks.

## Actor input object example

```json
{
  "location": "Austin, TX",
  "businessCategory": "dentist",
  "maxResults": 50,
  "includeWeakWebsites": true,
  "checkWebsiteHealth": true,
  "minOpportunityScore": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "location": "Austin, TX",
    "businessCategory": "dentist"
};

// Run the Actor and wait for it to finish
const run = await client.actor("lonely_m/no-website-business-finder").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 = {
    "location": "Austin, TX",
    "businessCategory": "dentist",
}

# Run the Actor and wait for it to finish
run = client.actor("lonely_m/no-website-business-finder").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "location": "Austin, TX",
  "businessCategory": "dentist"
}' |
apify call lonely_m/no-website-business-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lonely_m/no-website-business-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "No Website Business Finder",
        "description": "Find local businesses without websites or weak online presence. Score outreach opportunities for web design, SEO, booking, and local marketing teams.",
        "version": "0.1",
        "x-build-id": "gIicRyiPppody7zWx"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lonely_m~no-website-business-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lonely_m-no-website-business-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lonely_m~no-website-business-finder/runs": {
            "post": {
                "operationId": "runs-sync-lonely_m-no-website-business-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lonely_m~no-website-business-finder/run-sync": {
            "post": {
                "operationId": "run-sync-lonely_m-no-website-business-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "location",
                    "businessCategory"
                ],
                "properties": {
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, state, country, or local area to search in."
                    },
                    "businessCategory": {
                        "title": "Business category",
                        "type": "string",
                        "description": "Type of business to find."
                    },
                    "maxResults": {
                        "title": "Maximum businesses",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum number of Google Maps listings to analyze.",
                        "default": 50
                    },
                    "includeWeakWebsites": {
                        "title": "Include weak websites",
                        "type": "boolean",
                        "description": "If true, include businesses that have a website but show weak website signals such as no HTTPS, unreachable site, or missing contact/booking cues.",
                        "default": true
                    },
                    "checkWebsiteHealth": {
                        "title": "Check website health",
                        "type": "boolean",
                        "description": "Visit listed websites to check reachability, HTTPS, title, contact cues, and booking cues.",
                        "default": true
                    },
                    "minOpportunityScore": {
                        "title": "Minimum opportunity score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Only output leads with this score or higher. Use 0 to export everything.",
                        "default": 40
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration for Google Maps and website checks.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
