Trustpilot Business Reviews Scraper
Pricing
$0.01 / 1,000 business reviews
Trustpilot Business Reviews Scraper
Collect public Trustpilot business reviews from page URLs, company domains, or business keywords. Get review text, ratings, dates, reviewer context, and business reputation metrics, plus replies when available, in an Apify dataset.
Pricing
$0.01 / 1,000 business reviews
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
⭐ Trustpilot business reviews for reputation research
Researchers, marketers, and business teams can collect public Trustpilot business reviews from company review pages, domains, or business keywords. Each dataset row joins one review with its business page, reputation metrics, and public context, so you can study customer feedback and compare reputation signals in one export.
No Trustpilot login or customer-provided source credential is needed.
- Collect reviews from a public Trustpilot business page with Trustpilot Review Data.
- Gather one company's public feedback and business context with Trustpilot Company Reviews.
- Filter reviews by stars, language, dates, replies, or keywords with Trustpilot Review Scraper.
- Review titles, full text, ratings, and dates with Trustpilot Reviews.
- Compare review details with a business reputation snapshot using Trustpilot Business Reviews.
📦 Review rows with a business snapshot
Each dataset row represents one collected public Trustpilot business review. The business object includes Trustpilot identity, reputation metrics, categories, public profile details, and source links. The review object includes the title, full text, star rating, both dates, language, verification, useful votes, a plain-language summary, reviewer context, and a business reply when available.
Optional fields appear when the source provides them. The genuine row below has no business contact object or reply because those fields were not present in that run.
▶️ Collect reviews from Trustpilot pages or keywords
- Choose Trustpilot pages or domains or Business keywords in
Find reviews by. - Add full Trustpilot business review page URLs or company domains, or add ordinary business keywords and short phrases. Only fields for the selected choice are used.
- Add any star, language, date, verification, reply, or review-keyword filters you need.
- Set
Max reviews per companywhen you want a per-company limit. Leave it empty to collect all available public reviews until the source is exhausted. - Start the run and open the review dataset from the output.
Each review is saved on its first eligible match. If the same source review appears again through another submitted URL, keyword, or similar target value, the later match is ignored. The saved row describes the first match only.
⚙️ Input
Use one source choice at a time. The table lists every public input field.
Input fields
| Field | Type | What it does |
|---|---|---|
discoveryMethod | string | Required. Choose trustpilotPages for page or domain targets, or businessKeywords for business keyword discovery. |
companyUrls | array of objects | Add one object for each full URL. Use this field when discoveryMethod is trustpilotPages. Up to 200 company targets are allowed by the input schema. |
companyUrls[].url | string | A Trustpilot business review page URL or a company domain URL. |
businessKeywords | array of strings | Add ordinary business keywords or short phrases. Use this field when discoveryMethod is businessKeywords to find matching Trustpilot business pages. |
maxReviewsPerCompany | integer | Optional per-company review limit. The schema has no fixed upper bound. Leave it empty to collect all available public reviews until the source is exhausted. |
ratingFilter | object | Optional star filter. Set both values to the same number for an exact rating, or use different values for a range. Leave both empty for every rating. |
ratingFilter.minStars | integer | Lowest star rating to include, from 1 to 5. |
ratingFilter.maxStars | integer | Highest star rating to include, from 1 to 5. |
languageCodes | array of strings | Optional language filter. Add codes such as en or de, or leave it empty for all available languages. |
publishedFrom | string | Include reviews published on or after this date. Use YYYY-MM-DD. |
publishedTo | string | Include reviews published on or before this date. Use YYYY-MM-DD. |
verifiedOnly | boolean | When true, include only reviews marked as verified. Leave it false to include all reviews. |
repliedOnly | boolean | When true, include only reviews with a public business reply. Leave it false to include reviews with or without a reply. |
reviewKeyword | string | Optional keyword filter for the review title or full text. Leave it empty to include all reviews. |
Successful default-input example
This public input is copied from a successful current-beta run.
{"discoveryMethod": "trustpilotPages","companyUrls": [{"url": "https://www.trustpilot.com/review/www.amazon.com"}],"maxReviewsPerCompany": 1,"verifiedOnly": false,"repliedOnly": false}
🧾 Output
The default dataset has one row shape. Every row contains business and review objects. Fields marked as available may be absent when the public source does not provide them.
Dataset link
| Field | Type | What it does |
|---|---|---|
dataset | string | Opens the collected Trustpilot business review dataset. |
Trustpilot business review row
| Field | Type | What it does |
|---|---|---|
business | object | Business identity, reputation, categories, and public profile details. |
business.id | string | Stable public Trustpilot identifier for the business. |
business.name | string | Public business name on Trustpilot. |
business.trustpilotUrl | string | Direct URL for the business page on Trustpilot. |
business.reputation | object | Reputation metrics shown on the business page. |
business.reputation.overallRating | number | Overall business rating on a five-point scale. |
business.reputation.totalReviewCount | integer | Total reviews counted on the business page. |
business.reputation.starDistribution | object | Counts for each Trustpilot star level. |
business.reputation.starDistribution.oneStar | integer | Number of one-star reviews. |
business.reputation.starDistribution.twoStars | integer | Number of two-star reviews. |
business.reputation.starDistribution.threeStars | integer | Number of three-star reviews. |
business.reputation.starDistribution.fourStars | integer | Number of four-star reviews. |
business.reputation.starDistribution.fiveStars | integer | Number of five-star reviews. |
business.categories | array of strings | Public categories listed for the business. |
business.websiteUrl | string | Public business website URL when available. |
business.contact | object | Public business contact details when available. |
business.contact.email | string | Public business email address when available. |
business.contact.phone | string | Public business phone number when available. |
business.location | object | Public business location details when available. |
business.location.address | string | Public street address when available. |
business.location.city | string | Public city when available. |
business.location.postalCode | string | Public postal code when available. |
business.location.country | string | Public country when available. |
business.description | string | Public business description when available. |
business.verification | object | Public business verification details when available. |
business.verification.isClaimed | boolean | Whether Trustpilot shows the business profile as claimed. |
business.verification.isVerified | boolean | Whether Trustpilot shows the business as verified. |
review | object | One public Trustpilot review and its available context. |
review.id | string | Stable public identifier for the review. |
review.url | string | Direct URL for the review on Trustpilot. |
review.title | string | Public title written for the review. |
review.text | string | Full public review text. |
review.rating | integer | Star rating given in the review, from 1 to 5. |
review.publishedDate | string | Date when the review was published. |
review.experienceDate | string | Date of the customer experience reported in the review. |
review.languageCode | string | Detected review language code when available. |
review.isVerified | boolean | Whether Trustpilot marks the review as verified. |
review.usefulVotes | integer | Useful-vote count shown for the review when available. |
review.summary | string | Concise plain-language summary of the review. |
review.reviewer | object | Public reviewer identity and activity details when available. |
review.reviewer.name | string | Public name shown for the reviewer. |
review.reviewer.location | string | Public reviewer location when available. |
review.reviewer.reviewCount | integer | Number of reviews shown as written by the reviewer. |
review.reply | object | Public business reply when one is present. |
review.reply.text | string | Full public text of the business reply. |
review.reply.publishedDate | string | Date when the business reply was published. |
Genuine review row
This complete public row came from a successful current-beta run. Optional fields that were not present in that source response are absent.
{"business": {"id": "46ad346800006400050092d0","name": "Amazon","trustpilotUrl": "https://www.trustpilot.com/review/www.amazon.com","reputation": {"overallRating": 1.6,"totalReviewCount": 48875,"starDistribution": {"oneStar": 32685,"twoStars": 2951,"threeStars": 1867,"fourStars": 2448,"fiveStars": 8924}},"categories": ["Shoe Store","Clothing Store","Book Store","Hobby Store"],"websiteUrl": "https://www.amazon.com","location": {"country": "GB"},"description": "Online shopping from the earth's biggest selection of books, magazines, music, DVDs, videos, electronics, computers, software, apparel & accessories, shoes, jewelry, tools & hardware, housewares, furniture, sporting goods, beauty & personal care, broadband & dsl, gourmet food & just about anything else.","verification": {"isClaimed": true,"isVerified": false}},"review": {"id": "6a98700b37492d7fc714a128","url": "https://www.trustpilot.com/reviews/6a98700b37492d7fc714a128","title": "Il kindle è una fregatura","text": "Non voglio fare una recensione su amazon in sè, non essendoci una sezione apposta mi limiterò a parlare di un prodotto amazon: il kindle. Una delle peggiori esperienze della mia vita. Ho avuto un kindle, in realtà probabilmente non me ne sarei fatto nulla ma tutti ne parlavano bene e l’ho provato. Prendi il fire 6 dicevano, ok prendo il fire 6, ma che schifezza! In pratica è un mini tablet che vorrebbe sembrare un ipad mini che però non vale l’1% di un ipad mini. Una cosa terrificante. Per un po’, qualche mese, non l’ho usato e mai l’avessi fatto, non si accendeva più. Si trovano in amazon informazioni per risolvere il problema? A quanto pare no, ma ancora peggio sanno che può succedere questo problema. Che tristezza sembra quasi al pari di obsolescenza programmata, una pratica nota nella tecnologia ma non viene considerata tale, il problema è che loro sanno che il problema esiste ma non fanno nulla","rating": 1,"publishedDate": "2026-09-02","experienceDate": "2026-09-02","isVerified": false,"summary": "Il kindle è una fregatura","languageCode": "it","usefulVotes": 0,"reviewer": {"name": "Antonio","location": "IT","reviewCount": 24}}}
💳 Pricing
The primary pay-per-event charge is $0.00001 for each public business review saved to the dataset. A run with no saved review does not trigger this review event.
🔌 Integrations
Use the dataset link in the output to inspect rows or export them as JSON or CSV in Apify. The dataset can also be read through the Apify API.
For a visual guide, watch:
❓ FAQ
What does the Actor return for each review?
Each row has one business object and one review object. This joins the review text, rating, dates, and source links with the business rating, review count, star distribution, categories, and available public profile details.
What is the difference between the two review dates?
publishedDate is when the review was posted on Trustpilot. experienceDate is when the customer says the experience happened. They can be different dates.
Can I get only certain star ratings?
Yes. Set ratingFilter.minStars and ratingFilter.maxStars to the same value for an exact rating. Use different values for a range, or leave both empty for every rating.
Can I filter by language, date, reply, or review text?
Yes. Use languageCodes, publishedFrom, publishedTo, repliedOnly, or reviewKeyword. The date limits use the YYYY-MM-DD format.
What happens when optional source data is missing?
Fields such as contact details, reviewer context, useful votes, and replies may be absent when the public Trustpilot page does not provide them. The Actor does not fill in missing source values.
How are duplicate reviews handled?
The first eligible match is saved as soon as it is found. If the same source review appears again through another URL, keyword, or similar submitted value, the later match is ignored. One row does not combine evidence from later matches.
Can I use a business keyword instead of a URL?
Yes. Choose Business keywords in Find reviews by, then add ordinary business keywords or short phrases. The Actor uses them to find matching Trustpilot business pages.
Does it need a Trustpilot login or source credential?
No. The Actor reads public Trustpilot business pages without a Trustpilot login or a customer-provided source credential.
What if no review matches my filters?
A narrow combination of stars, language, dates, reply status, and review keyword can leave no matching review rows. Widen or remove a filter when you need more matches.
How many reviews can I collect for one company?
Set a positive maxReviewsPerCompany value to limit one company. Leave it empty to collect all available public reviews until the source is exhausted. The input schema has no fixed upper bound for this field.
How many company URLs can I submit?
The companyUrls field accepts up to 200 company targets in one run.
Does the Actor return reviewer contact details?
No personal reviewer contact fields are part of the public output. The row can include a reviewer's public name, location, and review count when available. Business contact fields are separate and contain public business details when available.
📝 Changelog
v0.0 (02-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Yelp Business Review Scraper: Collect full-text reviews and ratings for public Yelp businesses.
- Yelp Scraper: Reputation Monitor: Track public Yelp ratings, review evidence, and changes for local businesses.
- Facebook Reviews Scraper: Collect public Facebook Page recommendations and review engagement.
- Google Maps List Scraper: 30+ Fields Per Place: Export local place ratings, review counts, and public business details from shared lists.
- Trustpilot Reviews Scraper Pro: Collect Trustpilot reviews with rating, language, date, keyword, verification, and reply filters.
Made with ❤️ by Maxime Dupré