Yelp Advanced Data Scraper
Pricing
from $1.50 / 1,000 results
Yelp Advanced Data Scraper
Effortlessly scrape detailed business data from Yelp — ratings, reviews, contact info, hours, amenities, popular dishes, health scores, Q&A, and more. Works for restaurants, services, and any Yelp category. Perfect for lead generation, market analysis, apps, and research.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(29)
Developer
Zebu Data
Maintained by CommunityActor stats
77
Bookmarked
408
Total users
4
Monthly active users
5 hours ago
Last modified
Categories
Share
Yelp Advanced Data Scraper collects complete business data from Yelp at scale. Tell it what to look for and where, or give it Yelp search URLs you have already filtered, and it returns a structured record for every business it finds: ratings, reviews, contact details, opening hours, amenities, photos, menus, health scores, community Q&A and more.
What does Yelp Advanced Data Scraper do?
Yelp Advanced Data Scraper works like an unofficial Yelp API for search results. It searches Yelp the way a visitor would, visits each business page in the results, and returns 40+ data fields per business, together with the search keyword, location and position the business was found at.
There are two ways to search:
- Keyword + location. For example "pizza" in "New York, NY" or "plumbers" in "Houston, TX". You can use the same Sort and Price options as on Yelp, and choose one of 42 Yelp sites and languages (yelp.com, yelp.co.uk, yelp.de, yelp.co.jp and more).
- Yelp search URLs. Apply any filters on Yelp (open now, outdoor seating, good for kids, neighborhoods, distance...), copy the URL from your browser, and paste it in.
Why use this Yelp search scraper?
- 🧾 Full profiles, not just search snippets. Every result comes with the business's rating, exact review count, phone, website, address, coordinates, hours, amenities, photos, owner, specialties, popular dishes, menu, health inspections, verified licenses and service areas.
- 🎯 Know where each result came from. Every record carries the search keyword, location, search URL and its rank in the results. Sponsored results are flagged, so you can keep them or leave them out.
- 🔢 Get the number you ask for. Set how many businesses you want per search. If a business can't be loaded, the next result takes its place, so you get the full count whenever Yelp has enough results.
- 🧹 No duplicates. Yelp repeats sponsored businesses across pages and a business can match several searches. Each business is scraped once per run, so you never pay twice for the same record.
- 🌍 42 Yelp sites. Search yelp.com or any local Yelp site. Key fields such as phone, website, claimed status and rating come out in the same format whatever the page language.
- ⚡ Fast at scale. Hundreds of businesses take just minutes. Incomplete pages are retried automatically.
- 🤖 Ready for your tools and AI agents. Export JSON, CSV, Excel or HTML, or use the Apify API. You can also connect Google Sheets, Zapier, Make or n8n, or let AI assistants and agents run it through the Apify MCP server.
Popular use cases
- Lead generation. Build targeted lists of restaurants, salons, contractors, clinics or any other local businesses, with phone numbers and websites.
- Local market research. Compare ratings, price levels, amenities and review counts across neighborhoods and cities.
- Local SEO and competitor tracking. See who ranks where for a search, and how that changes over time.
- Directories and apps. Populate maps, city guides and recommendation apps with rich business data.
- Data enrichment and AI. Feed structured business profiles into CRMs, scoring models, RAG pipelines or AI agents.
What data can you extract from Yelp?
| Field | Type | Description |
|---|---|---|
name | string | Business name |
rating | string | Average star rating |
review_count | string | Exact number of reviews, e.g. 5719 reviews |
is_claimed | string | Claimed or Unclaimed |
is_closed | boolean | true if the business is permanently or temporarily closed |
is_temporarily_closed | boolean | true if Yelp marks the business as "Temporarily closed" |
price_level | string | Price level, e.g. $$ |
categories | string | Business categories, comma-separated |
phone_number | string | The business's own phone number |
website | string | The business's own website |
full_address | string | Full street address |
city / state / zipcode | string | Address components, for US and international addresses |
country | string | Country code, e.g. US, GB, DE, JP |
neighborhoods | array | Neighborhoods shown under the address |
coordinates | object | latitude and longitude of the storefront (empty for service-area businesses without one) |
images | array | Business photo URLs |
photo_count | number | Total number of photos on the business page |
hours | object | Regular opening hours by day of the week |
owner_name | string | Business owner or manager name |
about | string | "About the business" description |
reviewhighlights | array | Popular keywords and phrases from reviews |
amenities | object | Amenities and more (e.g. Offers delivery, Wheelchair accessible), each true or false |
specialties | string | The business's specialties |
year_established | string | Year the business was established |
popular_items | array | Popular dishes or items listed on the page |
menu_url | string | Link to the menu: the business's own menu, or its Yelp menu or services page |
questions_answers | array | Community questions with their top answer |
videos | array | Business videos (caption, playable video_url, thumbnail) |
health_inspections | array | Health inspection score, date and violations |
verified_licenses | array | Verified licenses (trade, license_number, issuing_authority) |
service_areas | array | Areas the business serves |
is_ad | boolean | true if the business appeared as a sponsored result |
rank | number | Position among the organic results of the search (1, 2, 3...); null for sponsored results |
search_keyword / search_location | string | The keyword and location that found the business (empty for URL searches) |
search_url | string | The Yelp search results page the business came from |
yelp_biz_id | string | Yelp's internal business ID |
url | string | The business page URL |
timestamp | string | When the record was scraped (UTC) |
How to scrape Yelp search results
- Open the Actor on Apify Store and click Try for free.
- Tell it what to search. Use Option 1 to enter keywords and locations, or Option 2 to paste Yelp search URLs with your own filters. The form comes prefilled with "pizza" in "New York, NY".
- Choose how many. Set Max results per search (50 by default).
- Click Start. Results appear in the Output tab as soon as each business is scraped.
- Export or connect. Download JSON, CSV, Excel or HTML, or send the data to your apps through the API and integrations.
How much does it cost to scrape Yelp?
This Actor uses pay-per-result pricing, and Apify platform usage is included. Each business record counts as one result. Every business is scraped only once per run, so duplicates and repeated sponsored listings don't add to your bill, and businesses that couldn't be loaded aren't charged.
You can set a maximum cost for a run, and the Actor stops as soon as it's reached. The current price is on the Pricing tab, and you can try the Actor on the free Apify plan.
Input
| Field | Key | Type | Description |
|---|---|---|---|
| Option 1: search by keyword and location | |||
| Search keywords | keywords | array of strings | What to search for, e.g. pizza, plumbers |
| Locations | locations | array of strings | Where to search, e.g. New York, NY. Each keyword is searched in every location |
| Yelp site / language | languages | string | Which Yelp site to search (42 options, default English (United States)) |
| Sort by | sort | string | Recommended, Highest Rated or Most Reviewed, same as on Yelp |
| Price | price | array | $, $$, $$$ and/or $$$$, same as Yelp's price filter |
| Option 2: search by URL | |||
| Yelp search URLs | urls | array of strings | Yelp search result URLs with your own filters. Site, sort and filters come from each URL |
| Scraping options (both options) | |||
| Max results per search | maxResults | integer | Businesses to save per keyword + location or per URL (default 50) |
| Include sponsored results | include_ads | boolean | Also scrape businesses Yelp marks as "Sponsored" (default true) |
Keyword search:
{"keywords": ["pizza", "sushi"],"locations": ["New York, NY", "Chicago, IL"],"sort": "Highest Rated","price": ["$$"],"maxResults": 20}
Search URLs with your own filters:
{"urls": ["https://www.yelp.com/search?find_desc=pizza&find_loc=New+York&attrs=OutdoorSeating%2CGoodForKids"],"maxResults": 100}
Output
Each business becomes one dataset record. Here is an example from a real run, with long texts and lists shortened:
{"is_ad": false,"name": "Prince Street Pizza","rating": "4.3","review_count": "5719 reviews","is_claimed": "Claimed","price_level": "$","categories": "Pizza","coordinates": {"latitude": 40.723078,"longitude": -73.994544},"full_address": "27 Prince St New York, NY 10012","city": "New York","state": "NY","zipcode": "10012","phone_number": "(212) 966-4100","images": ["https://s3-media0.fl.yelpcdn.com/bphoto/Jo9jBP5y6G_bG_g3H31fiw/l.jpg","https://s3-media0.fl.yelpcdn.com/bphoto/hsgJVB7D_Cbk8K30djXpng/l.jpg"],"website": "https://locations.princestreetpizza.com/new-york","hours": {"Mon": "10:00 AM - 3:00 AM (Next day)","Tue": "10:00 AM - 3:00 AM (Next day)","Wed": "10:00 AM - 12:00 AM (Next day)","Thu": "10:00 AM - 5:00 AM (Next day)","Fri": "10:00 AM - 5:00 AM (Next day)","Sat": "10:00 AM - 5:00 AM (Next day)","Sun": "10:00 AM - 3:00 AM (Next day)"},"owner_name": "Psp Operations O.","about": "Prince St. Pizza opened its doors in 2012 in New York City. Our recipes have been in the Morano Family for ...","reviewhighlights": ["spicy spring", "crispy", "thicker"],"amenities": {"Offers delivery": true,"Offers take-out": true,"Takes reservations": false,"Limited vegetarian options": true,"Wheelchair accessible": true,"ADA-compliant main entrance": true},"specialties": "Prince St. Pizza opened its doors in 2012 in New York City. Our recipes have been in the Morano Family for generations and stem from a simple idea “if you can put it on pasta you can put it on pizza.” Since then, Prince St. Pizza has made a name for itself as a premium pizzeria across New York, Miami, California and Toronto, Canada serving legendary Sicilian “SoHo” Squares and original Neapolitan pizzas with a New York City slice shop experience.\n\nOur pizzas are available by the slice and as whole pies and are prepared using the freshest ingredients and handcrafted sauces made daily from scratch. To get the same dough texture in markets outside of New York, we even use a water filtration process that replicates the water used in New York.\n\nOur mission is to deliver happiness with every slice of pizza served and every interaction had. We are committed to consistency and the perfect bite in every pie. Respect and dignity are at the core of our team, and we bring those values each and every day.","year_established": "2012","popular_items": ["Pepperoni Pizza", "Square Slice", "Prince St", "Spicy Vodka Pizza", "Sicilian Slices"],"menu_url": "https://princestreetpizza.com/menu/","questions_answers": [{"question": "Anyone know the price for one square slice?","answer": "Regular square is $5 and spicy spring is $6"}],"videos": [{"caption": "","video_url": "https://stream.mux.com/yGPEHCTT1p4JaM6JF1lsxXP7B00F3MavTg2OvSFWIRps.m3u8","thumbnail": "https://image.mux.com/yGPEHCTT1p4JaM6JF1lsxXP7B00F3MavTg2OvSFWIRps/thumbnail.jpg?height=720&time=0"}],"health_inspections": [{"score": "0.0","date": "2026-09-17T07:00:00.000Z","violations": []}],"verified_licenses": [],"service_areas": [],"timestamp": "2026-09-24 17:05:51","url": "https://www.yelp.com/biz/prince-street-pizza-new-york-2","search_keyword": "pizza","search_location": "New York, NY","search_url": "https://www.yelp.com/search?find_desc=pizza&find_loc=New+York%2C+NY&sortby=recommended","rank": 4,"yelp_biz_id": "zj8Lq1T8KIC5zwFief15jg","country": "US","neighborhoods": ["Nolita"],"is_closed": false,"is_temporarily_closed": false,"photo_count": 6265}
A few things to know about the output:
- Fields depend on the business type. Restaurants usually have
popular_items,menu_urlandhealth_inspections. Home and local services usually haveverified_licensesandservice_areas. Fields that don't apply stay empty. - Sponsored results have
is_ad: trueandrank: null. They come after the organic results and fill the places left under Max results per search. - Hours with a break. When a business has several time ranges in one day,
hoursseparates them with,, e.g."11:30 AM - 3:00 PM, 5:00 PM - 10:00 PM". - Local Yelp sites. Text such as categories, hours and descriptions comes in the site's language, while
is_claimed,ratingandreview_countalways use the same format.
Tips
- Start small. Try 1-2 keywords and locations with
maxResultsset to 10-20, then scale up. - Use search URLs for advanced filters. Anything you can filter on Yelp (open now, reservations, outdoor seating, neighborhoods, distance...) works when you paste the search URL.
- Yelp's 240-result limit. Yelp shows at most 240 organic results (24 pages) per search, so a higher Max results per search won't return more. To cover a big city, search several neighborhoods or nearby towns as separate locations.
- Each business appears once. If a business matches several of your searches, it's saved once, with the first search that found it.
- Order of results. Records are saved as soon as each business is scraped. To get Yelp's order back, sort by
search_keyword,search_locationandrank. - Only want your URLs? Option 1 and Option 2 both run when both are filled in. Clear Search keywords if you only want the pasted URLs.
- Matching records across runs.
urlis the clean business URL (without Yelp's search parameters such as?osq=), andphone_numberis the business's own number. Useyelp_biz_idto match the same business across runs. - Skipped businesses. If a business page keeps failing to load after several retries, it's skipped, not charged, and the next result takes its place. In the rare case that Yelp refuses access for a long time, the run stops early instead of producing a long list of failures.
- Scheduling and integrations. Run the Actor on a schedule to track rankings over time, or connect it to your stack with the Apify API, webhooks and integrations.
Related Actors
- Yelp Business Info Scraper: already have a list of Yelp business URLs? Get the full details for each one.
- Yelp Reviews Scraper: extract reviews from any Yelp business, including ratings, reviewer profiles, text and media.
- Yelp Advanced Business Scraper: Pay Per Result: the same Yelp search scraper, listed separately.
FAQ and support
Is it legal to scrape Yelp?
This Actor collects only publicly available business information from Yelp. Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Do I need a Yelp account or API key?
No. Just enter what to search for, or paste Yelp search URLs.
Can I use it with AI agents?
Yes. AI assistants and agents that support MCP can call this Actor through the Apify MCP server, and developers can run it from code with the Apify API or client libraries.
Why are some fields empty?
Yelp shows different sections for different business types, and not every owner fills in every section. Fields that don't apply to a business are returned empty.
Something not working?
Open an issue from the Actor's Issues tab and I'll take a look.