Scrape Yelp business data into clean JSON
Point one API call at a Yelp business page and get the name, rating, review count, address, phone, and price level back as schema-validated JSON.
One call
Send the URL and a plain-language description of the fields. That's the whole integration.
curl https://api.webscrape.ai/v1/smartscraper \
-H "X-API-Key: wsg_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.yelp.com/biz/example-business-san-francisco",
"prompt": "Extract the business name, star rating, number of reviews, address, phone number, and price level."
}'You get back JSON shaped to match — nothing to parse:
{
"status": "completed",
"data": {
"name": "string",
"rating": "number",
"review_count": "number",
"address": "string",
"phone": "string",
"price_level": "string"
}
}Example response shape; data matches the fields you asked for. Failed fetches return a non-completed status and cost nothing.
Fields you'll usually want from Yelp
| Field | Type | What it is |
|---|---|---|
name | string | Business name |
rating | number | Star rating |
review_count | number | Number of reviews |
address | string | Street address |
phone | string | Phone number |
price_level | string | Price level ($–$$$$) |
Yelp restricts scraping and offers a partner API; review their terms before scraping at volume.
How it works
- Tiered fetching. A fast request carrying a real browser's fingerprint handles most pages; the engine steps up to a headless browser, then our hardened stealth browser, only when a page forces it.
- AI extraction. The cleaned page is extracted into data matching your fields, validated against the schema with one repair pass on a miss.
- One wallet, success-only. Proxies, browser time, and extraction all come out of one credit balance, and a failed fetch costs nothing.
- Blueprints for repeat runs. Once an extraction works, pin it: subsequent runs replay reverse-engineered selectors with no AI step in the loop.
When it breaks
- A page returns a 200 with an empty shell: that can look like success to the fast tier, so force the browser tier for that request if it recurs.
- A field comes back wrong after a redesign: re-run live extraction, or re-pin the Blueprint. Drift surfaces as
validation_warnings, not a silentnull.
FAQ
Is there a Yelp scraping API?
Point webscrape.ai's /v1/smartscraper endpoint at a Yelp URL and describe the fields you want. You get schema-validated JSON back, with no separate proxy or browser to set up.
Do I need proxies to scrape Yelp?
No. The tiered fetch stack handles the proxy and browser tiers for you, and they come out of one credit balance. You only pay the stealth surcharge if a page actually needs the browser tier.
What happens when Yelp changes its layout?
Live extraction is anchored to the fields you describe, so it survives most redesigns. For repeat runs you can pin a Blueprint; if the page drifts, the run returns validation_warnings instead of silently dropping fields.
Grab a key and point it at a Yelp page. New accounts get free credits — no card.