Yelp Reviews API
Pricing
from $0.40 / 1,000 dataset items
Yelp Reviews API
Extract reviews from any Yelp business by URL or place ID. Filter by newest, oldest, highest rated, lowest rated, or elite reviewers. Get reviewer profiles, ratings, dates, and full review text. Perfect for sentiment analysis and reputation monitoring.
Pricing
from $0.40 / 1,000 dataset items
Rating
0.0
(0)
Developer
epctex
Maintained by Apify PartnerActor stats
1
Bookmarked
30
Total users
5
Monthly active users
a day ago
Last modified
Categories
Share
Actor - Yelp Reviews API
Yelp Reviews Scraper
The Yelp Reviews API supports the following features:
- Scrape by URL — Provide any Yelp business URL to extract its reviews.
- Scrape by place ID — Use a Yelp place ID for direct review retrieval.
- Sort reviews — Sort by Yelp's default, newest, oldest, highest rated, lowest rated, or elite reviewers.
💰 Pricing: Transparent Event-Based Costs
Pay only for what you scrape—no subscriptions, no hidden fees:
| Event Type | Price | What's Included |
|---|---|---|
| Review Query | $0.004 per business | First ~10 reviews included FREE (first page) |
| Dataset Items | $0.0004 per review | Only charged for reviews beyond the free ~10 |
📊 Cost Examples
| Scenario | Charges | Calculation | Total Cost |
|---|---|---|---|
| 1 business, 10 reviews | 1 query | $0.004 × 1 | $0.004 |
| 1 business, 100 reviews | 1 query + 90 items | $0.004 + ($0.0004 × 90) | $0.040 |
| 1 business, 500 reviews | 1 query + 490 items | $0.004 + ($0.0004 × 490) | $0.200 |
| 5 businesses, 500 reviews | 5 queries + 450 items | ($0.004 × 5) + ($0.0004 × 450) | $0.200 |
Demo Mode
If you are on Apify's Free plan, this actor is available in demo mode: 5 monthly runs, 10 items per run, and no API access. Subscribe to a paid plan to remove these limits: Subscribe here.
Input Parameters
| Field | Type | Description | Default |
|---|---|---|---|
startUrls | array | Yelp business URLs to fetch reviews from. | [] |
placeIds | array | Yelp place IDs to fetch reviews from (e.g. RJNAeNA-209sctUO0dmwuA). | [] |
sortBy | string | Sort order: yelp, newest, oldest, highestRating, lowestRating, or elites. | yelp |
maxItems | number | Maximum number of reviews to return. | 30 |
customMapFunction | string | Function that takes each object as an argument and returns a mapped object. | null |
outputConnector | string | MCP connector to deliver the results to — pick one (see Send Results to Notion, Todoist and More). | — |
deliverTarget | string | Where the connector writes — paste the URL or ID (Notion example: https://www.notion.so/My-Reviews-24f8a1b2c3d44e5f8a9b0c1d2e3f4a5b); some services need none. | — |
deliverMode | string | perPost (one record per review) or summary (one roll-up per run). | perPost |
deliverMaxItems | number | Optional cap on how many records perPost delivers (ignored in summary). | — |
Input Example
{"startUrls": ["https://www.yelp.com/biz/kokoroll-cafe-torrance-4"],"sortBy": "newest","maxItems": 100}
Send Results to Notion, Todoist and More
Skip the manual exports — the Yelp Reviews API can deliver its results directly into the tools you already work in, through Apify MCP Connectors:
- Authorize a connector (Notion, Todoist, or any service whose MCP server offers non-destructive write tools) once in Console → Settings → API & Integrations → MCP connectors.
- Pick it from the Send results to Notion, Todoist, … dropdown.
- Fill in where and how to write:
- Destination target — paste the URL or ID (Notion example:
https://www.notion.so/My-Reviews-24f8a1b2c3d44e5f8a9b0c1d2e3f4a5b); share it with your connector first via Notion's ••• → Connections menu. For structured columns use a page URL (the Actor builds the database for you) or a database that already has columns — an empty database only receives titles. (Some services need no target.) - Write mode —
perPostwrites one record per review;summarywrites a single roll-up for the run. - Max records to deliver (optional) — cap on how many records
perPostdelivers.
- Destination target — paste the URL or ID (Notion example:
Notion, structured like a spreadsheet: for a table of typed columns, point the target at a Notion page — the Actor auto-creates a database from the data, one matching, correctly-typed column per field (URL, number, date, text). Pointing at an existing database fills the columns it already has (matched by name); an empty database receives only the title, and the rest of each record goes to the row body — the connector can't add columns to an existing database without destructive access it never requests. Nested fields are flattened into columns too — objects like author and feedback become author.name, feedback.usefulCount, … — so everything is sortable and filterable in the grid. Fields that don't fit a column go to the row's page body, so nothing is lost.
Your credentials stay yours: the Actor talks to your services exclusively through your own authorized connector and only ever uses non-destructive write tools — it cannot delete or overwrite anything you already have. Delivery is best-effort and runs after the scrape: if a connector is misconfigured or a delivery fails, your run still finishes normally with all results intact — the failure is reported in the run log, never by failing the run. If the run is about to hit its timeout, delivery stops early so the run still succeeds, and the log tells you how many records were delivered.
During the Run
The actor outputs messages as it progresses through each business. If you provide incorrect input, the actor will stop immediately with an explanation of what went wrong.
Contact
Please visit us through epctex.com to see all available products. For custom integrations, reach out via the chat box on epctex.com. For support: business@epctex.com.