Yelp Search API
Scrape Yelp search results - ranked local business listings with rating, reviews, price, categories, phone, and neighborhood. Filter by category, sort by rating or review count, paginate, and get the place IDs to pull full details and reviews.
MEDIAN LAGon demand
PARAMETERS8
TOTAL USERS13
MONTHLY ACTIVE11
TOTAL RUNS771
RUNS SUCCEEDED100.0%
RATING5.0 (3)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| location | string | yes | — | Set the geographic location to search in (the Yelp 'find_loc' box). |
| search_term | string | no | — | Set the Yelp search query (the 'find_desc' box). |
| category_filter | string | no | — | Restrict results to a Yelp category alias (the 'cflt' value). |
| sort_by | enum | no | — | Order the results. 'recommended' is the Yelp default; 'rating' sorts by highest rated; 'review_count' sorts by most reviewed. |
| attrs | string | no | — | Refine results by price and feature attributes (the 'attrs' value). |
| radius_filter | string | no | — | Narrow results to a distance radius or a neighborhood (the 'l' value). |
| yelp_domain | string | no | — | Choose which regional Yelp domain to query (e.g. 'yelp.com', 'yelp.co.uk', 'yelp.fr', 'yelp.de'). |
| max_pages | integer | no | 1 | Set the maximum number of result pages to fetch (1-indexed). — drives your bill |
Worked examples
{
"location": "New York, NY"
}
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~yelp-search-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"location": "New York, NY"}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/yelp-search-api").call(
run_input={'location': 'New York, NY'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)