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 USERS18
MONTHLY ACTIVE8
TOTAL RUNS1,156
SUCCESS (30D)100.0%
RATING5.0 (4)
LAST MODIFIED2026-09-03
PUBLISHED2026-05
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"
}
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)