Trustpilot Reviews Scraper
Pricing
Pay per event
Trustpilot Reviews Scraper
Scrape structured Trustpilot reviews and business-summary data across multiple businesses in one run, with pagination and star-rating filtering. Includes verification level, company replies, and trust score — fields incumbents often skip.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
🎯 What this scrapes
Trustpilot is the review platform businesses live and die by — and comparing reputation across even a handful of competitors means opening a dozen browser tabs and copy-pasting by hand. This Actor takes a list of businesses (bare domains or full review URLs) and returns every review, paginated and optionally filtered by star rating, in one normalized dataset — reviewer details, verification level, company replies, and the business's own trust score and review count, side by side.
🔥 What we handle for you
- 🛡️ We solve the challenge once, not per page — a single browser pass clears the target's interstitial, then every subsequent request replays cleanly.
- 🌐 Apify Proxy on every request, with automatic re-solve if a session goes stale mid-run.
- 🔁 We retry with exponential backoff on
408 / 429 / 5xxand honourRetry-After. - 🧱 Fault isolation per business — one blocked or malformed business is skipped and logged; the rest of your run finishes.
- 🧊 Clean, typed dataset rows — Pydantic-validated, deduped by review ID, JSON / CSV export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for reviews that land in your dataset.
💡 Use cases
- Competitive reputation tracking — pull reviews for your business and its top competitors in one run.
- Customer feedback mining — feed review text into sentiment analysis or a support-ticket triage pipeline.
- Sales and partnership research — check a prospective partner's trust score and recent review trend before a call.
- Review-response auditing — see which reviews a business replied to, and how fast.
⚙️ How to use it
- Click Try for free at the top of the page.
- Add one or more businesses — a bare domain (
nike.com) or a fulltrustpilot.com/review/...URL. - Optionally set a max reviews per business, a star-rating filter, or a language filter.
- Click Start. Reviews stream into the run's dataset as they're scraped.
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
businesses | array of string | Yes | Bare domains or full Trustpilot review URLs. |
maxReviewsPerBusiness | integer | No (default 100) | Cap per business, 1-5000. |
stars | integer | No | Restrict to a single star rating, 1-5. |
language | string | No | ISO 639-1 language filter. |
proxyConfiguration | object | No | Apify Proxy configuration. |
{"businesses": ["nike.com", "amazon.com"],"maxReviewsPerBusiness": 50,"stars": null,"language": null,"proxyConfiguration": { "useApifyProxy": true }}
📤 Output
| Field | Type | Description |
|---|---|---|
review_id | string | Trustpilot review ID. |
reviewer_name | string | Display name of the reviewer. |
reviewer_country | string | null | Reviewer's country code, when public. |
rating | integer | Star rating, 1-5. |
title | string | Review title. |
body | string | Review text. |
date_experienced | string | Date the reviewer experienced the service. |
date_published | string | ISO-8601 publish timestamp. |
is_verified | boolean | Whether Trustpilot marks the review as verified. |
verification_level | string | null | Verification tier, when exposed. |
company_reply_text | string | null | Business's reply, if any. |
company_reply_date | string | null | Date of the business's reply, if any. |
language | string | null | Review language, when exposed. |
source_business_domain | string | Business identifier from input. |
business_display_name | string | Business's display name on Trustpilot. |
business_trust_score | number | null | Business's current trust score. |
business_review_count | integer | null | Business's total review count. |
{"review_id": "64f1a2b3c9d4e5f6a7b8c9d0","reviewer_name": "J. Alvarez","reviewer_country": "US","rating": 5,"title": "Fast shipping, great fit","body": "Ordered on Monday, arrived Thursday. Sizing chart was accurate.","date_experienced": "2026-09-01","date_published": "2026-09-03T14:22:10.000Z","is_verified": true,"verification_level": "verified","company_reply_text": null,"company_reply_date": null,"language": "en","source_business_domain": "www.nike.com","business_display_name": "Nike","business_trust_score": 1.5,"business_review_count": 13038}
💰 Pricing
Pay-Per-Event. No subscription, no minimum spend.
| Event | Price | Trigger |
|---|---|---|
| Actor start | $0.20 | Once per run |
| Result row | $0.003 | Once per review pushed to your dataset |
100 reviews across your businesses costs about $0.50 total ($0.20 + 100 × $0.003). At 1,000 reviews the flat start fee amortizes down to roughly $3.20 per 1,000 results.
🚧 Limitations
- Business review pages only — reviewer profile pages and review history are out of scope.
- No point-in-time snapshots; each run reflects current live data.
- The
languagefilter falls back to client-side filtering if Trustpilot exposes no matching query parameter for it. - Date-range filtering is not supported — no confirmed query parameter exists for it.
❓ FAQ
Does this work for any business on Trustpilot? Yes — supply a bare domain or a full review URL for any business with a public Trustpilot page.
What happens if one business in my list is blocked or invalid? That business is skipped and logged; the rest of your run completes normally.
Do I get charged if a business has zero matching reviews? No — you're only charged per review row actually pushed to your dataset, plus the flat run-start fee.
🙋 Your feedback
Found a bug or have a feature request? Open an issue on the Actor's Apify Store page or reach out via apify.com/DevilScrapes — we read every message.