How to scrape Yelp to Excel (free, no code)
Yelp is one of the richest free sources of local-business data. Here's the free, no-code way to turn any Yelp search into a spreadsheet of names, ratings, reviews, prices, categories, phones and addresses, every page of it.

Yelp is one of the richest free sources of local-business data on the web: star ratings, review counts, price level, category, neighborhood, and (once you open a profile) full address and phone, for millions of businesses. If you’re doing local SEO prospecting, building a sales territory list, researching competitors, or studying review patterns by category, that’s exactly the raw material you need, except it’s trapped in an endless scroll of cards, roughly ten results at a time.
This guide shows you how to scrape Yelp business data into a clean spreadsheet, free and without writing any code, using the free Grabby web scraper Chrome extension. It’s built for agencies, local SEO practitioners, sales and business-development teams, and researchers, anyone who wants Yelp’s local-business data as rows and columns instead of an infinite scroll.
Is it legal to scrape Yelp?
Be aware going in: Yelp’s terms of service explicitly prohibit using “any robot, spider, service search/retrieval application, or other automated device, process or means to access, retrieve, copy, scrape, or index” the site or its content, except where Yelp’s own robots.txt expressly allows it. Yelp also actively defends against automated traffic on the technical side, not just contractually. None of that makes casual, small-scale browsing illegal. It’s a terms-of-service matter, meaning the consequence is Yelp blocking your access or account rather than a criminal one. But it does mean you should treat Yelp as one of the stricter sites to collect from.
Grabby has no servers of its own hitting Yelp. Everything runs in your browser tab, under your own session: it reads the search results you have open, and when you ask it to, it opens the next page or each business’s profile in turn, one at a time, with a pause between loads. That’s a far gentler footprint than a bot hammering the site, but it is still automated page loading and it doesn’t override Yelp’s terms, so keep your pulls modest, spread larger jobs out, and don’t try to harvest the whole platform. If you need guaranteed compliance for a production use case, Yelp’s own Fusion API is the sanctioned, paid alternative. See the comparison below.
Once you have contact details, how you use them is separately regulated: GDPR generally permits B2B outreach on a “legitimate interest” basis if you can show where the data came from and honor opt-outs quickly, and CAN-SPAM in the US requires accurate sender information and a working unsubscribe link, honored within 10 business days. (This is a how-to, not legal advice.)
What you’ll need
- Google Chrome, Microsoft Edge, or Brave.
- The free Grabby extension — no account, runs locally.
- A Yelp search results page for your niche and city.
Four ways to get Yelp data into a spreadsheet
Before diving in, here’s how the realistic options actually compare:
| Approach | Cost | Setup & effort | Best for |
|---|---|---|---|
| No-code browser tool (Grabby) | Free | Minutes: select, run, export | Quick prospecting lists, occasional pulls, non-developers |
| Custom script (Python + a headless browser) | Free tool, your time, plus proxies if you scale up | Hours to build, and Yelp’s anti-bot defenses mean frequent breakage and upkeep | Developers building a resilient, ongoing pipeline |
| Yelp Fusion API (official) | Paid only: a 30-day trial (5,000 calls), then monthly plans (from $229 a month at the time of writing, October 2026), priced per call | API key and code to call and parse JSON | Apps, production integrations, large recurring pulls |
| Paid Yelp lead-gen / scraping services | Subscription or per-record credits | Little setup, ongoing cost, vendor dependence | Teams that want an already-enriched list hands-off and have budget for it |
Grabby is the fastest, free path to a spreadsheet without a line of code. The rest of this guide walks through it step by step.
Best tools for scraping Yelp business data, compared
There is no single best tool, because the options differ in what they return, what they cost and how much setup they need. This is how the main ones compare at the time of writing (October 2026). Prices and limits change, so check each vendor’s own page before you commit.
| Tool | What you get | Cost model | Limits | Effort |
|---|---|---|---|---|
| Yelp Fusion / Places API | Official structured business data: search, details, categories, and review excerpts or photos on higher plans. | Monthly plans from $229, priced per call, after a 30-day trial with 5,000 calls (Yelp’s pricing page). | Review excerpts are capped (up to 3 or 7 per business depending on plan, truncated). Commercial use in a consumer product needs a separate application. | API key and code to call and parse JSON. |
| Octoparse | A point-and-click scraper app you configure for a site, with export to Excel or CSV. | A free plan exists (10 tasks, 50,000 exported rows a month) and paid plans start at $69 a month, which add cloud runs (Octoparse pricing). | Plan task, row and concurrency limits. Yelp’s bot defenses can still block runs. | Desktop install, an account, and some learning of its workflow builder. |
| Apify | A marketplace of ready-made Yelp “Actors” (mostly from third parties) that return JSON, CSV or Excel, run on Apify’s cloud. | A free plan with a small monthly usage credit ($5), paid plans from $19 a month, and many Actors add their own per-result or per-run charges (Apify pricing). | Quality and fields vary by Actor and author, and an Actor can stop working when Yelp changes. Cost scales with how many results you pull. | Low to medium: pick an Actor, fill in a search form, run. |
| SerpApi | A Yelp Search API that returns structured JSON for a search (name, rating, reviews, categories, neighborhoods, phone and more), using find_desc, find_loc and start. | A free tier of 250 searches a month, and paid plans from $25 a month for 1,000 searches (SerpApi pricing). | You pay per search, and each page of ten results is another search. Needs you to handle pagination in code. | API key and a script, or a no-code connector. |
| Grabby | Whatever the Yelp results and profile pages show in your browser, exported as CSV, Excel or JSON. | Free while in early access, with every feature unlocked. | Manual and browser-based: you run it, there is no scheduler, and it is meant for modest pulls, not the whole platform. It stays subject to Yelp’s terms. | Minutes: select, run, export. |
How to choose: if you are building a product or need something Yelp supports in writing, use the Yelp API and budget for it. If you want ready-made data at volume and do not mind paying per result, look at SerpApi or an Apify Actor. If you want a visual tool you can keep configured, Octoparse fits. If you need a one-off or occasional list for prospecting or research and want to do it yourself for free, that is what Grabby is for. Whichever you pick, remember Yelp’s own robots.txt says automated access is prohibited except as Yelp expressly permits, and at the time of writing its rule for generic crawlers disallows every path, so third-party scrapers carry the same terms risk as this one.
Step 1: Run your Yelp search
Search Yelp for a category and location (“coffee shops in Portland”, “plumbers near me”) and apply the filters worth narrowing on first: distance, price, rating, “open now”, or a more specific category. Filtering before you scrape means fewer rows to clean up afterward. Scroll once so the first page of results has fully loaded.
Build the Yelp search URL yourself
A Yelp search is just a URL, so you can build it instead of clicking through the filters. These are the parameters people commonly use:
find_desc: what you are looking for, such ascoffeeorplumbers.find_loc: where, as a city and state, a ZIP code or an address, such asPortland%2C+OR.start: the result offset for pagination.0is the first page,10the second,20the third, and so on in steps of ten.sortby: sort order, commonlyrecommended(the default),ratingorreview_count.
For example, a search for coffee in Portland, sorted by review count, second page:
https://www.yelp.com/search?find_desc=coffee&find_loc=Portland%2C+OR&sortby=review_count&start=10
The find_desc, find_loc and start parameters are documented in SerpApi’s Yelp Search API docs. The sortby values come from third-party API documentation, and Yelp can change any of these without notice, so test a URL in your browser before you rely on it. Paste the URL, let the page load, and then select the list as below.
Step 2: Select the results list
Click the Grabby icon, choose Scrape List, then Select the list and click any one business result. Grabby highlights the whole set and grabs them all with a live preview:
- Business name
- Star rating and review count
- Price tier ($ to $$$$)
- Category
- Neighborhood or area
- Open/closed status
- The link to each business’s Yelp profile
Depending on the category, Yelp also surfaces service options right in the results (delivery, takeout, outdoor seating) and a short review snippet. Grabby captures whatever is visible on the card, so if those fields matter for your list, they’ll come along with the rest.
Step 3: Walk every page of results
Yelp paginates its search results roughly ten businesses at a time, which means a 200-business search is about twenty pages, painful to click through by hand. Choose Pagination or Auto-scroll in Grabby, set a maximum if you want one, and hit Start. Grabby walks each page of the Yelp search and appends every business to the same table.
One thing to watch for: Yelp mixes sponsored placements and an ad carousel into organic results, and those rows don’t always carry the same fields as a normal listing. They’re easy to spot and remove once everything is in a table. Sort by rating or review count and the ads tend to stand out immediately.
Step 4: Pull the full address and phone from each profile
Some fields, like the full street address, a direct phone number, sometimes a website, live on each business’s own Yelp profile rather than the search-results card. Hand Grabby the profile-link column and use detail-page scraping to follow it: it opens each business’s profile in turn and pulls those extra fields back into the matching row.
Add an email for each business
Once you have a website column, send it through Grabby’s built-in email extractor. It visits each business’s own site and pulls out any contact email it finds, merging it back into the table. That’s how a list of Yelp listings becomes a genuinely contactable outreach list.
Step 5: Clean and export
In the editable table, remove duplicate or empty rows and columns, rename headers to match your CRM, hide what you don’t need, and sort by rating or review count to prioritize. Then click Export and choose CSV, Excel, or JSON, or copy the table straight into Google Sheets. Everything stays on your machine, and nothing is uploaded anywhere.
Going further: bigger, cleaner, richer lists
Beat broad-search limits. Very broad Yelp searches (a whole city, a generic category) stop offering further pages long before they’ve shown you every match. Narrow by neighborhood or add a more specific category filter, run the scrape on each narrower search, then merge the exports for full coverage.
Dedupe across searches. Overlapping neighborhood searches will return some of the same businesses twice. Use the editable table’s duplicate-row removal (matching on the Yelp profile link or on name-plus-address) to collapse them into one clean list.
Enrich once, at the end. Run detail-page scraping and the email extractor after you’ve merged and deduped, not before, so you’re not loading the same profiles twice.
Clean up phone and address formatting. Yelp listings mix formats, (503) 555-0100 versus 503-555-0100, and neighborhood names aren’t always full addresses. Standardize both columns before importing into a CRM or dialer.
Use cases
- Local SEO and agency prospecting: find businesses with a review-count or rating gap worth pitching.
- Sales and BD prospecting: turn a category-and-city search into a structured account list.
- Market research: compare price tiers, rating distribution, and category density across neighborhoods.
- Reputation-management outreach: target businesses with lower ratings or thin review counts.
- Competitive benchmarking: see how a client stacks up against every similarly categorized business nearby, price tier included.
Troubleshooting
- Only the first page captured? Make sure Pagination or Auto-scroll is switched on before you hit Start. A single scrape only grabs what’s currently loaded.
- Address or phone missing? Those fields often live on the business’s own Yelp profile rather than the results card. Use detail-page scraping on the profile-link column to pull them in.
- A run looks blocked or slows down? Stop, wait a few minutes, and narrow your search (add a category or neighborhood filter) before trying again. Yelp’s anti-bot measures are more sensitive on very broad searches.
- Some rows look like ads? Sponsored placements sometimes get captured alongside organic results, so filter them out in the editable table once you spot the pattern.
Frequently asked questions
Is it really free? Yes. Grabby is free while in early access, with every feature unlocked and no sign-up.
Which Yelp fields can I capture? Whatever the search results show: business name, star rating, review count, price tier ($ to $$$$), category, neighborhood, open/closed status, and the link to each profile. Following that link into each profile adds the full address and phone.
Can I get phone numbers, websites and emails? Phone and full address usually live on each business’s Yelp profile even when they’re not shown in the search results. Follow the profile link with Grabby’s detail-page scraping to pull them in, then send the website column through the email extractor to add a contact email.
Can I collect every page of results? Yes. Yelp paginates its results roughly ten at a time. Choose Pagination or Auto-scroll in Grabby and it walks every page of your search automatically.
Is scraping Yelp allowed? Yelp’s terms of service explicitly prohibit automated scraping except where its own robots.txt allows it, and it actively guards against bots. Grabby runs in your own browser and loads pages one at a time, including any profile pages you ask it to open, which is gentler than a server-side bot, but keep runs modest and review Yelp’s terms before relying on this at scale. (Not legal advice.)
How does this compare to the Yelp Fusion API? Fusion is Yelp’s official API, but it’s paid-only: a 30-day trial gives you 5,000 calls, then monthly plans start at $229 a month at the time of writing (October 2026), with review excerpts and photos only on the higher tiers. It’s the compliant route for an app or a large recurring pull. Grabby is the faster, free option for building a one-off or occasional list yourself.
Can I export to Excel or Google Sheets? Yes. Export CSV, Excel or JSON, or copy the table straight into Google Sheets.
What is the best tool for scraping Yelp business data? It depends. The Yelp Fusion/Places API is the official route but is paid. SerpApi and Apify Actors return structured data for a per-search or per-result cost. Octoparse is a visual scraper with a free tier and paid cloud plans. Grabby is a free point-and-click option for one-off or occasional lists you pull yourself in your browser. See the comparison table in this guide.
How do I build a Yelp search URL? Use https://www.yelp.com/search with find_desc (what), find_loc (where), start (result offset in steps of 10) and optionally sortby (for example rating or review_count). Test the URL in your browser, since Yelp can change parameters.
Does this work for any category? Yes. Restaurants, contractors, salons, auto shops, anything you can search for on Yelp.
Build a fuller lead list
Yelp pairs well with other local sources. See scraping Google Maps to Excel for a second angle on the same businesses, scraping any business directory for leads, and extracting emails from a website for lists you’ve already built elsewhere.