Trustpilot APItrustpilot.com ↗
Access Trustpilot company reviews, TrustScores, rating distributions, AI summaries, categories, and user profiles via 8 structured endpoints.
What is the Trustpilot API?
The Trustpilot API covers 8 endpoints that return company reviews, TrustScores, rating distributions, AI-generated summaries, category listings, and public user profiles from Trustpilot. The get_company_reviews endpoint supports filtering by star rating (1–5), keyword search, and sort order, while get_company_overview returns an AI summary alongside the full rating breakdown and recent reviews in a single call.
curl -X GET 'https://api.parse.bot/scraper/0b40cf9a-5885-41d4-abff-e1fabe63b9dc/search_companies?page=1&limit=5&query=amazon' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace trustpilot-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Trustpilot API walkthrough — search companies, browse reviews, explore categories."""
from parse_apis.trustpilot_api import Trustpilot, Stars, Sort, CompanyNotFound
client = Trustpilot()
# Search for companies by keyword, capped at 5 results.
for company in client.companies.search(query="amazon", limit=5):
print(company.name, company.domain, company.trust_score, company.review_count)
# Fetch a specific company by domain and read its AI review summary.
amazon = client.companies.get(domain="www.amazon.com")
summary = amazon.review_summary()
print(summary.ai_summary.summary[:120])
# Browse 1-star reviews sorted by recency.
for review in amazon.reviews(stars=Stars.ONE, sort=Sort.RECENCY, limit=3):
print(review.title, review.rating, review.reviewer.name)
# List categories and drill into the first one's companies.
category = client.categories.list(limit=1).first()
if category:
for biz in category.companies(limit=3):
print(biz.name, biz.trust_score, biz.review_count)
# Typed error handling: catch CompanyNotFound for an invalid domain.
try:
client.companies.get(domain="totally-fake-domain-xyz.invalid")
except CompanyNotFound as exc:
print(f"Company not found: {exc.domain}")
# Look up a user profile by ID.
profile = client.userprofiles.get(user_id="6905f71951678e15167fd320")
print(profile.name, profile.review_count)
for user_review in profile.reviews:
print(user_review.title, user_review.rating, user_review.company.name)
print("exercised: companies.search / companies.get / reviews / review_summary / categories.list / category.companies / userprofiles.get")
Search for companies by name or keyword. Returns basic company info including domain, trust score, star rating, and review count.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number |
| limit | integer | Results per page (max 20) |
| queryrequired | string | Search keyword or company name |
{
"type": "object",
"fields": {
"companies": "array of company objects with id, name, domain, trust_score, stars, review_count, website_url, verified, categories, and location",
"total_hits": "integer total number of matching companies",
"total_pages": "integer total number of pages"
},
"sample": {
"data": {
"companies": [
{
"id": "46ad346800006400050092d0",
"name": "Amazon",
"stars": 1.5,
"domain": "www.amazon.com",
"location": {
"city": null,
"country": "United Kingdom",
"countryCode": "GB"
},
"verified": true,
"categories": [
"Book Store",
"Clothing Store"
],
"trust_score": 1.7,
"website_url": "https://www.amazon.com",
"review_count": 46519
}
],
"total_hits": 550,
"total_pages": 110
},
"status": "success"
}
}About the Trustpilot API
Company Search and Profiles
The search_companies endpoint accepts a query string and returns paginated results with each company's id, name, domain, trust_score, stars, review_count, verified status, categories, and location. This is the right starting point when you have a company name but not its Trustpilot domain identifier. Once you have a domain, get_company_overview returns the full profile: TrustScore, star rating, total review count, a rating_distribution object breaking down counts per star level, an ai_summary object with generated text and model version, and an initial_reviews array of recent reviews.
Reviews and Responses
get_company_reviews returns paginated review objects, each containing id, rating, title, text, date, reviewer, reply, verified, and source. The optional stars parameter filters to a specific rating (1–5), keyword narrows to reviews containing a term, and sort controls ordering (e.g., recency). The pagination object in the response exposes current_page, total_pages, and total_reviews. If you specifically need reviews that received a company reply, get_company_responses isolates those, returning each review's reply object with response text and date.
Categories and Category Browsing
get_categories returns the full Trustpilot category tree: top-level category objects with categoryId, displayName, and a subCategories array. The slug values from that response feed directly into get_companies_by_category, which lists companies sorted by trust score within a given category, returning id, name, domain, trust_score, stars, review_count, and location alongside a pagination object.
AI Summaries, Topics, and User Profiles
get_company_review_summary returns the ai_summary object, a topics object categorizing common review themes, and the rating_distribution — useful when you want the analytical layer without pulling individual reviews. get_user_profile accepts a user_id (obtainable from the reviewer.id field in any review result) and returns the user's public profile — name, country, review_count — alongside their full review history across companies.
The Trustpilot API is a managed, monitored endpoint for trustpilot.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when trustpilot.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official trustpilot.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate and compare TrustScores across competitor companies using
search_companiesandget_company_overview - Monitor negative reviews in real time by polling
get_company_reviewsfiltered tostars=1orstars=2 - Build a category-level reputation benchmark by pulling all companies in a category via
get_companies_by_categoryand comparingtrust_scorevalues - Track how actively a company engages with feedback using
get_company_responsesto measure reply frequency and response dates - Analyze recurring customer themes by extracting the
topicsobject fromget_company_review_summaryacross multiple companies - Enrich a B2B dataset with verified review counts and star ratings by querying
get_company_overviewfor each domain - Trace a reviewer's posting history across businesses using
get_user_profileto detect patterns or cross-reference feedback
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Trustpilot have an official developer API?+
What does `get_company_reviews` return beyond the review text?+
id, rating, title, text, date, reviewer (with the reviewer's public ID and name), reply (company response text and date if present), verified status, and source. You can filter results by stars (1–5), keyword, and sort order, and the pagination object tells you total_reviews and total_pages.Does the API return historical review data going back many years?+
get_company_reviews endpoint returns reviews sorted by recency by default, with standard pagination through available pages. Very old reviews are accessible by paginating deeper, but there is no date-range filter parameter currently. You can fork this API on Parse and revise it to add date-range filtering if your use case requires bounded time windows.Is claimed/unclaimed business status available for companies?+
search_companies and related endpoints return a verified boolean per company, which reflects Trustpilot's verification indicator. Detailed claim status, business tier, or profile completeness metrics are not currently exposed. You can fork the API on Parse and revise it to surface additional profile metadata fields.Can I retrieve reviews written in a specific language?+
get_company_reviews supports filtering by stars, keyword, and sort, but not by review language. You can fork this API on Parse and revise it to add a language parameter if your application targets a specific locale.