Trustpilot Business Reviews Scraper avatar

Trustpilot Business Reviews Scraper

Pricing

$0.01 / 1,000 business reviews

Go to Apify Store
Trustpilot Business Reviews Scraper

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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.

📦 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

  1. Choose Trustpilot pages or domains or Business keywords in Find reviews by.
  2. 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.
  3. Add any star, language, date, verification, reply, or review-keyword filters you need.
  4. Set Max reviews per company when you want a per-company limit. Leave it empty to collect all available public reviews until the source is exhausted.
  5. 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

FieldTypeWhat it does
discoveryMethodstringRequired. Choose trustpilotPages for page or domain targets, or businessKeywords for business keyword discovery.
companyUrlsarray of objectsAdd 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[].urlstringA Trustpilot business review page URL or a company domain URL.
businessKeywordsarray of stringsAdd ordinary business keywords or short phrases. Use this field when discoveryMethod is businessKeywords to find matching Trustpilot business pages.
maxReviewsPerCompanyintegerOptional 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.
ratingFilterobjectOptional 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.minStarsintegerLowest star rating to include, from 1 to 5.
ratingFilter.maxStarsintegerHighest star rating to include, from 1 to 5.
languageCodesarray of stringsOptional language filter. Add codes such as en or de, or leave it empty for all available languages.
publishedFromstringInclude reviews published on or after this date. Use YYYY-MM-DD.
publishedTostringInclude reviews published on or before this date. Use YYYY-MM-DD.
verifiedOnlybooleanWhen true, include only reviews marked as verified. Leave it false to include all reviews.
repliedOnlybooleanWhen true, include only reviews with a public business reply. Leave it false to include reviews with or without a reply.
reviewKeywordstringOptional 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

FieldTypeWhat it does
datasetstringOpens the collected Trustpilot business review dataset.

Trustpilot business review row

FieldTypeWhat it does
businessobjectBusiness identity, reputation, categories, and public profile details.
business.idstringStable public Trustpilot identifier for the business.
business.namestringPublic business name on Trustpilot.
business.trustpilotUrlstringDirect URL for the business page on Trustpilot.
business.reputationobjectReputation metrics shown on the business page.
business.reputation.overallRatingnumberOverall business rating on a five-point scale.
business.reputation.totalReviewCountintegerTotal reviews counted on the business page.
business.reputation.starDistributionobjectCounts for each Trustpilot star level.
business.reputation.starDistribution.oneStarintegerNumber of one-star reviews.
business.reputation.starDistribution.twoStarsintegerNumber of two-star reviews.
business.reputation.starDistribution.threeStarsintegerNumber of three-star reviews.
business.reputation.starDistribution.fourStarsintegerNumber of four-star reviews.
business.reputation.starDistribution.fiveStarsintegerNumber of five-star reviews.
business.categoriesarray of stringsPublic categories listed for the business.
business.websiteUrlstringPublic business website URL when available.
business.contactobjectPublic business contact details when available.
business.contact.emailstringPublic business email address when available.
business.contact.phonestringPublic business phone number when available.
business.locationobjectPublic business location details when available.
business.location.addressstringPublic street address when available.
business.location.citystringPublic city when available.
business.location.postalCodestringPublic postal code when available.
business.location.countrystringPublic country when available.
business.descriptionstringPublic business description when available.
business.verificationobjectPublic business verification details when available.
business.verification.isClaimedbooleanWhether Trustpilot shows the business profile as claimed.
business.verification.isVerifiedbooleanWhether Trustpilot shows the business as verified.
reviewobjectOne public Trustpilot review and its available context.
review.idstringStable public identifier for the review.
review.urlstringDirect URL for the review on Trustpilot.
review.titlestringPublic title written for the review.
review.textstringFull public review text.
review.ratingintegerStar rating given in the review, from 1 to 5.
review.publishedDatestringDate when the review was published.
review.experienceDatestringDate of the customer experience reported in the review.
review.languageCodestringDetected review language code when available.
review.isVerifiedbooleanWhether Trustpilot marks the review as verified.
review.usefulVotesintegerUseful-vote count shown for the review when available.
review.summarystringConcise plain-language summary of the review.
review.reviewerobjectPublic reviewer identity and activity details when available.
review.reviewer.namestringPublic name shown for the reviewer.
review.reviewer.locationstringPublic reviewer location when available.
review.reviewer.reviewCountintegerNumber of reviews shown as written by the reviewer.
review.replyobjectPublic business reply when one is present.
review.reply.textstringFull public text of the business reply.
review.reply.publishedDatestringDate 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 🫡

Made with ❤️ by Maxime Dupré