How to Scrape Yelp & Trustpilot Reviews for Reputation Monitoring
Pull structured reviews and ratings from Yelp and Trustpilot into JSON or CSV so you can track your own reputation, mine competitor feedback, and build sentiment datasets.
Why scrape reviews at all?
Reviews are the most honest signal you have about a business — yours or a competitor's. Reading them one page at a time in a browser doesn't scale past a handful of locations, and it gives you nothing you can sort, filter, or chart. Once reviews are in a spreadsheet or database, you can do the things that actually move decisions: spot a rating that's slipping month over month, find the three complaints that keep recurring, compare your star average against the shop down the street, or feed thousands of review snippets into a sentiment model.
Yelp and Trustpilot cover two different worlds. Yelp is local — restaurants, dentists, contractors, anything with a physical address. Trustpilot is product- and service-led, heavy on e-commerce, SaaS, and online brands. If you care about reputation, you usually want both. This guide uses two actors that handle each cleanly: the Yelp Businesses & Reviews Scraper and the Trustpilot Reviews Scraper.
What data you get
From Yelp, searching by term and location (or by passing specific business URLs), you get business-level and review-level fields:
- Business name, category, full address and geo coordinates (lat/lng)
- Overall star rating and total review count
- Price tier, phone number and website
- Individual reviews: review text, star rating, reviewer name, and review date
From Trustpilot, passing a company domain or Trustpilot page, you get:
- Review text and star rating (1–5)
- Reviewer name and country
- Verified-purchase flag
- Review date and date of the underlying experience
- The company's public reply, if any
- Company-level TrustScore and aggregate rating
Both actors return clean JSON and let you export to CSV or Excel, so the output drops straight into a spreadsheet, a BI tool, or a database.
Step by step: running the Yelp scraper
- Open the Yelp scraper on Apify and click Try for free. A free Apify account is enough to start.
- In the input form, either fill in a search term (e.g. "coffee shops") plus a location (e.g. "Austin, TX"), or paste one or more direct Yelp business URLs if you already know exactly which listings you want.
- Set a limit on how many businesses and how many reviews per business to collect. Start small to confirm the output looks right before scaling up.
- Click Save & Start. The run executes on Apify's cloud — nothing installs on your machine, and no Yelp login or API key is required.
- When the run finishes, open the Dataset tab and export as JSON, CSV, or Excel, or connect it to Notion or Slack.
A realistic input looks like this:
searchTerms: ["dentist"]location: "Seattle, WA"maxBusinesses: 20maxReviewsPerBusiness: 50
That run returns up to 20 dentist listings around Seattle, each with up to 50 of its most recent reviews attached.
Step by step: running the Trustpilot scraper
- Open the Trustpilot scraper and click Try for free.
- Enter the company's Trustpilot page URL or its domain (for example
www.example.com). You can list several companies to compare them in one run. - Set how many reviews to pull per company, and optionally sort by most recent so monitoring runs only fetch what's new.
- Click Save & Start, wait for the run, then export the dataset.
A sample output row from Trustpilot:
rating: 2title: "Shipping took three weeks"text: "Product is fine but delivery was far slower than advertised…"reviewerName: "Jordan M."country: "GB"isVerified: truedatePublished: "2026-05-31"companyReply: "We're sorry about the delay — please contact us…"trustScore: 4.1
Turning raw reviews into reputation monitoring
A one-off pull is useful, but the real value comes from repetition. A few patterns worth setting up:
- Scheduled runs. Use Apify's scheduler to run each actor weekly or daily, sort by newest, and append only fresh reviews. You get a running log of how sentiment shifts over time.
- Competitor benchmarking. List your own business plus three or four rivals in the same run, then compare average ratings, review velocity, and the most common complaint themes side by side.
- Sentiment datasets. Export the review text column and run it through a sentiment or topic-classification model. Star ratings give you a free, pre-labeled training signal.
- Alerting. Pipe results into Slack or Notion and flag any new one- or two-star review so support can respond within hours, not weeks.
Honest comparison: official APIs and paid incumbents
Versus the official Yelp Fusion API: Yelp's API returns business details and ratings, but it caps review access to a small number of truncated review excerpts per business — not the full text, and not the full history. For genuine reputation work that limit is the dealbreaker. Scraping the public pages gets you the complete review text these actors expose.
Trustpilot offers a Business API, but it's gated behind a paid plan and tied to claiming your own profile — it won't let you pull a competitor's reviews. If you need cross-company data, the public-page approach is the only practical route.
Versus other paid Apify actors: several established review scrapers exist. These two are positioned to be cheaper — pay-per-result pricing, no monthly minimums, and failed runs are free, so you're not charged for a run that returns nothing. They require no login and no proxy configuration for typical use. What they don't have yet is a long public track record or user reviews of their own, so run a small test first and confirm the output matches what you need before committing to a large job.
Always check the current per-result price on each actor's Apify page, and scrape only public data in line with each site's terms and applicable law — these actors collect publicly visible reviews, not private or login-gated content.
FAQ
Do I need a Yelp or Trustpilot account? No. Both actors read publicly visible review pages, so there's no login, password, or API key involved.
Can I scrape reviews for businesses I don't own? Yes — that's the point of competitor monitoring. Both actors work on any public listing, not just one you've claimed.
How fresh is the data? It reflects whatever is live on the page at run time. For ongoing monitoring, schedule recurring runs and sort by most recent so you only collect new reviews.
What format is the output? Structured JSON by default, with one-click export to CSV or Excel, plus optional delivery to Notion or Slack.
What happens if a run fails or returns nothing? Failed runs are free, so you aren't billed for a job that didn't produce results. Re-run with a smaller scope to debug.
Related guides
- Scraping Google Maps for local business leads — pair address-level lead data with Yelp ratings.
- Scraping YouTube comments — another source of public sentiment to fold into your dataset.
- Scraping Instagram profiles and posts — round out a brand's social and review footprint.