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.

Start building free
Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

9,199,500 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.

One command. Your agent does the rest.

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.

Claude Code Codex

1 Run one command, then sign in

$ npx fetchlayer

◇  Agents

│  Claude Code and Codex

◇  Signed in as you@company.com

◇  Connected

│  ✓ Claude Code  ✓ Codex

It opens a sign-in page in your browser. New here? Signing in creates your free account.

2 Ask

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

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.

No key to copy and nothing to install. New accounts are free, with no credit card.

How it works
The same command connects
Cursor
VS Code
Antigravity
OpenCode
Hermes
ChatGPT, Perplexity, the Claude app and others

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 own✓Your own profileYou build it
No Trustpilot Business account✓Paid plan requiredYou build it
Filter by star, language, date, keyword✓LimitedYou build it
Caps reported in the response✓ notes[]Not surfacedYou discover it
Ready for AI and MCP workflows✓Your integrationYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Start free. Scale when ready.

Try it free, buy credits as you go, or take a monthly plan when your volume is steady.

Free

$0

30 requests

Enough to call the platforms you care about and read real responses before you pay anything.

  • Every platform and endpoint
  • REST and MCP
  • No credit card
Start free

Pay as you go

$1.99

per 1,000

Buy credits when you need them. They stay on your account until you use them.

  • Credits never expire
  • No monthly commitment
  • Same access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Monthly plan

Starter

$25

per month

15,000 requests a month, about 500 a day.

$1.67 per 1,000, $5 less than credits each month

  • ∞ req/min, ∞ API keys
Get started

1 page fetched is 1 credit

A normal call reads one page. Ask for more pages and each one is one more credit.

The same on every platform

No multiplier for harder targets, and no charge per result returned.

Nothing back, nothing billed

If a request does not return usable data, it costs 0 credits.

Not sure which volume fits?

15 minutes with the founder. Tell us the workload, we tell you what it needs.

Book a call

Guaranteed throughput on the platform you run on

A dedicated platform from $400/mo, plus $500 for each ~21 req/s. Every other platform on the same key. 99.8% uptime, 24-hour support on Slack or Telegram.

Build your plan

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, billed at half credit.

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.