The TrustScore is a summary.
Get the reviews underneath.
Search Trustpilot companies, read their TrustScore and full star distribution, and pull the public reviews behind the number — text, ratings, languages, reviewer details and the company's replies — as structured JSON. No Trustpilot Business account, no invitation, no OAuth app.
Trusted by developers shipping real products.
494,175 served today
Request
$ curl -X POST \ https://api.fetchlayer.dev/trustpilot/company-reviews \ -H "Authorization: Bearer ss-your-key" \ -H "Content-Type: application/json" \ -d '{"company":"hellofresh.com","stars":[1,2]}'
Response
{
"trustScore": 4.2,
"totalReviewCount": 97539,
"reviews": [{
"rating": 1,
"title": "Box never arrived",
"text": "Ordered for Tuesday, nothing...",
"experiencedAt": "2026-08-30",
"reply": { "message": "We're sorry..." }
}],
"notes": ["Capped at 200 per filter set"]
} Built for feedback workflows
Fetch the public signal. Use it wherever your team works.
Brand name to company domain
Search by name, brand or keyword and get the domain, TrustScore, review count, category, location and published contact details for each match — the domain every other endpoint takes.
TrustScore with the distribution behind it
One profile call returns the score, total reviews, reviews in the last twelve months, and the full one-to-five star breakdown — so a 4.2 average stops hiding the size of its one-star tail.
Reviews with the company replies
Rating, title, text, language, date of experience, reviewer, verification status, and the reply where the company answered — plus how often and how fast it answers negative reviews at all.
Filter on every axis Trustpilot exposes
Star rating, review language, date window, verified reviewers only, replied-to only, a keyword in the text, sorted by recency or relevance. The same filters are what you partition on past the 200-review cap.
Caps that report themselves
Trustpilot serves at most 200 reviews per filter combination. Every response carries a notes array that says when that ceiling was hit or a walk stopped early, so a partial answer never looks like a complete one.
Paste a URL, get the request body
Hand any Trustpilot URL to resolve-url and it comes back as structured input — company, review or search, with the star, language, date and keyword filters it encodes. Free, and consumes no credit.
AI-ready JSON
Pass review text, ratings and replies to an LLM or an MCP agent to cluster complaints, track sentiment week over week, and write the summary — no HTML parsing, no wrapper code.
Benchmark a category with AI—then export the whole set to CSV.
Prefer not to write code? Give FetchLayer Research Chat a brand or a category, ask which complaints keep repeating and how your TrustScore compares, and turn the whole review set into a structured file for the board deck or the roadmap review.
- ✓Ask questions in plain English
- ✓Analyze themes, sentiment, and pain points
- ✓Download the structured results as CSV or JSON
No code or setup required · Uses your FetchLayer credits
Compare the TrustScores of the top five meal-kit brands, pull their one- and two-star reviews from the last three months, group the complaints by theme, then export it as CSV.
I pulled the five profiles, partitioned the negative reviews by star rating to get past the 200-review cap, and grouped 1,140 complaints into seven themes. Delivery reliability leads in four of the five brands. The review-level breakdown is ready to download.
trustpilot-category-benchmark.csv
1,140 reviews · 12 columns · ready to download
Solutions
Build the workflow around the feedback.
Compare the local picture
Pull public Google Maps reviews for the same brand and see where the two audiences disagree.
Explore →Read the product side
App Store reviews in the same JSON shape, for when the complaint is about the app rather than the company.
Explore →Find the unfiltered version
Search public discussions for the objections customers raise before they ever leave a review.
Explore →From raw feedback to action
One request is the start of the workflow.
Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.
- 01
Resolve the company
Search a brand name to get its Trustpilot domain, or paste a profile URL you already have and let resolve-url return the domain for free.
- 02
Read the distribution, then partition
Pull the profile for the star and language breakdown, then split the reviews pull along those buckets so the 200-review ceiling costs you nothing.
- 03
Turn reviews into a decision
Cluster the complaints, benchmark a competitor’s score and reply rate, alert on a new one-star run, or hand the JSON to an agent to write the brief.
MCP & agents
Your AI already knows
how to use this.
Use the Trustpilot endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.
Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.
Get your free API keyFree tier · no credit card · any MCP host
Pull this company’s one- and two-star Trustpilot reviews from the last three months and tell me what customers keep complaining about.
Pulled 312 negative reviews, partitioned by star rating to clear the 200-per-filter cap. Delivery reliability accounts for 41% of them, billing for 22%, and the company replied to 92% within two days.
Works with every MCP-compatible tool
Use cases
What teams build with Trustpilot reviews.
Same API, endless applications. Here is what teams ship with public company reviews.
Competitor benchmarking
Compare TrustScores, star distributions and recurring complaints across every company in your category, not just yours.
AI agent context
Give Claude, Codex, or your MCP agent structured reviews with ratings, languages and company replies attached.
Reputation monitoring
Poll one- and two-star reviews on a schedule and alert the right team when a complaint cluster starts to grow.
Customer experience research
Turn recurring service failures, praise and delivery complaints into a clean CX dataset instead of screenshots.
Reply auditing
Track how often and how fast a company answers negative reviews, and export the unanswered ones as a worklist.
Market research
Read public reviews across a category or language to understand what customers value before entering a market.
Compare approaches
Spend time on the insight, not the collection layer.
| What you need | FetchLayer | Official API | Build it yourself |
|---|---|---|---|
| Read any company, not just your own | ✓ | Your own profile | You build it |
| No Trustpilot Business account | ✓ | Paid plan required | You build it |
| Filter by star, language, date, keyword | ✓ | Limited | You build it |
| Caps reported in the response | ✓ notes[] | Not surfaced | You discover it |
| Ready for AI and MCP workflows | ✓ | Your integration | Your integration |
FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.
Pricing
Start free. Scale when ready.
Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.
Free plan — 30 requests
Verify responses, inspect the API, no credit card required.
Pay as you go
$1.99
per 1,000 requests
$0.00199 per request · credits never expire
How credits work — no multipliers
One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.
- No multipliers — 1 request = 1 credit
- No monthly commitment
- Credits never expire
- Same API & MCP access as subscribers
- ∞ req/min, ∞ API keys
∞
Expiry
Credits stay until you use them. No monthly reset, no pressure to hit a quota.
0
Commitments
No subscription, no contract, no minimums. Start, pause, or scale whenever.
100%
Access
Every endpoint and MCP included. Not a limited tier — same data as any subscriber.
API reference
Every parameter, documented.
All requests are POST with a JSON body and Bearer auth header.
POST /trustpilot/search-companies Find companies by name, brand or keyword. Returns each match with its domain, TrustScore, review count, category, location and contact details. The domain is the identifier every other endpoint takes.
query* string Company name, brand, or keyword to look up limit number Maximum companies returned (max 1000), or -1 for everything available. Defaults to 10. pages number Pages of results to collect in one request (max 100). cursor string Resume from a previous response's nextCursor. delayMs number Milliseconds to wait between pages (max 30000). POST /trustpilot/company-profile A company’s rating summary: TrustScore, total reviews, reviews in the last twelve months, the full one-to-five star distribution, review count per language, claimed and collecting status, negative-reply rate, and any consumer alert against it. Call it first — the star and language breakdowns are how you plan a reviews pull that does not lose data to the 200-review ceiling.
company* string Company domain (e.g. hellofresh.com), or a Trustpilot company URL POST /trustpilot/company-reviews A company’s reviews with rating, title, text, language, date of experience, reviewer and the company’s reply. Trustpilot serves at most 200 reviews per filter combination, so read past that by partitioning — one request per star rating, language or date window — rather than by raising limit. The response reports the cap in notes.
company* string Company domain (e.g. hellofresh.com), or a Trustpilot company URL stars number[] Only these star ratings, e.g. [1, 2]. The primary axis for partitioning past the 200-review cap. language string Two-letter review language code, or "all". Defaults to all. dateWindow string 'all' | 'last30days' | 'last3months' | 'last6months'. Defaults to all. sort string 'recency' (default, newest first) | 'relevance'. verifiedOnly boolean Only reviews whose reviewer was verified by Trustpilot. repliedOnly boolean Only reviews the company has replied to. search string Only reviews whose text matches this keyword (max 200 characters). limit number Maximum reviews returned (max 200), or -1 for everything available. Defaults to 20. pages number Pages of reviews to collect in one request (max 10). cursor string Resume from a previous response's nextCursor. POST /trustpilot/review One review in full from its id or Trustpilot link: rating, title, complete text, dates, reviewer, verification status and the company reply, plus the company it is about. The only route that reaches a review sitting past the 200-review listing depth.
review* string Review id, or a Trustpilot review URL containing one POST /trustpilot/resolve-url Parse any Trustpilot URL into structured input — company, review or search, plus the star, language, date window, sort and keyword filters it encodes. Free: it never consumes a credit.
url* string Any Trustpilot URL, to be parsed into structured input Fields marked * are required. Full API reference →
FAQ
Common questions.
Is Trustpilot review data public?
Yes. Trustpilot publishes company profiles, TrustScores and consumer reviews so anyone can read them. FetchLayer retrieves those publicly available records and returns them as structured JSON. FetchLayer is not affiliated with, endorsed by, or sponsored by Trustpilot.
Do I need a Trustpilot Business account?
No. You authenticate with your FetchLayer API key — the same Bearer token you use for every other platform. There is no Trustpilot Business plan to buy, no OAuth app to register, and no invitation required. That also means you can read any company, not only your own.
Why do I only get 200 reviews for a company with thousands?
Because that is Trustpilot’s ceiling. An anonymous reader gets at most 200 reviews per filter combination, whatever the company’s total — a company with 97,539 reviews still returns 200, and nothing on the page explains why. Raising limit does not help. Partition instead: run one request per star rating, one per language, or one per date window, and merge the results. A 1-star pull plus a 2-star pull returns 400 reviews where a single unfiltered pull returns 200. When a response hits the ceiling it says so in notes.
How do I plan the partitions?
Call /company-profile first. It returns the full one-to-five star distribution and the review count per language, so you know exactly how many reviews sit in each bucket before you spend a request on it. Buckets under 200 come back complete in one call; a bucket over 200 needs a second axis — usually a date window on top of the star rating.
Can I reach a review that is older than the listing goes?
Yes, through /review. It fetches a single review by id or by its Trustpilot link and returns it in full — rating, title, complete text, dates, reviewer, verification status and the company’s reply. It is the only route that reaches a review sitting past the 200-review listing depth, so if you already hold ids from an earlier crawl you can still refresh those reviews individually.
What does the notes field do?
Every response carries a notes array, and it is load-bearing rather than decorative. It reports the caveats that would otherwise be invisible: a list that hit the 200-review cap, a walk that stopped early, a filter that narrowed the set, an upstream limit on a broad search. A well-formed 200-review response looks complete whether or not it is, so read notes on every call instead of only when something looks wrong.
What identifiers can I pass in?
For a company: its domain, like hellofresh.com, or any Trustpilot company URL. For a single review: a review id, or a Trustpilot review link. If you only have a brand name, /search-companies turns it into a domain, and /resolve-url parses any Trustpilot URL into the domain, review id or search filters it encodes — for free, with no credit consumed.
Can I use this with an AI model or MCP agent?
Yes. Every response is structured JSON you can store, embed, or hand to an LLM, and all five endpoints are exposed through FetchLayer’s MCP server — so an agent can find a competitor, read its one-star reviews, and summarise the recurring complaints without any wrapper code.
How does billing work?
One API request equals one credit, the same as every other FetchLayer platform — no multipliers. Each page walked counts as one request, so pages: 10 bills as ten. Parsing a Trustpilot URL with /resolve-url is free and consumes nothing. Trustpilot is in Beta while coverage expands, at standard pricing.
Start pulling Trustpilot review data today.
Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.
Used by developers at
Individual developers or teams — not official partnerships