Trustpilot API: Get company reviews
Reads recent public Trustpilot reviews for a company by name, website or Trustpilot link, in every language, with its TrustScore, ratings, reviewer details and company replies. Reviews follow the chosen sort (most recent or most relevant) and star filters, starting from a chosen results page.
Unofficial. Not affiliated with or endorsed by Trustpilot.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Page optional
page Starting results page, for example 2.
1 (default)
Whole number 1 or more.
- Sort optional
sort Review order, for example most_recent.
most_recent (default)
One of
most_recent,most_relevant.- Stars optional
stars Star ratings to include, for example [1, 5]. Defaults to all ratings.
- 1
- 5
List of whole numbers. Default
[1,2,3,4,5].- Company, required
company Company name or website, for example Booking.com.
Booking.com
- Max Results optional
max_results Maximum reviews to return starting from the selected page, for example 20.
100
Whole number from 1 to 100. Default
20.
Input as JSON
{ "stars": [ 1, 5 ], "company": "Booking.com", "max_results": 100}Output
{ "reviews": [ { "text": "**Service client Booking.com : inexistant quand il y a un vrai problème**\n\nAprès avoir réservé un hôtel via Booking.com, j’ai été contraint de **quitter l’établissement en pleine nuit à cause de punaises de lit présentes dans le lit**.\n\nJ’ai immédiatement effectué une réclamation auprès de Booking l…", "stars": 1, "title": "**Service client Booking.com ", "verified": false, "reply_date": null, "date_posted": "2026-09-28", "review_link": "https://www.trustpilot.com/reviews/6abaaabd2ae54be1d5250402" , "reviewer_name": "patrick LEKAVSKI", "reviewer_country": "France", "company_reply_text": null, "date_of_experience": "2026-08-26" }, { "text": "Ich kann booking.com keine Email und keine Nachricht senden. Auch kann ich nicht telefonieren. Immer wieder steht geschrieben man kann eine Email oder Nachricht senden. WO?? Man wird ständing in den Hilfseiten herumgeschleust. Keine direkte Kontaktmöglichkeit, nur Hilfeseiten zum Lesen.\n\nIm April 20…", "stars": 1, "title": "Ich kann booking.com keine Email und…", "verified": false, "reply_date": null, "date_posted": "2026-09-28", "review_link": "https://www.trustpilot.com/reviews/6abaa62d18b07a0680f9c564" , "reviewer_name": "Robi S.", "reviewer_country": "Switzerland", "company_reply_text": null, "date_of_experience": "2026-09-28" }, { "text": "I tried to contact them 4 times during my stay for urgent support and I never received a response. ", "stars": 1, "title": "Terrible Customer Support", "verified": false, "reply_date": null, "date_posted": "2026-09-28", "review_link": "https://www.trustpilot.com/reviews/6abaa33a6530cc6a37b40e57" , "reviewer_name": "Daniella", "reviewer_country": "United Kingdom", "company_reply_text": null, "date_of_experience": "2026-09-14" } ], "trust_score": 1.4, "company_name": "Booking.com"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"trustpilot.com/get_company_reviews","input":{"stars":[1,5],"company":"Booking.com","max_results":100}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "trustpilot.com/get_company_reviews" , "input": { "stars": [ 1, 5 ], "company": "Booking.com", "max_results": 100 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "trustpilot.com/get_company_reviews" , "input": { "stars": [ 1, 5 ], "company": "Booking.com", "max_results": 100 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run trustpilot.com/get_company_reviews# with {"stars":[1,5],"company":"Booking.com","max_results":100}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "company" ], "properties": { "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Starting results page, for example 2." }, "sort": { "enum": [ "most_recent", "most_relevant" ], "type": "string", "default": "most_recent", "description": "Review order, for example most_recent." }, "stars": { "type": "array", "items": { "type": "integer", "maximum": 5, "minimum": 1 }, "default": [ 1, 2, 3, 4, 5 ], "description": "Star ratings to include, for example [1, 5]. Defaults to all ratings." }, "company": { "type": "string", "description": "Company name or website, for example Booking.com." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum reviews to return starting from the selected page, for example 20." } }}Output schema
{ "type": "object", "required": [ "company_name", "trust_score", "reviews" ], "properties": { "reviews": { "type": "array", "items": { "type": "object", "required": [ "reviewer_name", "reviewer_country", "stars", "title", "text", "date_of_experience", "date_posted", "verified", "company_reply_text", "reply_date", "review_link" ], "properties": { "text": { "type": [ "string", "null" ] }, "stars": { "type": "integer" }, "title": { "type": [ "string", "null" ] }, "verified": { "type": "boolean" }, "reply_date": { "type": [ "string", "null" ] }, "date_posted": { "type": [ "string", "null" ] }, "review_link": { "type": "string" }, "reviewer_name": { "type": [ "string", "null" ] }, "reviewer_country": { "type": [ "string", "null" ] }, "company_reply_text": { "type": [ "string", "null" ] }, "date_of_experience": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "trust_score": { "type": [ "number", "null" ] }, "company_name": { "type": "string" } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
trustpilot.com/get_company_reviews- Returns
- company name, TrustScore, reviews (reviewer name and country, stars, title, text, experience and posting dates, verified, company reply and its date, review link)
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method trustpilot.com/get_company_reviews with the inputs above.
Ask your agent
- What are people saying about Revolut lately? Pull the 30 most recent customer reviews with star ratings and any replies from the company.
- Show me only the 1-star and 2-star Trustpilot reviews for zalando.com, newest first, so I can see the common complaints.
- I need the TrustScore for Airbnb plus the most relevant reviews, around 50 of them, including reviewer country and whether they're verified.
- Grab page 3 of the latest 5-star reviews for Gymshark — reviewer names, titles, review text and experience dates.
- Check Trustpilot for Ryanair: give me up to 100 recent reviews across all ratings and note which ones got a response from the airline and when.
See more
All Trustpilot methodsGets a company's Trustpilot rating summary from its name or website: TrustScore, rating label, total reviews, star breakdown, categories, claimed status, reply statistics and location when shown.
trustpilot.com/get_company_ratingFinds companies on Trustpilot by name or what they do, with TrustScore, review count, categories, location, logo and links. A preferred country moves companies listed in that country to the front.
trustpilot.com/search_companiesGets the latest traveler reviews for a hotel, restaurant or attraction in a city (by name or Tripadvisor listing link), with the place's overall rating and review count. Dates of visit show the month and year when provided.
tripadvisor.com/get_reviewsLooks up a company on Indeed and returns its overall employee rating, number of ratings, category ratings and CEO approval.
indeed.com/get_company_reviewsGets the newest public G2 reviews for a software product, with reviewer details and review text, plus the product's overall rating and review count when G2's profile shows them. The public feed exposes up to 25 recent reviews.
g2.com/get_product_reviewsFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviewsGets public user reviews for an Android app on Google Play. The app can be given by name, Play Store link, or app ID.
play.google.com/get_app_reviewsLists a company's recent public LinkedIn posts in page order, from its name or LinkedIn company page link: post text, approximate date, reactions, comments, image and link. Only updates shown on the signed-out company page are available.
linkedin.com/list_company_posts