Trustpilot Scraper - Reviews, Ratings & Company Profiles avatar

Trustpilot Scraper - Reviews, Ratings & Company Profiles

Pricing

from $11.54 / 1,000 results

Go to Apify Store
Trustpilot Scraper - Reviews, Ratings & Company Profiles

Trustpilot Scraper - Reviews, Ratings & Company Profiles

Scrape Trustpilot reviews and company profiles by domain, URL, keyword search or category. Trust score, star distribution, verification, contacts, review text, author, photos and replies. Filter by stars, language, date, verified. Export JSON, CSV, Excel.

Pricing

from $11.54 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Trustpilot Scraper - Reviews, Ratings & Company Profiles

Trustpilot Scraper - Reviews, Ratings & Company Profiles

Here is one real result, a company profile record, with every field the actor returns (the similarCompanies array is trimmed to 2 of 8 real entries for readability; all other values are exactly as returned):

{
"imageUrl": "https://s3-eu-west-1.amazonaws.com/tpd/screenshots/46d46ce6000064000500c2ad/198x149.png",
"recordType": "company",
"companyId": "46d46ce6000064000500c2ad",
"businessUnitId": "46d46ce6000064000500c2ad",
"companyName": "Nike",
"domain": "www.nike.com",
"trustpilotUrl": "https://www.trustpilot.com/review/www.nike.com",
"websiteUrl": "https://www.nike.com",
"websiteTitle": "www.nike.com",
"countryCode": "US",
"trustScore": 1.5,
"rating": 1.5,
"reviewsCount": 12979,
"reviewsLast12Months": 2084,
"ratingDistribution": { "total": 12979, "oneStar": 9858, "twoStar": 488, "threeStar": 362, "fourStar": 468, "fiveStar": 1803 },
"categories": ["Activewear Store", "Shoe Store", "Sportswear Store", "Clothing Store"],
"categoryPath": "Shopping & Fashion > Clothing & Underwear > Activewear Store",
"isClaimed": false,
"claimedDate": "2023-11-20",
"verifiedByGoogle": false,
"verifiedBusiness": null,
"verifiedPaymentMethod": false,
"verifiedUserIdentity": false,
"isClosed": false,
"isTemporarilyClosed": false,
"isCollectingReviews": false,
"hasCollectedIncentivisedReviews": false,
"isUsingPaidFeatures": false,
"isUsingAIResponses": false,
"replyPercentage": 0,
"averageDaysToReply": 0,
"negativeReviewsWithRepliesCount": 0,
"totalNegativeReviewsCount": 1802,
"lastReplyToNegativeReview": null,
"locationsCount": 0,
"consumerAlerts": [],
"reviewSummary": "Considering 992 reviews, most reviewers were let down by their experience overall. Many consumers encountered significant issues with the execution of their orders, such as receiving items that did not match the description or sizing problems...",
"similarCompanies": [
{ "companyName": "Netflix", "domain": "www.netflix.com", "trustpilotUrl": "https://www.trustpilot.com/review/www.netflix.com", "trustScore": 1.5, "rating": 1.5, "reviewsCount": 14377 },
{ "companyName": "Obelink", "domain": "www.obelink.nl", "trustpilotUrl": "https://www.trustpilot.com/review/www.obelink.nl", "trustScore": 4.2, "rating": 4, "reviewsCount": 4912 }
],
"email": null,
"phone": "86406388",
"address": "Niels Brocks Gade 8 , 4. sal.",
"city": "Randers C",
"zipCode": "8900",
"country": "US",
"observedAt": "2026-08-25T22:59:35.475Z",
"error": null
}

The most complete Trustpilot scraper available. It returns every field the company profile exposes (trust score, star distribution, verification and reply stats, categories, contact email, phone and address, a review summary and similar companies), plus the full text of individual reviews with author, reviewer profile, rating, dates, verification, photos and company replies. You can target companies four ways (domain, direct URL, keyword search, or category browse) and filter reviews by star, language, date, verified status, reply presence and keyword.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Give the actor companies four ways: by website domain (companyDomains), by direct Trustpilot review URL (trustpilotUrls), by keyword search (searchQueries), or by category browse (categories, with optional country). For each company it writes one company record with the full profile and rating summary, and, when withReviews is on, one review record per collected customer review.

Company records carry the trust score, star rating, review counts, star distribution, categories, verification and reply statistics, consumer alerts, contact details when shown (email, phone, address), a review summary and similar companies. Review records carry the author, reviewer profile URL, country, rating, title, full text, language, verification status and source, likes, photos, experience and published dates, and any company reply with its own text and dates.

Trustpilot is fronted by a managed challenge; the actor clears it internally and parses the page's embedded data, so one fetch returns the full profile plus a page of reviews. Missing source values are returned as null; nothing is invented. Use stars, language, dateFilter, sort, verifiedReviewsOnly, repliesOnly and reviewKeyword to target exactly the reviews you need.

Quickstart

Open the actor, paste this into the input, and press Run. It returns Amazon's company profile plus up to 10 recent reviews.

{
"companyDomains": ["amazon.com"],
"withReviews": true,
"maxReviews": 10,
"sort": "recency"
}

Provide at least one of companyDomains, trustpilotUrls, searchQueries or categories. Turn withReviews off for company profiles and rating summaries only.

Input reference

FieldTypeRequiredDefaultDescription
companyDomainsstring[]conditional["amazon.com"]Company website domains to look up, for example amazon.com, booking.com. One per entry.
trustpilotUrlsstring[]conditional(empty)Direct Trustpilot review page URLs, for example https://www.trustpilot.com/review/www.booking.com.
searchQueriesstring[]conditional(empty)Find companies by name or keyword, for example nike, hosting, insurance. Returns matching companies up to maxCompanies.
categoriesstring[]conditional(empty)Browse companies under a Trustpilot category slug, for example electronics_technology, bank.
countrystringno(all)ISO 3166-1 alpha-2 code to localize searchQueries and categories, for example US, GB, DE.
maxCompaniesintegerno10Maximum companies to process across all inputs. Free plans are capped at 10.
withReviewsbooleannotrueCollect individual reviews per company. Off returns company profile and rating summary only.
maxReviewsintegerno100Maximum reviews per company (20 per page). Only used with withReviews. Free plans are capped at 10.
sortenumno(default)Review order: recency or relevance.
starsstring[]no(all)Only collect reviews with these star ratings. One or more of 1 to 5.
dateFilterenumno(all)Only reviews within last30days, last3months, last6months or last12months.
languagestringno(all)Restrict reviews to one language by ISO code, for example en, es, de.
languagesstring[]no(all)Restrict reviews to multiple languages by ISO code.
verifiedReviewsOnlybooleannofalseCollect only verified reviews.
repliesOnlybooleannofalseKeep only reviews that have a company reply.
reviewKeywordstringno(none)Only reviews whose text contains this keyword, for example delivery, refund.

Output reference

The dataset mixes two record types, distinguished by recordType. Types: string, number, integer, boolean, string[], object, object[], or null when absent.

Company record (recordType: "company"):

FieldTypeDescription
companyId / businessUnitIdstringTrustpilot business unit identifier.
companyNamestringCompany name.
domainstringCompany domain on Trustpilot.
websiteUrl / websiteTitlestringCompany website and its listed title.
trustpilotUrlstringTrustpilot review page URL.
imageUrlstringCompany image/screenshot URL.
countryCodestringTrustpilot profile country code.
trustScorenumberTrustpilot trust score.
ratingnumberStar rating.
reviewsCount / reviewsLast12MonthsintegerTotal reviews and reviews in the last 12 months.
ratingDistributionobjectStar breakdown: total, oneStar to fiveStar.
categoriesstring[]Company categories.
categoryPathstringFull category path.
isClaimed / claimedDateboolean / stringWhether the profile is claimed, and when.
verifiedByGoogle / verifiedBusiness / verifiedPaymentMethod / verifiedUserIdentitybooleanVerification flags.
isClosed / isTemporarilyClosedbooleanClosure status.
isCollectingReviews / hasCollectedIncentivisedReviews / isUsingPaidFeatures / isUsingAIResponsesbooleanReview-program and paid-feature flags.
replyPercentage / averageDaysToReplynumberCompany reply statistics.
negativeReviewsWithRepliesCount / totalNegativeReviewsCountintegerNegative-review reply stats.
lastReplyToNegativeReviewstringDate of last reply to a negative review, or null.
locationsCountintegerNumber of listed locations.
consumerAlertsarrayConsumer alerts on the profile.
reviewSummarystringTrustpilot's aggregated review summary.
similarCompaniesobject[]Similar companies with name, domain, url, trustScore, rating, reviewsCount.
email / phone / address / city / zipCode / countrystringCompany contact details when shown, else null.

Review record (recordType: "review"):

FieldTypeDescription
companyName / domainstringThe company the review belongs to.
reviewIdstringUnique review id.
author / authorIdstringReview author name and id.
authorProfileUrlstringReviewer profile URL.
authorCountrystringAuthor country code.
authorReviewsCountintegerNumber of reviews the author has written.
authorHasImage / authorIsVerifiedbooleanReviewer avatar and verification flags.
ratingintegerReview star rating (1 to 5).
title / textstringReview title and full text.
languagestringReview language code.
locationstringReviewer location when shown.
isVerified / verificationLevel / verificationSourceboolean / stringVerification status, level and source.
verifiedDatestringWhen the review was verified.
mergedLabelstringMerged-review label, or null.
sourcestringReview source, for example Organic.
likesintegerNumber of likes.
photosstring[]Review photo URLs when present.
consumerReviewsOnSameDomain / consumerReviewsOnSameLocationintegerAuthor review counts for this domain/location.
productReviewsarrayProduct-level reviews attached to the review.
experienceDate / publishedDate / updatedDate / submittedDatestringReview dates.
hasReplybooleanWhether the review has a company reply.
replyobjectCompany reply with message, publishedDate, updatedDate, or null.
reviewUrlstringDirect review URL.

Both record types also include observedAt (ISO 8601 collection timestamp) and error (null on success; populated on a failed run, which is not charged).

Example output record

Real review record from a live run, a one-star review with a company reply:

{
"recordType": "review",
"companyName": "IONOS | ionos.de",
"domain": "ionos.de",
"reviewId": "6a848195879727d7b9dd19a1",
"author": "Alexander Minev",
"authorId": "62f4ee211d08f400128b5321",
"authorProfileUrl": "https://www.trustpilot.com/users/62f4ee211d08f400128b5321",
"authorCountry": "BG",
"authorReviewsCount": 6,
"authorHasImage": false,
"authorIsVerified": false,
"rating": 1,
"title": "Predatory Auto-Renewal Tactics, Arbitrary Add-On Fees, and Zero Customer Goodwill",
"text": "IONOS employs predatory auto-renewal practices by locking accounts into full-year commitments without flexibility, tacking on a 15.13 EUR charge for an internal proprietary feature and an immediate reminder fee...",
"language": "en",
"isVerified": false,
"verificationLevel": "not-verified",
"verificationSource": "invitation",
"verifiedDate": "2026-08-18T18:00:21.000Z",
"source": "Organic",
"likes": 0,
"photos": [],
"consumerReviewsOnSameDomain": 1,
"experienceDate": "2026-08-15",
"publishedDate": "2026-08-18T18:00:21.000Z",
"updatedDate": null,
"hasReply": true,
"reply": {
"message": "Hello Alexander Minev, thank you for your feedback. I assume your main complaint concerns the domain renewal fees...",
"publishedDate": "2026-08-19T08:14:43.000Z",
"updatedDate": null
},
"reviewUrl": "https://www.trustpilot.com/reviews/6a848195879727d7b9dd19a1",
"observedAt": "2026-08-25T22:59:54.845Z",
"error": null
}

How we compare

An objective look at the direct Trustpilot scrapers on the Apify Store. We built this actor to be a superset on input filters, valid output fields and company-metadata depth. Where a competitor is genuinely cheaper or more adopted, we say so.

CapabilityThis actorcasper11515automation-labagentsmemo23getwally.net
Input by domainYesYesYesURL onlyYesURL only
Input by direct URLYesYesYesYesYesYes
Company keyword searchYesNoNoNoNoNo
Category browseYesNoNoNoNoNo
Star / language / date / verified filtersYesYesYesNodate onlydate only
Keyword-in-reviews filterYesNoNoNoNoNo
Replies-only filterYesNoYesNoNoNo
Company profile depth (email, phone, address, verification, reply stats, distribution)FullPartialMinimalPartialFullNone
Reviewer detail (profile URL, review count, verified, country)YesYesYesYesYesMinimal
Company replies (text + dates)YesYesYesYesYesNo
Similar companies + AI review summaryYesNoNoNoNoNo
Bypasses the ~200-review capYesYesYesYesYesPartial
Pricing modelPay per result$20/mo rentalPay per reviewPay per review$22/mo rentalPay per result

Where competitors still win, honestly:

  • automation-lab is cheaper per review at high volume and has the most monthly-active users of the group; if you only need plain review text at the lowest volume price, it is a strong option.
  • casper11515 has the most total installs and exposes review photo URLs as a first-class field; some reviews here return photos, but that field is only populated when Trustpilot attaches images.
  • agents advertises the fastest raw review throughput (100 to 200 reviews per second). Our per-company page fetch clears an anti-bot challenge, so throughput is lower; we trade some speed for the deepest field set and the search/category discovery no one else has.
  • getwally.net has the cheapest flat headline rate for bare review text.

What no competitor combines and this actor does: keyword search and category discovery, the full contact-enriched company profile (email, phone, address, all verification flags, star distribution and reply statistics), reviewer profile detail, keyword and replies-only review filters, similar companies and the AI review summary, all in one run.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~trustpilot-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"companyDomains":["amazon.com"],"withReviews":true,"maxReviews":25,"stars":["1"],"sort":"recency"}'

Discover companies by search and collect reviews:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~trustpilot-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["hosting"],"maxCompanies":5,"maxReviews":50,"languages":["en"],"verifiedReviewsOnly":true}'

Apify CLI:

apify call scrapers_lat/trustpilot-scraper \
--input '{"categories":["electronics_technology"],"country":"US","withReviews":false}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per record returned: one result event per company profile and one details event per review. See the pricing tab for current per-record prices.
  • No charge on failure. If a company cannot be reached, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable records.
  • Free Apify plans are capped at 10 companies and 10 reviews per company per run. Upgrade for higher limits.

FAQ and troubleshooting

How do I find companies without knowing their domain? Use searchQueries with a name or keyword, or categories with a Trustpilot category slug. Each discovered company returns a full profile, and reviews when withReviews is on.

A run returned only a company record and no reviews. Why? withReviews was off, or a filter (star, language, date, verified, replies-only, keyword) excluded every review. Loosen the filters. Zero-result runs are not charged.

How do I get only negative reviews with a company reply? Set stars to ["1","2"] and repliesOnly to true. Combine with language or dateFilter to narrow further.

Do I get company replies to reviews? Yes. When a review has a company reply, hasReply is true and the reply object carries the reply text and its published and updated dates.

Can I look up a company by its Trustpilot page instead of a domain? Yes. Pass the review page URL in trustpilotUrls.

Is this an official Trustpilot tool? No. This actor is independent and has no affiliation with Trustpilot. It reads only data that is publicly visible on company and review pages. All trademarks belong to their owners.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Trustpilot. Accesses only publicly available company and review data. All trademarks belong to their owners.