Yelp Reviews API and MCP avatar

Yelp Reviews API and MCP

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Yelp Reviews API and MCP

Yelp Reviews API and MCP

Scrape Yelp reviews by place ID - rating, full review text, date, reviewer name and stats, photos, owner replies, and helpful votes. Sort by date or rating, filter by stars, search within reviews, and paginate.

Pricing

from $0.01 / 1,000 results

Rating

4.1

(4)

Developer

John

John

Maintained by Community

Actor stats

6

Bookmarked

13

Total users

9

Monthly active users

21 hours ago

Last modified

Share

Yelp Reviews API | Extract Ratings, Review Text & Reviewer Data (MCP-ready)

Scrape Yelp reviews by place ID and get clean JSON back. Star rating, full review text, date, reviewer name, location and stats, photos, owner replies, and helpful votes. Sort by date or rating, filter by stars, search within reviews, and paginate. MCP-ready for Claude, ChatGPT, Cursor, and other AI agents.

The Yelp Reviews API turns any business's Yelp page into structured review data: give it a place ID and get back a clean JSON feed of ratings, review text, reviewer profiles, owner replies, and vote counts, with no browser automation and no captchas to solve.

Give the Actor a Yelp place ID and it returns that business's reviews as structured JSON: the star rating, full review text, the date, the reviewer's name, location and activity stats, attached photos, the business owner's replies, and useful/funny/cool vote counts. Sort newest-first or by rating, keep only certain star ratings, search reviews for a keyword, or pull Yelp's not-recommended (filtered) reviews. Pages return up to 49 reviews each.

This is the reviews stage of a 3-actor Yelp suite. Get place IDs from the Yelp Search API, fetch full profiles with the Yelp Business Details API, and pull reviews here. Predictable per-page pricing, structured JSON, no browsers or captchas.


What this Actor returns

Each page is one dataset item containing a reviews array. Each review includes:

  • Rating & text - star rating, the full review comment, and its detected language.
  • Date - when the review was posted.
  • Reviewer - name, location, and activity stats (friends, photos, review count).
  • Photos - any images attached to the review.
  • Owner replies - the business's responses to the review.
  • Feedback - useful / funny / cool vote counts, plus tags.

Use with Claude, ChatGPT, Cursor & other AI agents (MCP)

This Actor is a first-class tool on the Apify MCP Server. Any MCP-compatible AI agent - Claude (Desktop, Web, Code), ChatGPT, Cursor, VS Code, Cline, Windsurf, Kilo Code, Opencode, Glama - can discover and call it in natural language.

What an AI agent does with this:

User: "Summarize the 1-star reviews for this restaurant on Yelp."

Agent resolves the business to a place ID via the Yelp Search API, calls this Actor with {"place_id": "ED7A7vDdg8yLNKJTSVHHmg", "rating": "1", "sort_by": "date_desc", "max_pages": 2}, and summarizes the complaints.

New to Claude? Claude Code and the Claude desktop app (which runs Cowork) both come with a free trial: https://claude.ai/referral/uIlpa7nPLg

Quick setup - Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"
}
}
}
}

Restart Claude Desktop, then ask something like "What do recent Yelp reviewers say about the service here?"

Quick setup - Cursor / VS Code / Cline / Windsurf

These editors support dynamic tool discovery, so after the first call this Actor is registered as a named tool for the rest of the session. Point your MCP client at:

https://mcp.apify.com

…with header Authorization: Bearer YOUR_APIFY_API_TOKEN. Full setup: Apify MCP integration docs.

Quick setup - ChatGPT (and other static MCP clients)

ChatGPT, Gemini CLI, and Amazon Q connect through the same https://mcp.apify.com endpoint and call this Actor via the generic call-actor tool.


Use cases

  • Reputation monitoring - track new reviews and ratings for your business or competitors.
  • Sentiment analysis - feed review text into an LLM to surface themes and complaints.
  • Service quality tracking - filter to 1-2 star reviews to find recurring issues.
  • Owner-response audits - see which reviews got a reply and how fast.

🔌 Integrations: Automate Yelp Review Monitoring with the Yelp Reviews API

A single run answers one question ("what are people saying about this restaurant right now?"). The real value comes from running the Yelp Reviews API on a schedule so fresh reviews land in your stack the moment they post. See the full list of Apify platform integrations.

Tasks and Schedules (the core recipe). Save one task per business you watch (a place_id plus your sort and filter settings), then attach a schedule from the Actor's Actions, then Schedule menu. Each run appends the latest reviews so a history builds up over time. Useful cron strings: 0 7 * * * (daily at 7 AM), 0 */6 * * * (every six hours), 0 9 * * 1 (Mondays). One schedule can trigger many tasks at once, so a whole portfolio of locations refreshes on the same cadence. This is the backbone of reputation monitoring: see the Check a restaurant's Yelp reviews by API task for a ready-to-run starting point.

n8n. This API ships an n8n community node (see the n8n integration section below). A four-step monitor: Schedule Trigger, then the Yelp node set to Get Reviews, then a Filter on rating for 1 and 2 star reviews, then Slack or email.

Make and Zapier. The same pattern works no-code with Make and Zapier: trigger on a schedule, run the Actor, route the new reviews wherever your team already works.

Store the history (Supabase). Send each run's reviews into a table so a review history accumulates per business. No-code: the n8n Actor node, then a Supabase node. Or in Python, flatten each page's reviews array and bulk-insert the rows:

from apify_client import ApifyClient
from supabase import create_client
apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")
run = apify.actor("johnvc/Yelp-Reviews-API").call(run_input={
"place_id": "ED7A7vDdg8yLNKJTSVHHmg",
"sort_by": "date_desc",
"max_pages": 3,
})
rows = []
for page in apify.dataset(run["defaultDatasetId"]).iterate_items():
for r in page.get("reviews", []):
rows.append({
"place_id": page["search_parameters"]["place_id"],
"rating": r["rating"],
"date": r["date"],
"reviewer": r["user"]["name"],
"text": r["comment"]["text"],
"useful": r["feedback"]["useful"],
"has_owner_reply": len(r["owner_replies"]) > 0,
})
supabase.table("yelp_reviews").upsert(rows).execute()

MCP and AI agents. Add the Yelp Reviews API as a tool in Claude or Cursor through the Apify MCP server so an agent can pull and summarize live reviews (see the Use with Claude, ChatGPT, Cursor section above for setup).

Webhooks. For anything custom, fire an Apify webhook on ACTOR.RUN.SUCCEEDED to push each run's dataset into your own service.


Input parameters

ParameterTypeRequiredDefaultDescription
place_idstringYes-Yelp encoded place ID (e.g. ED7A7vDdg8yLNKJTSVHHmg) - the first entry of the place_ids array from the Yelp Search API.
sort_bystring (enum)Norelevancerelevance_desc, date_desc, date_asc, rating_desc, rating_asc, elites_desc.
ratingstringNo-Filter by stars: 5 or a list like 4,5.
qstringNo-Keep only reviews mentioning this keyword.
hlstringNoenTwo-letter language code.
not_recommendedbooleanNofalseReturn Yelp's not-recommended (filtered) reviews instead.
max_pagesintegerNo1Pages to fetch (~49 reviews each). 0 = unlimited (cap 20).

Example output (one item per page)

{
"page_number": 1,
"result_timestamp": "2026-05-26T10:30:00.123456",
"search_parameters": { "place_id": "ED7A7vDdg8yLNKJTSVHHmg", "sortby": "date_desc", "max_pages": 1 },
"search_metadata": { "pages_processed": 1, "max_pages_set": 1, "pagination_limit_reached": false, "total_reviews_estimate": 847 },
"reviews": [
{
"position": 1,
"rating": 5,
"date": "2026-05-20",
"user": { "name": "Jane D.", "location": "New York, NY", "stats": { "friends": 120, "photos": 45, "reviews": 88 } },
"comment": { "text": "The almond croissant was incredible...", "language": "en" },
"photos": [],
"feedback": { "useful": 3, "funny": 0, "cool": 1 },
"owner_replies": [],
"tags": []
}
]
}

Pricing

This Actor uses transparent pay-per-event pricing:

EventPriceWhen
Setup$0.02Once per run
Page processed$0.02Per page of reviews fetched (~49 reviews)

Fetching 1 page (~49 reviews) costs about $0.04; 5 pages (~245 reviews) costs about $0.12.


How to get started

  1. Open the Actor on the Apify Store.
  2. Enter a place_id, set sort/filter options and max_pages, and click Start.
  3. Read results from the dataset (JSON, CSV, Excel) or via the Apify API.

Code example (Python + MCP)

Want a runnable quick-start? The public example repo has a Python (uv) script plus MCP install guides for Claude (Desktop, Code, Web) and Cursor:

github.com/johnisanerd/Apify-Yelp-API

It shows how the Yelp Search, Business Details, and Reviews APIs chain together - a search returns the place_ids that feed the other two.

Building a review and reputation pipeline for local businesses? These tools from the same catalog pair well with the Yelp Reviews API:

  • Yelp Search API: find businesses by keyword and location and get the place_ids that feed this reviews Actor. This is the upstream step.
  • Yelp Business Details API: pull the full business profile (categories, hours, phone, rating summary) for the same place ID.
  • OpenTable Reviews API: restaurant review intelligence from another platform, so you can watch reputation across sources, not just Yelp.
  • Google Maps Places Scraper: discover local businesses in bulk and cross-reference them with their Yelp listings.

Older alternatives such as tri_angle/yelp-review-scraper exist, but that one carries a low average rating (about 2.2 out of 5) and a single-line description with sparse field documentation. This API is actively maintained and returns clean, structured JSON with reviewer stats, owner replies, feedback vote counts, and every field documented.


FAQ / Troubleshooting

Where does the place ID come from?

From the Yelp Search API: every listing includes a place_ids array. Use the encoded ID (the first entry, e.g. ED7A7vDdg8yLNKJTSVHHmg), not the human-readable alias, for the reviews endpoint.

How many reviews per page?

Up to 49. Increase max_pages to fetch more.

Can I get only 5-star (or 1-star) reviews?

Yes: set rating to 5 or 1, or a list like 4,5.

Yelp hides some reviews behind a "not recommended" filter. Set not_recommended: true to fetch those instead.

Is this reliable?

Yes: it calls a structured data API, not a headless browser, so there are no captchas or layout breakages.

Can I schedule this Yelp reviews scraper?

Yes, and scheduling is where the tool earns its keep. Create a saved task with your place_id and filters, then attach a schedule from the Actor's Actions, then Schedule menu. Use cron strings like 0 7 * * * for a daily 7 AM pull, 0 */6 * * * for every six hours, or 0 9 * * 1 for a Monday check-in, and one schedule can trigger many tasks so a whole list of businesses refreshes together. See the Integrations section above for the full monitoring recipe.

Should I use an API or a web scraper for Yelp reviews?

Both, and this Actor is both. An official API is usually rate limited, quota bound, and often missing fields like reviewer stats or owner replies, while writing your own web scraper means fighting captchas and layout changes. This Yelp reviews scraper gives you the same reviews you would read on Yelp as clean JSON you call yourself, with predictable per-page pricing and no quotas.

Can I integrate this Yelp Reviews API with other apps?

Yes. It connects to almost any cloud service through Apify integrations: Make, Zapier, Slack, the n8n community node, and webhooks on ACTOR.RUN.SUCCEEDED for custom actions. See the Integrations section above for full recipes.

Can I use the Yelp Reviews API with the Apify API?

Yes. The Apify API runs the Actor, schedules it, and fetches datasets, and the apify-client package exists for both Node.js and Python. See the Actor's API tab for ready-made snippets.

Can I use the Yelp Reviews API through an MCP server?

Yes. Add it as a tool in any MCP client (Claude, Cursor, and others) through the hosted Apify MCP server with the Actor-specific URL https://mcp.apify.com/?tools=actors,docs,johnvc/Yelp-Reviews-API. In Claude Code (free trial) or Claude Cowork (free trial) your agent can then answer questions like "summarize the 1-star reviews for this restaurant" with live data. See the Apify MCP docs.

How can I track reviews on other platforms?

Pair this with related tools in the same catalog: the Yelp Search API to find the businesses first, the Yelp Business Details API for the full profile, the OpenTable Reviews API for restaurant reviews on another site, and the Google Maps Places Scraper to match a business to its map listing.

How do I monitor competitors' online reputation on Yelp?

Save one task per competitor location with sort_by set to date_desc, put them all on a shared schedule, and route new low-star reviews to Slack or email. Because each run appends to the same dataset, you build a reputation timeline you can chart or diff week over week. The Integrations section above shows the Tasks-and-Schedules and Supabase storage patterns.

What is sentiment analysis, and can I run it on Yelp reviews?

Sentiment analysis scores text as positive, negative, or neutral. This Actor returns the full comment.text of every review, so you can feed those strings into an LLM or a sentiment model to surface recurring themes and complaints across a business or a whole competitor set.

Learn more about the Apify MCP integration.

n8n integration

Available as an n8n community node, n8n-nodes-yelp-api (Search Businesses, Get Business Details, and Get Reviews). In n8n: Settings, Community Nodes, install n8n-nodes-yelp-api, then use it in any workflow (it also works as an AI Agent tool).


Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.

Last Updated: 2026.07.12