# 🇺🇸 Yellow Pages USA Scraper - Emails & Leads (`confidential_gnat/yellowpages-usa-scraper`) Actor

Scrape US businesses from Yellow Pages (yellowpages.com) with emails: name, phone, address, website, rating and the business email when listed, plus employee emails from each website. Search by keyword and city or paste a URL. Export JSON, CSV or Excel.

- **URL**: https://apify.com/confidential_gnat/yellowpages-usa-scraper.md
- **Developed by:** [ActorFlow](https://apify.com/confidential_gnat) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🇺🇸 Yellow Pages USA Scraper - Emails & Leads

![Yellow Pages USA Scraper - Emails & Leads cover](https://i.postimg.cc/5NJ19GWB/Gemini-Generated-Image-d8qfrhd8qfrhd8qf.jpg)

**Scrape businesses from Yellow Pages USA (yellowpages.com)**: name, phone, address, categories, website, rating, years in business, hours, coordinates, email and social links. Export to JSON, CSV or Excel, or call it as an **API**. Paste a **Yellow Pages USA search URL**, or give search terms and locations, and press Start. **Emails too:** business emails where the page lists one, plus employee emails found on each business website.

**Target website:** [Yellow Pages USA (yellowpages.com)](https://www.yellowpages.com)

### ✨ Features of this Yellow Pages USA business scraper

- **Email extraction** — business emails where the page lists one, plus employee emails found on each business website.
- **Business listing extraction** — name, phone, full address, categories, website, rating, years in business and a short description from any Yellow Pages search or category page.
- **Pagination support** — walks the result pages of each search until it has the number of businesses you asked for.
- **Search terms and locations** — give any number of terms and locations; every term is searched in every location.
- **Business page details** — optional: opens each business page for the full description, coordinates, opening hours, email, social links, associations and payment methods.
- **Employee contacts (leads)** — optional: finds employee names, roles, emails and LinkedIn links from each business's website.
- **Cache, new and changed businesses only** — use one cache name across scheduled runs and skip businesses you already have.
- **No proxy needed** — pages are loaded by the Actor's built-in service, so you leave proxies off.

### 🚀 How to scrape Yellow Pages USA businesses in 5 steps

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Paste Yellow Pages USA search URLs, or fill in **Search terms** and **Locations**.
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### 💰 Pricing for the Yellow Pages USA scraper

This actor uses **pay-per-result** billing based on the compute units a run consumes.

- New Apify accounts include **$5 of free monthly credit**.
- It reads the data straight from the directory's pages instead of driving a browser, so it costs significantly less to run than browser-based scrapers.
- **Business pages** (the *Scrape business pages* option) are charged separately, per business whose page is opened, on top of the result price. Runs with business pages off pay only the standard result price.
- **Employee contacts** are charged separately, and only when the lookup successfully returns a list of contacts: every business you are charged for comes with at least one contact. The charge is once per business, not per contact. Businesses with no website, or where no contacts are found, are not charged for it.
- Businesses skipped by the cache are not charged.

### 🖼️ Yellow Pages USA scraper input screenshot

![Yellow Pages USA Scraper - Emails & Leads input form in Apify Console: search or business URLs, max items per search, cache project name, find employee contacts, scrape business pages, search terms, locations and proxy configuration](https://i.postimg.cc/sDTPfkGK/image.png)

Numbered labels in the screenshot:

1. **Search or business URLs** — the search result pages or business pages to scrape.
2. **Max items per search** — how many businesses to save for each search.
3. **Cache project name** — reuse the same name on scheduled runs to get only new and changed businesses.
4. **Find employee contacts (leads)** — look up each business website for employee contacts (charged separately, only when contacts are found).
5. **Scrape business pages** — open every business page for extra details (charged separately per business page).

Search terms and Locations (in the collapsible optional section) and the proxy settings sit below these fields.

### 🔧 Yellow Pages USA scraper input configuration

| Field | Type | Required | Default | Description |
| ----- | ---- | -------- | ------- | ----------- |
| Search or business URLs (`startUrls`) | array | — | example search (prefill) | Yellow Pages search result pages, category pages or single business pages, for example https://www.yellowpages.com/search?search_terms=plumber\&geo_location_terms=New+York%2C+NY or https://www.yellowpages.com/new-york-ny/plumbers. Filters already in the URL are kept. Leave empty to use the search terms and locations below. |
| Max items per search (`maxItems`) | integer | — | 5 | Maximum businesses saved for each search. Directory searches show up to about 3,000 results; for more, use narrower searches (more search terms or locations). |
| Cache project name (`cacheProjectName`) | string | — | — | Same name on each run = only new and changed businesses. |
| Find employee contacts (`enrichLeads`) | boolean | — | false | Looks up each business's website for employee contacts and adds them as a `leads` array. Needs the business to have a website. Charged only when the lookup successfully returns a list of contacts (at least one per charged business): once per business, not per contact; nothing when none are found. |
| Scrape business pages (`scrapeDetails`) | boolean | — | false | Open every business page for the full description, coordinates, opening hours, email, social links, associations and payment methods. Slower; off by default. Adds a separate charge per business page opened, on top of the normal result price. |
| Search terms (`searchTerms`) | array | — | — | What to search for, for example plumber, dentist or italian restaurant. Each term is searched in every location. |
| Locations (`locations`) | array | — | — | Where to search, for example New York, NY or Austin, TX. Each location is searched for every search term. |
| Proxy configuration (`proxyConfiguration`) | object | — | no proxy | Not needed: pages are loaded by the Actor's built-in service. |

**Supported URL types:**

- Search: `https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY`
- Category page: `https://www.yellowpages.com/new-york-ny/plumbers`
- Business page: `https://www.yellowpages.com/new-york-ny/mip/rr-plumbing-roto-rooter-574238364`

### 📦 Yellow Pages USA scraper output data

The output is a dataset of business records with the fields `businessId`, `name`, `url`, `phone`, `address`, `street`, `city`, `region`, `postalCode`, `categories`, `website`, `rating`, `ratingCount`, `yearsInBusiness`, `snippet`, `imageUrl`, `description`, `latitude`, `longitude`, `foundingYear`, `hours`, `email`, `socialLinks`, `associations`, `paymentMethods`, `leads`, `changeType`, `searchUrl`, `scrapedAt`. The dataset has 2 views:

- **Overview** — name, phone, address, categories, website, rating and years in business.
- **Contacts** — name, phone, email, website and city of each business.

**Output at a glance:**

| Business | Phone | Address | Categories | Website | Rating | Years |
| --- | --- | --- | --- | --- | --- | --- |
| [RR Plumbing Roto-Rooter](https://www.yellowpages.com/new-york-ny/mip/rr-plumbing-roto-rooter-574238364?lid=1002194259108) | (917) 997-7507 | 450 7th Ave, New York, NY 10001 | Plumbers, Water Damage Restoration | https://www.rotorooter.com/manhattan/ | — | 91 |
| [All Pro Cleaning & Restoration](https://www.yellowpages.com/elmsford-ny/mip/all-pro-cleaning-restoration-577846099?lid=1002194203127) | (844) 574-1739 | 13 Haven St, Elmsford, NY 10523 | Plumbers, House Cleaning | http://www.allprorestoration.com/ | — | 39 |

**Sample output (raw JSON):**

```json
[
  {
    "businessId": "574238364",
    "name": "RR Plumbing Roto-Rooter",
    "url": "https://www.yellowpages.com/new-york-ny/mip/rr-plumbing-roto-rooter-574238364?lid=1002194259108",
    "phone": "(917) 997-7507",
    "address": "450 7th Ave, New York, NY 10001",
    "street": "450 7th Ave",
    "city": "New York",
    "region": "NY",
    "postalCode": "10001",
    "categories": [
      "Plumbers",
      "Water Damage Restoration"
    ],
    "website": "https://www.rotorooter.com/manhattan/",
    "rating": null,
    "ratingCount": null,
    "yearsInBusiness": 91,
    "snippet": "When you need an emergency plumber near me in New York or a drain cleaner, call RR Plumbing Roto-Rooter Plumbing & Water Cleanup. Our plumbers can fix any…",
    "imageUrl": "https://i2.ypcdn.com/blob/94850e1522feb07bd424a37f4165194fe5f8b345_130x130_crop.jpg?fbfdc6472",
    "searchUrl": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY",
    "leads": [],
    "changeType": null,
    "scrapedAt": "2026-10-22T11:28:13.501Z"
  },
  {
    "businessId": "577846099",
    "name": "All Pro Cleaning & Restoration",
    "url": "https://www.yellowpages.com/elmsford-ny/mip/all-pro-cleaning-restoration-577846099?lid=1002194203127",
    "phone": "(844) 574-1739",
    "address": "13 Haven St, Elmsford, NY 10523",
    "street": "13 Haven St",
    "city": "Elmsford",
    "region": "NY",
    "postalCode": "10523",
    "categories": [
      "Plumbers",
      "House Cleaning"
    ],
    "website": "http://www.allprorestoration.com/",
    "rating": null,
    "ratingCount": null,
    "yearsInBusiness": 39,
    "snippet": "When disaster strikes, AllPro is waiting 24 hours a day, 7 days a week, 365 days a year. Regardless of the magnitude of damage, AllPros experienced technicians…",
    "imageUrl": "https://i2.ypcdn.com/blob/2f2d142752aaf396295667371cd12782bcabfd34_130x130_crop.jpg?fbfdc6472",
    "searchUrl": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY",
    "leads": [],
    "changeType": null,
    "scrapedAt": "2026-10-22T11:28:13.501Z"
  }
]
```

### 📧 How to find Yellow Pages USA business emails and employee contacts (email enrichment)

Switch on **Find employee contacts** and the actor looks up each business's website and adds a `leads` array with employee names, roles, departments, emails, phone numbers and LinkedIn links when they can be found. The `leads` field is always present on every record: it is an empty array when the business has no website or nothing was found. The contacts charge is applied only when the lookup successfully returns a list of contacts, so every charged business has at least one lead. It is charged once per business, not per contact, and never when `leads` is empty. The lookup runs once per business website.

| name | email | position |
| ---- | ----- | -------- |
| Jane Example | jane@example.com | Owner |
| John Sample | john@example.com | Office manager |

### 🔁 Scrape only new Yellow Pages USA businesses with the cache

Set the same **Cache project name** on every scheduled run. Businesses already saved under that name and unchanged are skipped: they are not charged and do not count towards **Max items per search**. New businesses get `changeType: "new"` and businesses whose phone, address, website or rating changed get `changeType: "updated"`. Each name keeps its own separate cache. Add the actor to an Apify Schedule to track new businesses in a category and area automatically.

### 🐍 How to scrape Yellow Pages USA with Python, JavaScript or the API

Run the actor programmatically with the official Apify clients. Replace `<YOUR_API_TOKEN>` with the token from your [Apify Console](https://console.apify.com/account/integrations).

**Python** (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run = client.actor("confidential_gnat/yellowpages-usa-scraper").call(run_input={
        "searchTerms": [
            "plumber"
        ],
        "locations": [
            "New York, NY"
        ],
        "maxItems": 20,
        "scrapeDetails": False,
        "enrichLeads": True
    })

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript** (`npm install apify-client`):

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

const run = await client.actor('confidential_gnat/yellowpages-usa-scraper').call({
        "searchTerms": [
            "plumber"
        ],
        "locations": [
            "New York, NY"
        ],
        "maxItems": 20,
        "scrapeDetails": false,
        "enrichLeads": true
    });

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**cURL** — start a run and wait for the dataset:

```bash
curl -X POST "https://api.apify.com/v2/acts/confidential_gnat~yellowpages-usa-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["plumber"], "locations": ["New York, NY"], "maxItems": 20, "scrapeDetails": false, "enrichLeads": true}'
```

### 💡 What you can use Yellow Pages USA business data for

- Lead generation: phone numbers, websites and emails of local businesses by category and area
- Sales prospecting with employee names, roles and emails from each company website
- Local market research and competitor mapping by category, city and rating
- Building and enriching CRM and mailing lists
- Monitoring new businesses and changes in a category with scheduled cached runs

Sales teams, marketing agencies, recruiters and market researchers typically use this data across services, trades, retail and hospitality.

### ⚠️ Limitations of the Yellow Pages USA scraper

- **Result depth** — one search shows a limited number of result pages; for more businesses use more search terms and locations.
- **Sponsored listings** — nationwide advertisers can appear in results without a street address.
- **Reviews and ratings** — ratings and counts are only present for businesses that have reviews.
- **Emails** — an email address is only present when the business lists one on its page; use employee contacts for more.
- **Login-required content** — nothing behind a login is collected.

### ❓ Yellow Pages USA scraper FAQ

#### Can I scrape Yellow Pages USA legally?

The actor only collects data that is already publicly visible on Yellow Pages USA — no login, paywall or private content is accessed. Scraping publicly available data is generally considered lawful (see *hiQ Labs v. LinkedIn*), but you are responsible for complying with the site's Terms of Service and applicable laws such as GDPR or CCPA, since business listings can contain personal data such as names, phone numbers and emails.

#### What data does the Yellow Pages USA scraper return?

Each record has the business name, phone, address, categories, website, rating and more. With business pages on you also get the full description, coordinates, opening hours, email, social links, associations and payment methods. With employee contacts on, each record also has a `leads` array with employee names, roles and emails: business emails where the page lists one, plus employee emails found on each business website.

#### How many businesses can I scrape from one Yellow Pages USA search?

`maxItems` limits the businesses saved for each search URL, not the whole run. A search shows a limited number of result pages (about 3,000 businesses at most); to collect more, use several search terms and locations.

#### Do I need a proxy to scrape yellowpages.com?

No. Pages are loaded by the Actor's built-in service, so you leave the proxy off.

#### How do I find emails of businesses on Yellow Pages USA?

Switch on **Find employee contacts**: the actor looks up each business's website and adds employee names, roles and emails to a `leads` array. It is charged separately and only when the lookup successfully returns contacts: once per business, with at least one lead in every charged record, and nothing when `leads` is empty.

#### How do I scrape Yellow Pages USA with Python?

Use the Python example above: call the actor with the Apify client and iterate over the dataset items.

#### Can I run this Yellow Pages USA scraper on a schedule?

Yes. Use Apify Schedules to run it daily or weekly. Set a **Cache project name** and each run returns only new and changed businesses; businesses already seen and unchanged are skipped and not charged.

#### What output formats are supported?

JSON, CSV, Excel, XML and RSS, either from the **Output** tab or through the Apify API.

### 🔗 Other Yellow Pages scrapers by country

| Scraper | Description |
| ------- | ----------- |
| ![CA flag](https://flagcdn.com/w20/ca.png) [🇨🇦 Yellow Pages Canada Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-canada-scraper) | Canadian businesses from yellowpages.ca: phones, websites, hours and contacts. |
| ![GB flag](https://flagcdn.com/w20/gb.png) [🇬🇧 Yellow Pages UK Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-uk-scraper) | UK businesses from Yell (yell.com): phones, websites, ratings and contacts. |
| ![FR flag](https://flagcdn.com/w20/fr.png) [🇫🇷 Yellow Pages France Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-france-scraper) | French businesses from PagesJaunes: phones, websites, SIRET and contacts. |
| ![DE flag](https://flagcdn.com/w20/de.png) [🇩🇪 Yellow Pages Germany Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-germany-scraper) | German businesses from Gelbe Seiten: phones, websites, ratings and contacts. |
| ![IT flag](https://flagcdn.com/w20/it.png) [🇮🇹 Yellow Pages Italy Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-italy-scraper) | Italian businesses from Pagine Gialle: phones, websites, VAT and contacts. |
| ![AU flag](https://flagcdn.com/w20/au.png) [🇦🇺 Yellow Pages Australia Scraper - Emails & Leads](https://apify.com/confidential_gnat/yellowpages-australia-scraper) | Australian businesses from yellowpages.com.au: phones, emails, ABN and contacts. |
| ![ES flag](https://flagcdn.com/w20/es.png) [🇪🇸 Páginas Amarillas Spain (Yellow Pages) Business Scraper](https://apify.com/confidential_gnat/paginasamarillas-business-scraper) | Spanish businesses from Páginas Amarillas: name, phone, address and more. |

### 🔗 Relevant actors for business directories and leads

| Scraper | Description |
| ------- | ----------- |
| [🏢 BBB Emails & Info Scraper](https://apify.com/confidential_gnat/bbb-business-scraper) | Scrapes Better Business Bureau businesses: name, phone, rating, accreditation and contacts. |
| [⚖️ Martindale Lawyers Scraper](https://apify.com/confidential_gnat/martindale-lawyers-scraper) | Scrapes lawyer and law firm profiles from Martindale with optional contacts. |
| [📧 Decision Maker Email Finder](https://apify.com/confidential_gnat/decision-maker-email-finder) | Finds decision makers and emails from company websites. |
| [💰 Signal NFX Investors Email Scraper](https://apify.com/confidential_gnat/signal-nfx-investors-scraper) | Scrapes VC and angel investor profiles from Signal by NFX. |
| [🇩🇪 German Imprint (Impressum) Scraper](https://apify.com/confidential_gnat/german-imprint-scraper) | Finds a German website's Impressum page and extracts decision makers and contacts. |

### 🔗 Other actors you may find useful

| Scraper | Description |
| ------- | ----------- |
| [💼 XING Jobs Scraper](https://apify.com/confidential_gnat/xing-jobs-scraper) | Scrape job listings from XING Jobs: title, company, location and employment type. |
| [🍷 Vivino Wine Scraper](https://apify.com/confidential_gnat/vivino-wine-scraper) | Scrape wine data from Vivino: name, winery, vintage, region and rating. |
| [📈 Kalshi Markets Scraper](https://apify.com/confidential_gnat/kalshi-markets-scraper) | Scrape Kalshi prediction markets: yes/no prices, implied probability and volume. |
| [✈️ Kiwi.com Flight Scraper](https://apify.com/confidential_gnat/kiwi-flight-scraper) | Scrape flight prices and schedules from Kiwi.com, including airline and times. |
| [🛒 Craigslist Listings Scraper](https://apify.com/confidential_gnat/craigslist-listings-scraper) | Scrape Craigslist listings in any city and category: title, price and more. |

### 💬 Support & contact

If you encounter any issues or have questions, please [open an issue](https://apify.com/confidential_gnat/yellowpages-usa-scraper/issues/open) or reach out via the [Apify Community Forum](https://community.apify.com/).

You can also find more of our actors on the [Actor Flow](https://apify.com/confidential_gnat) page.

# Actor input Schema

## `startUrls` (type: `array`):

Yellow Pages search result pages, category pages or single business pages, for example https://www.yellowpages.com/search?search_terms=plumber\&geo_location_terms=New+York%2C+NY or https://www.yellowpages.com/new-york-ny/plumbers. Filters already in the URL are kept. Leave empty to use the search terms and locations below.

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

Maximum businesses saved for each search. Directory searches show up to about 3,000 results; for more, use narrower searches (more search terms or locations).

## `cacheProjectName` (type: `string`):

Use the same name on each scheduled run to get only new and changed businesses. Businesses already seen and unchanged are skipped and not charged. Each record gets a changeType: new or updated.

## `enrichLeads` (type: `boolean`):

Looks up each business's website for employee contacts (name, role, email, LinkedIn) and adds them as a 'leads' array. Needs the business to have a website. Adds a separate charge only for a business where the lookup successfully returns at least one contact (one charge per business, not per contact); nothing is charged when no contacts are found.

## `scrapeDetails` (type: `boolean`):

Open every business page for the full description, coordinates, opening hours, email, social links, associations and payment methods. Slower; off by default. Adds a separate charge per business page opened, on top of the normal result price.

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

What to search for, for example plumber, dentist or italian restaurant. Each term is searched in every location.

## `locations` (type: `array`):

Where to search, for example New York, NY or Austin, TX. Each location is searched for every search term.

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

Not needed: pages are loaded by the Actor's built-in service. Leave proxies off.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY"
    }
  ],
  "maxItems": 5,
  "enrichLeads": false,
  "scrapeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `businesses` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY"
        }
    ],
    "maxItems": 5,
    "enrichLeads": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("confidential_gnat/yellowpages-usa-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 = {
    "startUrls": [{ "url": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY" }],
    "maxItems": 5,
    "enrichLeads": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("confidential_gnat/yellowpages-usa-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 '{
  "startUrls": [
    {
      "url": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=New+York%2C+NY"
    }
  ],
  "maxItems": 5,
  "enrichLeads": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call confidential_gnat/yellowpages-usa-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,confidential_gnat/yellowpages-usa-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/pOP7znB43IjbVGo0l/builds/SLkMvc2sPhhfsZkua/openapi.json
