Yelp Business Details API
Scrape full Yelp business profiles by place ID - name, rating, reviews, price, categories, phone, address, website, hours, amenities, popular dishes, photos, and review highlights. Optional full menu extraction. Batch many businesses per run.
MEDIAN LAGon demand
PARAMETERS5
TOTAL USERS9
MONTHLY ACTIVE7
TOTAL RUNS134
RUNS SUCCEEDED100.0%
RATING5.0 (3)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| place_ids | string[] | yes | — | List the Yelp place IDs or aliases to look up. |
| full_menu | boolean | no | False | Set true to scrape the business full menu (sections, dishes, descriptions, prices) instead of the standard profile. |
| menu_name | string | no | — | Choose which menu to scrape when a business offers more than one (e.g. 'Dinner Menu'). |
| business_alert | boolean | no | False | Set true to include the business alert message when present (e.g. 'Yelpers report this location has closed.'). |
| yelp_domain | string | no | — | Choose which regional Yelp domain to query (e.g. 'yelp.com', 'yelp.co.uk', 'yelp.fr'). |
Worked examples
{
"place_ids": [
"maman-new-york-22"
]
}
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-Place-API/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"place_ids": ["maman-new-york-22"]}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/Yelp-Place-API").call(
run_input={'place_ids': ['maman-new-york-22']}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)