# YellowPages Scraper — US Business Leads (`hipersoft/yellowpages-us-scraper`) Actor

Scrape US business listings from YellowPages: name, phone, full address, website, rating, reviews and category. Bulk lead generation.

- **URL**: https://apify.com/hipersoft/yellowpages-us-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0015 / business scraped

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

## YellowPages Scraper — US Business Leads

Scrape US business listings from **YellowPages.com** into clean JSON, CSV or Excel. Get the **business name, category, phone number, full address, website, rating, review count and years in business** for any business type in any US city, state or ZIP. Built for bulk **lead generation** and fast, reliable prospecting.

### Features

- 🏢 **Business details** — name, category and YellowPages listing URL per result
- ☎️ **Phone numbers** — the direct contact number, the key lead-gen field
- 📍 **Full address** — street, city, state and ZIP, split into clean fields
- 🌐 **Website** — the business website link where listed
- ⭐ **Rating & reviews** — star rating and review count where available
- 📆 **Years in business** — longevity signal for qualifying leads
- 🔎 **Search by term or URL** — many categories at once, or paste your own search URLs
- ⚡ **Bulk & structured** — one clean row per business, ready for outreach or a CRM

### Use cases

- **B2B lead generation** — build outreach lists with phone numbers and addresses
- **Sales prospecting** — find businesses in a category and city, then qualify by rating
- **Local-market research** — map suppliers and competitors across any US metro
- **CRM enrichment** — add phone, website and category to existing account lists
- **Marketing lists** — segment businesses by category, location and review signals
- **Dataset building** — assemble US business directories for analytics

### How to scrape YellowPages

1. Add the **YellowPages Scraper** to your Apify account.
2. Enter one or more **`searchTerms`** (e.g. `plumbers`, `dentists`, `electricians`).
3. Set a **`location`** — a city and state or a ZIP (e.g. `Austin, TX` or `90210`).
4. Optionally paste **`searchUrls`** copied from your browser, and set **`maxItems`**.
5. Click **Run**, then export as JSON, CSV or Excel — or pull the data via the Apify API.

### Input

```json
{
  "searchTerms": ["plumbers", "dentists"],
  "location": "Austin, TX",
  "maxItems": 200
}
```

| Field | Description |
|---|---|
| `searchTerms` | Business categories or keywords, e.g. plumbers, dentists, roofers |
| `location` | City and state or ZIP, e.g. Austin, TX or 90210 |
| `searchUrls` | Optional YellowPages search URLs to scrape directly |
| `maxItems` | Maximum number of businesses to return |

### What you get

```json
{
  "name": "Radiant Plumbing & Air Conditioning",
  "categories": ["Plumbers", "Air Conditioning Service & Repair"],
  "phone": "(512) 263-9988",
  "street": "8309 Cross Park Dr",
  "city": "Austin",
  "state": "TX",
  "zip": "78754",
  "website": "http://www.radiantplumbing.com",
  "rating": 4.5,
  "reviewCount": 218,
  "yearsInBusiness": 25,
  "url": "https://www.yellowpages.com/austin-tx/mip/radiant-plumbing-air-conditioning-460112233",
  "sourceUrl": "https://www.yellowpages.com",
  "collectedAt": "2026-08-28T12:00:00.000Z"
}
```

#### Output schema

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Business name. |
| `categories` | array | Business categories listed for the result. |
| `phone` | string | Contact phone number. |
| `street` | string | Street address. |
| `city` | string | City. |
| `state` | string | Two-letter US state code. |
| `zip` | string | ZIP code. |
| `website` | string (URL) | Business website, where listed. |
| `rating` | number | Star rating, where available. |
| `reviewCount` | number | Number of reviews, where available. |
| `yearsInBusiness` | number | Years in business, where listed. |
| `url` | string (URL) | Business listing URL on YellowPages. |
| `sourceUrl` | string (URL) | Base source site URL. |
| `collectedAt` | string (ISO date) | When the record was collected. |

### Related Actors

Combine YellowPages with other business and reviews sources:

- [BBB Scraper](https://apify.com/hipersoft/bbb-scraper) — Better Business Bureau listings with ratings and phone numbers.
- [Google Maps Scraper](https://apify.com/hipersoft/google-maps-scraper) — local businesses with ratings, phone and address.
- [Google Maps Email Extractor](https://apify.com/hipersoft/google-maps-email-extractor) — business emails for outreach.
- [Trustpilot Reviews Scraper](https://apify.com/hipersoft/trustpilot-reviews-scraper) — company reviews and ratings.
- [Website Contact Scraper](https://apify.com/hipersoft/website-contact-scraper) — emails, phones and socials from websites.

### FAQ

**Do I need any account or setup?**
No setup — just enter search terms and a location, then run.

**How many businesses can I get per run?**
Use `maxItems` to cap results. Run different `searchTerms` and `location` combinations to widen coverage across the US.

**Can I search several categories at once?**
Yes. Add multiple `searchTerms` and they are each combined with your `location`. You can also paste multiple `searchUrls`.

**Does it include phone numbers and websites?**
Yes — the contact `phone`, `website` and full address (street, city, state, ZIP) are included where listed.

**What's the output format?**
Structured JSON — one row per business. Export as JSON, CSV or Excel, or via the Apify API.

#### Using YellowPages Scraper with n8n

The dataset works well in automations. In [n8n](https://n8n.io), run the Actor with the **Apify** node (or an HTTP Request to the Apify API), then map each business row to your CRM, Google Sheets, a spreadsheet, or an email-outreach step. One clean row per business keeps downstream mapping simple.

**Can I use this in n8n or Make?**
Yes. Trigger a run and read the dataset via the Apify API or the Apify node, then push rows into your workflow.

**Is scraping YellowPages legal?**
Only public data shown to any visitor on YellowPages.com is collected. This is an independent tool, not affiliated with YellowPages; review YellowPages' Terms of Service and any applicable marketing/data regulations for your use case.

***

*Original clean-room implementation.*

# Actor input Schema

## `searchTerms` (type: `array`):

Business categories or keywords to search, e.g. \["plumbers", "dentists", "electricians"]. Each term is combined with the Location below. Leave empty if you paste Search URLs instead.

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

City and state or ZIP code to search in, e.g. "Austin, TX", "New York, NY" or "90210". Applied to every search term above.

## `searchUrls` (type: `array`):

Optional. Paste one or more YellowPages search result URLs to scrape directly (e.g. copied from your browser). Used in addition to any search terms above.

## `maxItems` (type: `integer`):

Maximum number of businesses to return across all searches.

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

Proxy configuration. Leave the default — it is tuned for reliable results.

## Actor input object example

```json
{
  "searchTerms": [
    "plumbers"
  ],
  "location": "Austin, TX",
  "searchUrls": [],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The scraped businesses as dataset items.

# 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 = {
    "searchTerms": [
        "plumbers"
    ],
    "location": "Austin, TX"
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/yellowpages-us-scraper").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 = {
    "searchTerms": ["plumbers"],
    "location": "Austin, TX",
}

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/yellowpages-us-scraper").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 '{
  "searchTerms": [
    "plumbers"
  ],
  "location": "Austin, TX"
}' |
apify call hipersoft/yellowpages-us-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/yellowpages-us-scraper"
        }
    }
}

```

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/g1NejkNQgwrrKkD6n/builds/OXFrrCrucT9iqVKQj/openapi.json
