Yelp Business & Review Scraper
Pricing
from $5.00 / 1,000 results
Yelp Business & Review Scraper
Scrape Yelp business listings and reviews: name, category, address, phone, rating, review count and individual review text. Build local leads and monitor reputation. Structured JSON output.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Technical Dost Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What this Actor does
Extract business information and reviews from public Yelp business pages (or any public local-business page) as clean, structured JSON.
It processes user-provided public URLs, prioritizes JSON-LD/schema.org structured data (LocalBusiness, Restaurant, AggregateRating, Review), and can optionally use a conservative fallback that reads visible public business details and review blocks. It normalizes useful fields, emits both business-level and review-level rows, deduplicates them, and saves structured records to the Apify dataset.
Why this Actor is useful
Agencies, analysts, and local businesses pay for this kind of extraction because it replaces manual copy-paste from listing pages, creates repeatable monitoring of ratings and reviews, feeds spreadsheets, CRMs, and dashboards, and turns scattered public business pages into a clean, API-ready dataset.
Who this is for
- Local businesses tracking their own reputation
- Marketing and reputation-management agencies
- Market and competitive intelligence analysts
- Review and sentiment researchers
- Lead-generation and local-SEO teams
- Data teams building local-business datasets
Common use cases
- Collect business details (name, category, rating, phone, address, price range)
- Track review text, author, rating, and date over time
- Feed a reputation dashboard or CRM with fresh review data
- Benchmark ratings across competitor pages
- Build recurring local-business intelligence datasets
Input
| Field | Type | Description |
|---|---|---|
startUrls | array (required) | Public Yelp or local-business pages to extract from. Use only pages you may access without login or bypassing access controls. |
maxItems | integer | Maximum rows to save (business and review rows). Default 50, min 1, max 10000. |
maxConcurrency | integer | Pages processed in parallel. Default 3, min 1, max 20. |
extractionMode | string | structuredDataOnly or structuredDataWithFallback (default). The fallback safely reads visible public business info and review blocks. |
requestTimeoutSecs | integer | Maximum time per page. Default 30, min 5, max 180. |
proxyConfiguration | object | Optional Apify proxy configuration where permitted by your source review. |
Output
| Field | Description |
|---|---|
businessName | Name of the business. |
category | Business category or cuisine when available. |
ratingValue | Aggregate rating value for the business. |
reviewCount | Number of reviews reported for the business. |
priceRange | Price range indicator (e.g. $$) when published. |
phone | Public phone number when present. |
address | Business address as published. |
businessUrl | Public URL of the business page. |
reviewText | Text of an individual review (review rows only). |
reviewAuthor | Author of the review (review rows only). |
reviewRating | Rating given in the review (review rows only). |
reviewDate | Date the review was published (review rows only). |
sourceUrl | URL where the data was extracted. |
detectedAt | Timestamp when this Actor extracted the row. |
extractionMethod | structured_data for schema data, or fallback_public_business_page for visible public content. |
confidenceScore | Heuristic confidence based on structured data availability and completeness. |
missingFields | Required fields that were not available from the source page. |
Sample input
{"startUrls": [{"url": "https://www.yelp.com/biz/example-business"}],"maxItems": 25,"maxConcurrency": 3,"extractionMode": "structuredDataWithFallback","requestTimeoutSecs": 30}
Sample output
{"businessName": "Example Coffee House","category": "Coffee & Tea, Cafes","ratingValue": 4.5,"reviewCount": 812,"priceRange": "$$","phone": "+1-415-555-0100","address": "123 Market St, San Francisco, CA 94103, US","businessUrl": "https://www.yelp.com/biz/example-business","reviewText": null,"reviewAuthor": null,"reviewRating": null,"reviewDate": null,"sourceUrl": "https://www.yelp.com/biz/example-business","detectedAt": "2026-06-27T00:00:00.000Z","extractionMethod": "structured_data","confidenceScore": 0.95,"missingFields": []}
Pricing
This Actor uses a pay-per-event model: $0.005 per result saved to the dataset. You pay only for the structured business and review rows you receive, which makes recurring monitoring predictable and low-cost.
How to use
Run this Actor on Apify with public business page URLs, export the dataset as JSON, CSV, or Excel, or pull it through the Apify API. Connect the output to Google Sheets, Make, Zapier, a webhook, your CRM, or an internal dashboard. For monitoring, save the input as an Apify task and schedule recurring runs.
Best practices
- Start with a small set of reviewed public business URLs.
- Prefer pages that expose schema.org / JSON-LD structured data.
- Use
structuredDataOnlyfor highest precision; usestructuredDataWithFallbackfor pages that only show visible content. - Keep
maxConcurrencylow for respectful scraping. - Review each source website's rules before scheduling recurring runs.
Compliance and responsible use
This Actor is for public data only. It must not be used to bypass logins, paywalls, CAPTCHAs, or security systems, to collect private or sensitive personal data, or to support spam or abuse. Only publicly published business pages should be processed here. You are responsible for following applicable laws and each source website's rules.
Limitations
- Output quality depends on the public structured data available on the source pages.
- Fallback extraction is intentionally conservative and only looks for visible public business info and review patterns. It does not claim universal page support.
- Dates, ratings, and amounts are extracted as published; formats vary by source and are not reformatted or converted.
- Some fields may be empty when the source does not publish them; these appear in
missingFields. - The Actor does not claim support for any specific third-party platform.
- Website markup and access policies can change.
Troubleshooting
- Empty output usually means the page has no public structured data and no visible business or review patterns.
- Invalid URL errors mean one or more input URLs are malformed.
- Slow runs can usually be improved by lowering
maxConcurrency. - Missing fields are source-data limitations, not inferred values.
Changelog
- v0.1.0: Initial release with structured-data-first extraction, conservative public business-page fallback, business and review rows, and confidence scoring.