# Yahoo Local Business Scraper (`aerodynamic_tripod/yahoo-local-business-scraper`) Actor

Extract Yahoo Local businesses, contacts, websites, ratings, hours, reviews, photos, socials, public emails when available, and source provenance in bulk.

- **URL**: https://apify.com/aerodynamic\_tripod/yahoo-local-business-scraper.md
- **Developed by:** [SearchShark Tools](https://apify.com/aerodynamic_tripod) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 20.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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.

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

## 🏬 Yahoo Local Business Scraper

**Yahoo Local Business Scraper** lets you extract **structured local business data from Yahoo Local** using category and location pages.

Generate **local business leads**, research competitors, collect contact information, analyze ratings and reviews, and export rich Yahoo Local business data **without manually opening every listing**.

- 🎯 **Generate business leads:** collect business names, phone numbers, websites, emails, addresses, and domains
- ⭐ **Analyze ratings & reviews:** extract ratings, review counts, review providers, rating distributions, and available review content
- 🕐 **Collect business hours:** capture current status, today's hours, and weekly opening hours when Yahoo exposes them
- 🌐 **Find contact channels:** websites, public emails, Facebook, LinkedIn, Twitter/X, YouTube, and Pinterest when available
- 📍 **Research local markets:** scrape Yahoo Local businesses by category, city, and state
- 🏆 **Preserve Yahoo ranking:** keep the observed Yahoo Local result position for every listing
- 🖼 **Collect photos:** extract hero images and structured business photo data
- 🧹 **Remove duplicates:** businesses are deduplicated using Yahoo's business ID
- ⚡ **Automate workflows:** export structured results to Apify Dataset, API, integrations, CRMs, or downstream applications

***

### 📦 What data does Yahoo Local Business Scraper extract?

| | |
| --- | --- |
| 🏢 **Business name** | 🆔 **Yahoo Business ID** |
| 🏆 **Observed Yahoo position** | 📄 **Result page number** |
| 🏷 **Categories** | 📍 **Address** |
| 🏙 **City** | 🗺 **State** |
| 📮 **Postal code** | 📌 **Latitude & longitude** |
| 🛣 **Cross streets** | 📏 **Distance** |
| ☎️ **Phone number** | 🌐 **Website** |
| 🔗 **Website domain** | ✉️ **Public email** |
| 👍 **Facebook** | 💼 **LinkedIn** |
| 🐦 **Twitter / X** | ▶️ **YouTube** |
| 📌 **Pinterest** | 📝 **Business description** |
| ⭐ **Rating** | 🔢 **Rating count** |
| 💬 **Review count** | 🧾 **Review provider** |
| 📊 **Rating distribution** | 🗣 **Structured reviews** |
| 🟢 **Open status** | 🕐 **Today's hours** |
| 📅 **Weekly hours** | 🖼 **Hero image** |
| 📸 **Business photos** | ✅ **Claimed status** |
| 🔎 **Yahoo Local URL** | 🔗 **Source URL** |
| 🧭 **Input category** | 🌎 **Input location** |
| 🏷 **Source partner** | 🕒 **Scrape timestamp** |

> **Missing fields are returned as `null` or empty arrays.** The Actor does **not invent business data** that Yahoo Local does not expose.

***

### 🚀 Features

Yahoo Local Business Scraper is designed for **lead generation**, **local market research**, and **business intelligence**.

- **Easy category + location mode**
- **Direct Yahoo Local URL mode**
- **Multiple searches in one Actor run**
- **Automatic pagination**
- **Global business deduplication by Yahoo Business ID**
- **Observed Yahoo Local ranking**
- **Public email extraction when Yahoo provides one**
- **Website and domain extraction**
- **Social profile extraction**
- **Structured ratings and reviews**
- **Weekly opening hours**
- **Structured photo metadata**
- **Category and location provenance**
- **Clean numeric and Boolean values**
- **Automatic retry handling**
- **Proxy and session rotation support**
- **HTTP-first architecture**
- **No browser required for normal scraping**
- **API-friendly Dataset output**
- **Specialized Output views for leads and reviews**

***

## ⬇️ Input

Yahoo Local Business Scraper supports **two input modes**.

You can use either one or both in the same Actor run.

***

### 🔎 Easy Mode — Category & Location Searches

Easy Mode lets you enter:

```text
Yahoo Local Category URL
City
State
```

Example:

```text
Yahoo Local Category URL:
https://local.yahoo.com/restaurants/pizza/

City:
New York

State:
NY
```

The Actor automatically builds:

```text
https://local.yahoo.com/restaurants/pizza/ny/new-york/
```

and starts extracting businesses from that Yahoo Local category.

#### Example categories

```text
https://local.yahoo.com/restaurants/pizza/

https://local.yahoo.com/consumer-services/home-and-garden-services/plumbing/
```

You can click **+ Add** to run multiple category/location combinations in a single Actor run.

> **Easy Mode currently expects a city and a two-letter U.S. state code**, such as `NY`, `TX`, `CA`, or `FL`.

***

### 🔗 Advanced Mode — Yahoo Local URLs

If you already have complete Yahoo Local category/location URLs, add them directly under:

```text
Yahoo Local URLs
```

Example:

```text
https://local.yahoo.com/consumer-services/home-and-garden-services/plumbing/tx/houston/
```

You can provide **multiple URLs** in the same run.

This mode is useful when you already know the exact Yahoo Local page you want to scrape.

***

### ⚠️ Category search vs keyword search

Yahoo Local Business Scraper currently focuses on **Yahoo Local category + location pages**.

It is **not an unrestricted keyword search engine**.

For example, use:

```text
Category:
Pizza

Location:
New York, NY
```

instead of expecting arbitrary queries such as:

```text
best cheap late night pizza with parking
```

This keeps the Actor aligned with the current structure of Yahoo Local.

***

### 🔢 Maximum businesses

Set the maximum number of **unique businesses saved across the entire Actor run**.

Example:

```text
Maximum businesses:
100
```

If you run several category/location searches together, they all contribute toward this global limit.

Set:

```text
0
```

for no explicit business limit.

> The requested number is a **maximum, not a guarantee**. Yahoo may expose fewer businesses than requested.

***

### 📄 Maximum pages per search

Set how many Yahoo Local pagination pages the Actor may request for each search.

Example:

```text
Maximum pages per search:
10
```

A Yahoo Local page may expose multiple business listings.

The Actor automatically constructs subsequent pages such as:

```text
/2/
/3/
/4/
```

until a stopping condition is reached.

***

### 🌐 Proxy configuration

**Apify Proxy is enabled by default.**

You can also configure:

- Apify Proxy
- Custom proxy URLs
- Available proxy groups
- Country settings supported by your Apify account
- No proxy

The crawler also uses **session rotation**.

Blocked sessions can be replaced automatically when Yahoo responds with statuses such as:

```text
401
403
429
```

A short delay is also applied between requests to Yahoo Local to reduce unnecessary request pressure.

***

### 🧪 Example input

```json
{
  "searches": [
    {
      "categoryUrl": "https://local.yahoo.com/restaurants/pizza/",
      "city": "New York",
      "state": "NY"
    },
    {
      "categoryUrl": "https://local.yahoo.com/consumer-services/home-and-garden-services/plumbing/",
      "city": "Houston",
      "state": "TX"
    }
  ],
  "startUrls": [],
  "maxItems": 100,
  "maxPagesPerUrl": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

You can also use direct URLs only:

```json
{
  "searches": [],
  "startUrls": [
    {
      "url": "https://local.yahoo.com/restaurants/pizza/ny/new-york/"
    }
  ],
  "maxItems": 100,
  "maxPagesPerUrl": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

***

## ⬆️ Output

Results are stored in the Actor's default **Apify Dataset**.

You can access them from:

```text
Output
Storage
Apify API
Integrations
```

Each Dataset item represents **one unique Yahoo Local business discovered during the run**.

***

### 👀 Output views

Yahoo Local Business Scraper includes several useful Dataset views.

#### 📋 Overview

Designed for quickly reviewing businesses.

Includes fields such as:

```text
Position
Business
Rating
Reviews
Phone
Website
Email
Address
City
State
ZIP Code
Open Status
Claimed
Image
Yahoo Local URL
Page
```

#### 🎯 Leads & Contacts

Focused on lead-generation data.

Includes:

```text
Business
Phone
Email
Website
Domain
Facebook
LinkedIn
Twitter / X
YouTube
Pinterest
Address
City
State
ZIP Code
Claimed
Source Partner
Yahoo Local URL
```

#### ⭐ Ratings & Reviews

Focused on reputation and business-review data.

Includes:

```text
Position
Business
Rating
Rating Count
Review Count
Rating Source
Review Provider
Rating Distribution
Reviews
Open Status
Today's Hours
Weekly Hours
Image
Yahoo Local URL
```

#### 🧾 All fields

Shows the complete Dataset record with all extracted fields.

***

### 📊 Example result

```json
{
  "businessId": "92280389",
  "name": "Olio E Più",
  "yahooUrl": "https://local.yahoo.com/info-92280389-olio-e-più-new-york",
  "position": 1,
  "page": 1,
  "inputCategory": "Pizza",
  "inputLocation": "New York, NY",
  "sourceUrl": "https://local.yahoo.com/restaurants/pizza/ny/new-york/",
  "scrapedAt": "2026-09-04T05:39:57.025Z",

  "address": "3 Greenwich Ave",
  "city": "New York",
  "state": "NY",
  "postalCode": "10014",

  "latitude": 40.733,
  "longitude": -74.002,

  "crossStreets": null,
  "distanceMiles": 1.39,
  "distanceKilometers": 2.24,

  "phone": "(212) 243-6546",

  "website": "https://www.olioepiu.com/",
  "websiteDomain": "olioepiu.com",

  "email": "contact@olionyc.com",

  "facebook": null,
  "twitter": null,
  "youtube": null,
  "linkedin": null,
  "pinterest": null,

  "description": "Italian restaurant in New York",

  "categories": [
    "Pizza"
  ],

  "rating": 4.5,
  "ratingCount": 7516,
  "reviewCount": 7516,

  "ratingSource": "yelp",
  "reviewProvider": "yelp",

  "openStatus": "closed",

  "heroImage": "https://s.yimg.com/...",

  "isClaimed": false,

  "sourcePartner": null
}
```

> This is an **example structure**. Fields and values vary depending on what Yahoo Local exposes for each business.

***

### 🏆 Observed Yahoo Local position

One of the most useful fields returned by the Actor is:

```text
position
```

This represents the **observed Yahoo Local listing position during the scrape**.

Example:

```text
Business A → position 1
Business B → position 2
Business C → position 7
```

For paginated results, Yahoo may continue the ranking:

```text
Page 1 → positions 1–8
Page 2 → positions 9–16
```

The Actor preserves the value exposed by Yahoo rather than creating its own ranking.

> Yahoo Local rankings can change over time and may vary depending on Yahoo's current data and result ordering.

***

### 🧹 Deduplication

Businesses are deduplicated using:

```text
Yahoo Business ID
```

If the same Yahoo business appears multiple times during one Actor run, only the **first discovered occurrence** is stored.

For example:

```text
Yahoo Business ID: 123456
```

appearing in several searches will still produce only one Dataset item.

This prevents duplicate leads from inflating your Dataset.

> Because deduplication is global for the run, the stored `inputCategory`, `inputLocation`, `position`, and `sourceUrl` represent the **first appearance that was saved**.

***

### 📄 Pagination

Yahoo Local Business Scraper automatically requests subsequent category pages.

For example:

```text
https://local.yahoo.com/restaurants/pizza/ny/new-york/

https://local.yahoo.com/restaurants/pizza/ny/new-york/2/

https://local.yahoo.com/restaurants/pizza/ny/new-york/3/
```

Pagination stops when:

- 🎯 **Maximum businesses is reached**
- 📄 **Maximum pages per search is reached**
- 📭 **Yahoo returns zero business listings**
- ⚠️ **Request retries are exhausted**

Duplicate Yahoo Business IDs are skipped automatically.

***

### ⭐ Ratings & reviews

Yahoo Local listings can expose structured reputation data such as:

```text
Rating
Rating count
Review count
Rating source
Review provider
Rating distribution
Review text
Reviewer name
Review date
Review rating
Review URL
```

Review information varies by business.

Some listings may contain detailed review data while others expose only summary information.

The Actor keeps:

```text
ratingSource
```

and:

```text
reviewProvider
```

as separate fields because Yahoo may expose different providers for different parts of the listing data.

***

### 🕐 Opening hours

When available, the Actor extracts:

```text
Open status
Today's hours
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
```

These are stored under:

```text
openStatus
todayHours
weeklyHours
```

Yahoo may not expose complete hours for every listing.

***

### 📸 Photos

Yahoo Local can expose structured business photos.

The Actor preserves information such as:

```text
Photo URL
Width
Height
Caption
Label
Hero image status
Provider ID
User submitted status
User name
Score
```

The main business image is also exposed separately as:

```text
heroImage
```

***

### ✉️ Emails & social profiles

Some Yahoo Local listings contain public contact information such as:

```text
Email
Facebook
LinkedIn
Twitter / X
YouTube
Pinterest
```

These fields are returned **only when Yahoo exposes them**.

The Actor does not fabricate missing emails or social profiles.

***

### ⚡ Performance

Yahoo Local Business Scraper uses an **HTTP-first architecture**.

Normal category searches do **not require a browser**.

Instead, the Actor extracts Yahoo's structured listing data directly from the page response.

This reduces:

```text
Browser overhead
Memory usage
Startup overhead
Unnecessary detail-page requests
```

A single Yahoo Local category page can contain rich information for several businesses, including contact information, ratings, hours, photos, and reviews.

The Actor therefore does **not automatically open every individual business detail page**.

***

### 🛡 Reliability

Yahoo Local Business Scraper includes:

- **Automatic request retries**
- **Apify Proxy support**
- **Proxy configuration input**
- **Session pool**
- **Session rotation**
- **401 handling**
- **403 handling**
- **429 handling**
- **Same-domain request delay**
- **Business ID deduplication**

If Yahoo temporarily blocks a session, Crawlee can retire that session and retry using another available session/proxy identity.

***

## 🔌 API & integrations

Yahoo Local Business Scraper can be used programmatically through the **Apify API**.

The same input used in the Apify Console can be supplied through an API request.

This makes the Actor suitable for:

- Google Sheets workflows
- Make
- Zapier
- CRMs
- Lead-generation platforms
- Internal dashboards
- Data warehouses
- Research systems
- AI agents
- MCP workflows
- Automated data pipelines

Results remain available through the Actor's default **Apify Dataset**.

***

### 📤 Export formats

Dataset results can be exported using formats supported by Apify, including:

```text
JSON
CSV
Excel
XML
JSONL
HTML
```

The **Leads & Contacts** view is especially useful when exporting prospect data.

***

## 💡 Example use cases

### 🎯 Local lead generation

Scrape categories such as:

```text
Plumbing
Roofing
HVAC
Restaurants
Electricians
Home services
```

and build a prospect list containing:

```text
Business name
Phone
Public email
Website
Domain
Address
Rating
Reviews
Yahoo Local URL
```

***

### ⭐ Reputation research

Use Yahoo Local data to compare:

```text
Ratings
Review counts
Review providers
Rating distributions
Recent review content
```

across competing businesses.

***

### 📊 Competitor research

Analyze businesses within the same Yahoo Local category to identify:

```text
Highly rated competitors
Businesses with strong review volume
Website coverage
Public contact information
Observed result position
Business locations
```

***

### 📍 Market research

Run the same category across different locations.

Example:

```text
Pizza → New York, NY
Pizza → Houston, TX
Pizza → Los Angeles, CA
```

Use the resulting Dataset to compare local business landscapes.

***

### 📧 Lead enrichment

Yahoo Local can sometimes expose information beyond basic directory listings, including:

```text
Website
Domain
Public email
Social profiles
Reviews
Photos
Opening hours
```

This can make the Dataset useful as a starting point for downstream lead-enrichment workflows.

***

## ⚠️ Current limitations

The current version focuses on **Yahoo Local category and location pages**.

It does **not currently provide unrestricted Yahoo keyword search**.

It also does not automatically perform:

```text
Business website crawling
Additional email discovery from external websites
Employee/contact discovery
Browser-based fallback crawling
Grid/map-area crawling
Historical ranking storage
Automatic monitoring over time
```

Easy Mode currently expects:

```text
City
+
Two-letter U.S. state code
```

For advanced workflows, you can provide valid Yahoo Local category/location URLs directly.

***

## ❓ FAQ

### How does Yahoo Local Business Scraper work?

The Actor:

```text
Accepts category/location searches or Yahoo Local URLs
↓
Builds Yahoo Local category URLs when needed
↓
Requests Yahoo Local using HTTP
↓
Reads Yahoo's structured listing data
↓
Normalizes business fields
↓
Removes duplicate Yahoo Business IDs
↓
Automatically paginates
↓
Stores results in the Apify Dataset
```

***

### Do I need a Yahoo Local URL?

**No.**

Easy Mode lets you provide:

```text
Yahoo Local Category URL
City
State
```

The Actor builds the complete category/location URL automatically.

Advanced users can still provide complete Yahoo Local URLs directly.

***

### Can I run multiple searches at once?

**Yes.**

Click:

```text
+ Add
```

under **Category & Location Searches** to add additional searches.

Each search can use a different:

```text
Category
City
State
```

***

### Can I use direct URLs and Easy Mode together?

**Yes.**

The Actor can process:

```text
Category & Location Searches
+
Yahoo Local URLs
```

within the same run.

***

### How many businesses can I scrape?

You control the global limit using:

```text
Maximum businesses
```

For example:

```text
100
```

means the Actor will save up to **100 unique Yahoo businesses across the run**.

Yahoo may expose fewer businesses than requested.

***

### Why are some fields null?

Yahoo does not expose every field for every business.

For example, one business may have:

```text
Phone
Website
Email
Reviews
Photos
```

while another may only expose:

```text
Phone
Address
Rating
```

The Actor returns missing information as `null` instead of inventing data.

***

### Why is a business missing from a second search?

The Actor performs **global deduplication by Yahoo Business ID**.

If a business was already saved from an earlier search, later appearances of the same Yahoo Business ID are skipped.

The first saved appearance is retained.

***

### Can I scrape reviews?

**Yes, when Yahoo Local exposes them.**

The Actor can extract structured review data including reviewer information, review rating, review text, date, and provider.

Not every listing exposes the same amount of review data.

***

### Can I scrape public emails?

**Yes, when Yahoo Local provides them.**

Some listings expose public email addresses directly.

Missing emails remain `null`.

The Actor does not currently crawl external business websites to discover additional emails.

***

### Can I export leads to CSV or Excel?

**Yes.**

Use the Actor's Dataset export options.

The **Leads & Contacts** view is designed specifically for this use case.

***

### Can I use Yahoo Local Business Scraper through an API?

**Yes.**

Actor runs can be started through the **Apify API**, and Dataset results can be retrieved programmatically.

You can find ready-to-use integration examples under the Actor's **API** tab in Apify Console.

***

### Is a browser required?

**No, not for the normal workflow.**

The Actor uses an **HTTP-first extraction strategy** and reads Yahoo's structured listing data without launching browser automation.

***

### Is a proxy required?

Not always, but **Apify Proxy is enabled by default** for improved reliability.

You can change the proxy configuration from the Actor input.

***

## 💳 Pricing & usage

Yahoo Local Business Scraper is designed to reduce unnecessary compute by using **HTTP requests instead of browser automation** during normal scraping.

Actual usage cost can depend on:

```text
Actor pricing model
Number of pages requested
Number of searches
Proxy usage
Apify platform usage
Dataset size
```

Check the Actor's current Apify Store pricing information for the exact billing model.

***

## 🧭 Recommended workflow

For clean results, use **specific Yahoo Local category URLs**.

Good:

```text
https://local.yahoo.com/restaurants/pizza/

https://local.yahoo.com/consumer-services/home-and-garden-services/plumbing/
```

Then combine each category with the location you actually want:

```text
Pizza → New York, NY
Plumbing → Houston, TX
```

Avoid treating the category field as an unrestricted search query.

***

## 💬 Feedback & support

Found a bug or have a feature request?

Use the Actor's **Issues** tab on Apify.

Potential future additions include:

```text
Website enrichment
Additional public email discovery
Additional social/contact enrichment
Historical Yahoo position tracking
Business detail mode
Advanced review analysis
More location input options
Additional provenance tracking
```

***

### 🚀 Yahoo Local business data without the manual searching

Add your **category and location**, run the Actor, and receive **structured Yahoo Local business data** ready for **lead generation, competitor research, APIs, automation, and market analysis**.

# Actor input Schema

## `searches` (type: `array`):

Easy mode. Add one or more Yahoo Local categories with a city and two-letter US state code.

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

Advanced mode. Paste complete Yahoo Local category/location URLs directly.

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

Maximum number of unique businesses to save across the entire run. Set to 0 for no limit.

## `maxPagesPerUrl` (type: `integer`):

Maximum number of Yahoo Local pagination pages to crawl for each search or starting URL.

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

Configure Apify Proxy or custom proxies. Proxies can improve reliability if Yahoo rate-limits requests.

## Actor input object example

```json
{
  "searches": [
    {
      "categoryUrl": "https://local.yahoo.com/restaurants/pizza/",
      "city": "New York",
      "state": "NY"
    }
  ],
  "startUrls": [],
  "maxItems": 8,
  "maxPagesPerUrl": 1,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

Structured Yahoo Local business records collected by this run.

# 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 = {
    "searches": [
        {
            "categoryUrl": "https://local.yahoo.com/restaurants/pizza/",
            "city": "New York",
            "state": "NY"
        }
    ],
    "maxItems": 8,
    "maxPagesPerUrl": 1,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("aerodynamic_tripod/yahoo-local-business-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 = {
    "searches": [{
            "categoryUrl": "https://local.yahoo.com/restaurants/pizza/",
            "city": "New York",
            "state": "NY",
        }],
    "maxItems": 8,
    "maxPagesPerUrl": 1,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("aerodynamic_tripod/yahoo-local-business-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 '{
  "searches": [
    {
      "categoryUrl": "https://local.yahoo.com/restaurants/pizza/",
      "city": "New York",
      "state": "NY"
    }
  ],
  "maxItems": 8,
  "maxPagesPerUrl": 1,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call aerodynamic_tripod/yahoo-local-business-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aerodynamic_tripod/yahoo-local-business-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/6x5DNTZsSfslyuPnk/builds/FYEE8tURSSDrGuJA0/openapi.json
