---
title: "Scrape Yelp business reviews"
method: POST
path: "/local/yelp-reviews"
tags: ["Plugins"]
---

# Scrape Yelp business reviews

`POST /local/yelp-reviews`

## Request

- Base URL: `https://api.scrapeunblocker.com`
- URL: `https://api.scrapeunblocker.com/local/yelp-reviews`
- Auth: API key in header `x-scrapeunblocker-key`

Given a Yelp `business` (page URL, alias or business id), returns the `business` summary (`businessId`, `alias`, `name`, `url`, `rating`, `reviewCount`, `ratingHistogram`, `reviewsCountByLanguage`, `categories`, `city`, `region`) and its `reviews`: `id`, `url`, `rating`, `text`, `language`, `publishedDate`, `date`, `user` (`name`, `location`, `reviewCount`, `friendCount`, `photoCount`, `isElite`, `eliteYear`), `photos`, `videos`, `reactions` (`helpful`, `thanks`, `loveThis`, `ohNo`), `ownerResponse`, `checkIns` and the author's `previousReviews`. Sort like yelp.com (`relevance`, `newest`, `oldest`, `highest`, `lowest`, `elites`), filter by `language`, star `rating`, a search `query` or `since` a date, and page with `page` / `start` up to `max_reviews` per call. To continue, call again with `start` = `nextStart` while `hasMore` is true: `nextStart` is the exact offset where this call stopped. `nextPage` is only set when that offset falls on a page boundary (a multiple of 10) and is null otherwise, because a page number would repeat reviews already returned. Counts: `business.reviewCount` is the review count Yelp shows for the business; `business.ratingHistogram` and `business.reviewsCountByLanguage` count the reviews in every language, and Yelp updates them separately from `reviewCount`, so their sums can differ from it by a few; `totalResults` is how many reviews match this call's `language`, `rating` and `query` (the total that `start` pages through). A business with no reviews returns an empty list; an unknown alias or URL is a 404. Billed one unit per 10 reviews returned (`pagesFetched`).

## Query parameters

- `business` string, nullable: The business: its Yelp page URL (https://www.yelp.com/biz/gary-danko-san-francisco), its alias (gary-danko-san-francisco) or its business id (WavvLdfdP6g8aZTtbBQHTw, the `businessId` of /local/yelp results). An id is answered fastest; a URL or alias costs one business-page fetch first.
- `max_reviews` integer: How many reviews to return (1-500).
- `page` integer: 1-based Yelp review page to start from (10 reviews per page, like yelp.com's own pages; 1-1000). To continue a previous response, pass its `nextStart` as `start`.
- `start` integer, nullable: 0-based review offset to start from instead of `page`. Pass `nextStart` from a previous response to continue exactly where it stopped.
- `sort` string: Review order, as yelp.com's "Sort by" menu: relevance, newest, oldest, highest, lowest, elites. `relevance` is Yelp's default order.
- `language` string, nullable: Reviews written in this language (two-letter code: en, fr, de, es, ...). Yelp lists one language at a time. Default: the language most of the business's reviews are in; `business.reviewsCountByLanguage` lists the others.
- `rating` string, nullable: Only reviews with these star ratings, comma-separated (e.g. `1,2`).
- `query` string, nullable: Only reviews that mention this phrase (yelp.com's review search).
- `since` string, nullable: Only reviews written on or after this date (YYYY-MM-DD). With `sort=newest` paging stops at the first older review.
- `proxy_country` string, nullable: Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE'). Leave blank: Yelp serves reviews the same to every country.

## Response `200`

JSON with `business`, a `reviews` array, totals and paging.

- unknown

## Other responses

- `400`: Invalid parameters / not a Yelp business.
- `404`: Yelp has no business with that id, URL or alias.
- `422`: Validation Error
- `502`: Blocked by Yelp, no review feed returned, or the call did not finish in time.

---

[API](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api.md) · [All operations](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/revisions/c02f1254cc47?raw)
