COMPANYDEVELOPER TOOLS API MCP READY

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.

MEDIAN LAGon demand
PARAMETERS7
TOTAL USERS12
MONTHLY ACTIVE10
TOTAL RUNS339
RUNS SUCCEEDED100.0%
RATING4.06 (4)

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
place_id string yes Set the Yelp place ID to fetch reviews for.
sort_by enum no Order the reviews.
rating string no Restrict to specific star ratings, 1 to 5.
q string no Keep only reviews mentioning this keyword or phrase (e.g. 'cheesecake', 'service').
hl string no Set the two-letter language code for the reviews interface (e.g. 'en', 'es', 'fr').
not_recommended boolean no False Set true to return Yelp's not-recommended (filtered) reviews instead of the recommended ones.
max_pages integer no 1 Set the maximum number of review pages to fetch (about 49 reviews per page). — drives your bill

Worked examples

Basic — the required input, with the schema's own example values
{
  "place_id": "ED7A7vDdg8yLNKJTSVHHmg"
}

Coverage

6
sort by — relevance_desc date_desc date_asc rating_desc rating_asc +1

Tasks

Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.

Request a task →

Code

curl

curl -X POST "https://api.apify.com/v2/acts/johnvc~Yelp-Reviews-API/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"place_id": "ED7A7vDdg8yLNKJTSVHHmg"}'

Python

from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/Yelp-Reviews-API").call(
    run_input={'place_id': 'ED7A7vDdg8yLNKJTSVHHmg'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)