# Yelp Business Reviews Scraper — Review Pages (`sian.agency/yelp-business-reviews-scraper`) Actor

Retrieve a public Yelp review page by 22-character business ID. Get review text, ratings, dates, author details, photos and available owner replies. Each completed page is one record containing all returned reviews. Export JSON, CSV or Excel and open the processing report.

- **URL**: https://apify.com/sian.agency/yelp-business-reviews-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Business, Marketing, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $125.72 / 1,000 completed review page records

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

## Yelp Business Reviews Scraper ⭐

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Google Maps Photos](https://img.shields.io/badge/Store-Google%20Maps%20Photos-4285F4)](https://apify.com/sian.agency/google-maps-photos-scraper?fpr=sian) [![Trustpilot](https://img.shields.io/badge/Store-Trustpilot-00B67A)](https://apify.com/sian.agency/trustpilot-reviews-scraper?fpr=sian) [![Tripadvisor Hotels](https://img.shields.io/badge/Store-Tripadvisor%20Hotels-34E0A1)](https://apify.com/sian.agency/tripadvisor-hotel-scraper?fpr=sian)

#### ⭐ One page record with up to ten public reviews

##### For reputation teams, restaurant managers and researchers

### 🔎 What is the Yelp Business Reviews Scraper — and when should you use it?

The **Yelp Business Reviews Scraper** turns a 22-character Yelp business ID and a review page number into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

**Use it when you need:** review text, ratings, dates, public author details and available photos or owner replies from a known Yelp business.

**Use something else when:** you need business discovery, business profiles or exhaustive review history. This actor retrieves one review page. It does not search for businesses or promise exhaustive history.

### 🤖 Use with AI agents

Already connected to the [Apify MCP server](https://mcp.apify.com)? Just ask for this Actor by name: sian.agency/yelp-business-reviews-scraper

**Agentic payments:** Availability of [x402](https://www.x402.org/) and [Skyfire](https://www.skyfire.xyz/) depends on this Actor's current Store eligibility. Check the published listing for supported payment methods. One completed review page is one page event, including a valid empty page. Failed retrievals have no review-page charge. A separate run-start fee applies.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

```text
I want public review-page exports for reputation reporting and customer research using the Apify Actor `sian.agency/yelp-business-reviews-scraper`.

Use it when I need: review text, ratings, dates, public author details and available photos or owner replies from a known Yelp business.

Don't use it when: This actor retrieves one review page. It does not search for businesses or promise exhaustive history.

How to call it: set operation to reviews, supply businessId, and choose page. Read the full reviews array in the output record.

Start with this input:
{
  "operation": "reviews",
  "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
  "page": 1
}

Ask me which 22-character Yelp business ID and page they want, then run the Actor and summarise the results as a table.
```

**Things you can ask your agent for:**

- *Export the first review page for this Yelp business and show ratings alongside the text.*
- *Retrieve page two for this business and preserve the public author details.*
- *Save this review-page snapshot to JSON for my reputation report.*

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at [apify.com/sian.agency/yelp-business-reviews-scraper.md](https://apify.com/sian.agency/yelp-business-reviews-scraper.md).

### 📋 Overview

Export a known Yelp business’s public review page with its text, ratings, dates and author details. Each page stays together in one record. JSON preserves photos, owner replies and previous reviews when they are available.

- ⭐ **Complete pages:** every returned review stays in the reviews array.
- 📄 **Page selection:** page 2 was verified to return different reviews from page 1.
- 📝 **Text previews:** page-level fields make the first review easy to inspect.
- 💰 **Clear billing:** one completed page event; no extra per-review charge.
- 📊 **Export choices:** download JSON, CSV or Excel from Apify.
- 📄 **Processing report:** see page counts and accepted charges after the run.

### ✨ Features

- 🏪 **Business ID:** use an existing 22-character Yelp business ID.
- 📄 **One page per run:** select a page from 1 to 100, subject to availability.
- 💬 **Review text:** retain the available review body without generating a summary.
- ⭐ **Ratings:** keep each review’s numeric score.
- 👤 **Authors:** preserve public author names and profile details when returned.
- 📸 **Photos and replies:** nested review information remains in JSON.
- 🕒 **Retrieval date:** distinguish the review’s date from the export timestamp.

### 🎬 Quick Start

Open the actor in Apify Console and use the prefilled business ID. Choose page 1 and press Start. Open the dataset to inspect the reviews array, or download JSON for nested fields.

```json
{
  "operation": "reviews",
  "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
  "page": 1
}
```

### 🚀 Getting Started

#### Step 1: Choose a business

Supply an existing 22-character Yelp business ID. Business URL aliases are not supported, and this actor cannot discover the ID for you.

#### Step 2: Choose a page

Start with page 1. Every run retrieves one page with up to ten reviews.

#### Step 3: Read and export

Open the page record and its reviews array. Use JSON when you need full photo, reply and author details.

### 📥 Input Configuration

| Field | Type | Meaning |
|---|---|---|
| operation | string | reviews |
| businessId | string | Existing 22-character Yelp business ID |
| page | integer | One page, 1–100; default 1 |

The business field has a ready-to-test prefill. API calls must supply their own businessId. There is no business-search or automatic multi-page mode.

### 📤 Output

| Field | Type | Meaning |
|---|---|---|
| businessId | string | Requested 22-character business ID |
| page | integer | Requested page |
| reviewCount | integer | Number of reviews returned |
| reviews | array | Full returned reviews with available nested fields |
| topReviewText | string/null | First review’s text |
| topReviewRating | number/null | First review’s rating |
| topReviewDate | string/null | First review’s date |
| topAuthor | string/null | First author’s public name |
| processedAt | string | ISO 8601 processing timestamp |
| scrapingDate | string | UTC processing date (YYYY-MM-DD) |
| status | string | Record status |

A review inside the array can include review_id, review_rating, review_text, review_datetime_utc, author_name, review_photos, business_owner_replies and previous_reviews_by_author. Available fields vary.

```json
{"businessId":"TRBP1G1l8vZkjgfqdx96Cw","page":1,"reviewCount":10,"reviews":[{"review_rating":5,"review_text":"The Food is Amazing! Awesome burgers just how you want, the fries are fresh and Hot!"}],"status":"success"}
```

The example abbreviates the reviews array and review text. The actual record preserves every returned review.

### 💼 Use Cases & Examples

#### 1. Restaurant feedback review

Restaurant managers can export the first page for a known business ID and read the feedback alongside its ratings. JSON keeps the full returned page together.

#### 2. Reputation reporting

Agencies can attach a dated review-page snapshot to a client report. Use the existing business ID; this actor does not find it for you.

#### 3. Customer research

Researchers can inspect the review text for phrases customers use. Check the original review before quoting its author.

#### 4. Rating audits

Analysts can compare a review’s score with its text and public date. Each review remains a separate object inside the page record.

#### 5. Research archives

Save a page with its retrieval date so your team knows when it was collected. Reviews may be edited or removed later.

#### 6. Workflow exports

Developers can pass the complete reviews array into their own database or analysis step. JSON preserves nested photos and replies.

### 🔗 Integration Examples

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/yelp-business-reviews-scraper').call({"operation": "reviews", "businessId": "TRBP1G1l8vZkjgfqdx96Cw", "page": 1});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].reviews);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/yelp-business-reviews-scraper').call(run_input={"operation": "reviews", "businessId": "TRBP1G1l8vZkjgfqdx96Cw", "page": 1})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item['reviews'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~yelp-business-reviews-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' -d '{"operation": "reviews", "businessId": "TRBP1G1l8vZkjgfqdx96Cw", "page": 1}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. Trigger the workflow on a schedule or with a supplied business ID.
2. Start the actor using an HTTP request.
3. Wait for the run and read the dataset.
4. Save the page record to your spreadsheet or database.

### 📊 Performance & Pricing

Each completed page produces one record and one review-page event. A valid page with zero reviews is still a completed retrieval. Failed retrievals have no review-page charge. The separate run-start fee applies even when input is invalid or the run stops early.

| Apify plan | Per completed page | Run start |
|---|---:|---:|
| Free | $0.57144 | $0.020 |
| Bronze | $0.14286 | $0.005 |
| Silver | $0.13429 | $0.005 |
| Gold | $0.12572 | $0.005 |

Enterprise customers should check their live quote. Prices are per page, rather than per individual review. One page is retrieved per run on every plan. Processing time and coverage vary; no speed or complete-history guarantee is offered.

[Check current pricing](https://apify.com/sian.agency/yelp-business-reviews-scraper?fpr=sian).

### ❓ Frequently Asked Questions

**How is a page billed?**

One completed page is one review-page event, including a valid empty page. Failed retrievals have no review-page charge. A separate run-start fee applies.

**Does this find businesses?**

No. Supply an existing 22-character Yelp business ID. This actor does not discover IDs.

**How many reviews does a page contain?**

Up to ten. The returned reviews array contains every review from that page, including available author details, photos and owner replies.

**Can I retrieve page two?**

Yes. Set page to 2. One page is retrieved per run; pagination and complete history depend on availability.

**Are all businesses covered?**

No. A valid business may be unavailable. Check the business ID and retry once later if necessary.

**Can I export the text?**

Yes. JSON preserves nested reviews and photos. CSV and Excel keep the page-level fields alongside the reviews array.

### 🐛 Troubleshooting

**The business could not be retrieved**

Check that you supplied a 22-character business ID rather than a URL alias. Some valid businesses are unavailable; retry that business later.

**The page has no reviews**

Try an earlier page. A completed empty review page is billed once. There is no promise that page 100 exists for every business.

**The run stopped before retrieval**

Check your run budget and account credits. Free API-origin runs are restricted; use Console or MCP for evaluation.

**Nested fields look compressed in CSV**

Download JSON to preserve reviews, photos, replies and previous reviews as nested data.

### ⚖️ Legal Disclaimer

Yelp is a trademark of Yelp Inc. SIÁN Agency is independent and is not endorsed by Yelp. Public reviews can include personal data, including author names and locations. Check your purpose and applicable rules, including GDPR, before storing or sharing the results.

Read Apify’s [web scraping legal guide](https://blog.apify.com/is-web-scraping-legal/) for background. You are responsible for your use of exported reviews.

### 🤝 Support

Open an [issue](https://apify.com/sian.agency/yelp-business-reviews-scraper/issues) with the business ID, page and run link. Avoid posting account tokens or private customer data.

Email <apify@sian-agency.online>. See more tools in the [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian).

**Built by [SIÁN Agency](https://www.sian-agency.online)**

# Changelog

This Actor's version history is a separate document: https://apify.com/sian.agency/yelp-business-reviews-scraper/changelog.md

# Actor input Schema

## `operation` (type: `string`):

Retrieve one public Yelp review page, with up to ten reviews in a complete page record.

## `businessId` (type: `string`):

🏪 Enter an existing 22-character Yelp business ID. The example retrieves Pearl’s Deluxe Burgers in San Francisco. Business URL aliases are not supported, and this actor does not find IDs. Unavailable business IDs return retry advice without a review-page charge.

## `page` (type: `integer`):

📄 Retrieve one review page, starting at 1. Each page contains up to ten reviews. Page 2 was verified to return different review IDs from page 1. This version retrieves one page per run and does not promise exhaustive review history.

## Actor input object example

```json
{
  "operation": "reviews",
  "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
  "page": 1
}
```

# Actor output Schema

## `yelpReviewPages` (type: `string`):

One record per completed public Yelp review page, with its full reviews array.

## `scrapingSummary` (type: `string`):

HTML summary showing successful and failed results with key metrics

# 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 = {
    "operation": "reviews",
    "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
    "page": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/yelp-business-reviews-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 = {
    "operation": "reviews",
    "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
    "page": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/yelp-business-reviews-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 '{
  "operation": "reviews",
  "businessId": "TRBP1G1l8vZkjgfqdx96Cw",
  "page": 1
}' |
apify call sian.agency/yelp-business-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/yelp-business-reviews-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/LGDR9QcTJuXPnaRad/builds/RXqtwvLpbAnsatbpQ/openapi.json
