Trustpilot Reviews API — Company Reviews as JSON | FetchLayer
Unofficial Third-party API
5 endpoints live

The TrustScore is a summary.
Get the reviews underneath.

Reviews & replies TrustScore & star distribution Filter by rating, language, date AI-ready JSON

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.

Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

494,175 served today

POST /trustpilot/company-reviews
200 OK

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"]
}

Used by developers at

Individual developers or teams — not official partnerships

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.

FetchLayer Research Chat

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
Research reviews in Chat

No code or setup required · Uses your FetchLayer credits

Trustpilot research

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.

Y

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

CSV

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.

  1. 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.

  2. 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.

  3. 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

Live

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.

1
Pick your editor
2
Agent discovers 5+ tools
3
Query any platform instantly
connect your agent ~30s

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 key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Pull this company’s one- and two-star Trustpilot reviews from the last three months and tell me what customers keep complaining about.

Used fetchlayer.trustpilot_company_reviews

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.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 5 endpoints exposed as tools
Official & maintained
Free to install

Use cases

What teams build with Trustpilot reviews.

Same API, endless applications. Here is what teams ship with public company reviews.

01

Competitor benchmarking

Compare TrustScores, star distributions and recurring complaints across every company in your category, not just yours.

competitorsreviewsresearch
02

AI agent context

Give Claude, Codex, or your MCP agent structured reviews with ratings, languages and company replies attached.

llmagentsmcp
03

Reputation monitoring

Poll one- and two-star reviews on a schedule and alert the right team when a complaint cluster starts to grow.

alertsmonitoringcron
04

Customer experience research

Turn recurring service failures, praise and delivery complaints into a clean CX dataset instead of screenshots.

feedbackcxinsight
05

Reply auditing

Track how often and how fast a company answers negative reviews, and export the unanswered ones as a worklist.

repliessupportcsv
06

Market research

Read public reviews across a category or language to understand what customers value before entering a market.

marketslocalesinsight

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
Read any company, not just your ownYour own profileYou build it
No Trustpilot Business accountPaid plan requiredYou build it
Filter by star, language, date, keywordLimitedYou build it
Caps reported in the response✓ notes[]Not surfacedYou discover it
Ready for AI and MCP workflowsYour integrationYour 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.

Try free

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
Get API key

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.