# Trustpilot API

> Trustpilot returns company ratings, reviews, and search results as a workflow and API.

Trustpilot returns company rating summaries, including TrustScore and review statistics; Get company rating needs a company name or website. Get company reviews returns recent public reviews, ratings, reviewer details, and replies; it needs a company name or website.

- Page: https://fous.com/tools/trustpilot
- Handle: `@trustpilot`
- Category: [Commerce](https://fous.com/tools/category/commerce)
- Source website: https://trustpilot.com
- Last verified: Sep 28, 2026

## Methods

### Get company rating

Operation `get_company_rating`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a company’s Trustpilot rating summary from its name or website. Reply statistics and location are included when shown.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"trip.com"` | Company name or website, such as Booking.com or booking.com. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or website, such as Booking.com or booking.com.",
      "examples": [
        "trip.com",
        "Booking.com",
        "Airbnb"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "trip.com"
    },
    {
      "company": "Booking.com"
    },
    {
      "company": "Airbnb"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `website` | string or null | `"https://www.trip.com/"` | Company website. |
| `location` | string or null | `"Singapore"` | Company location, when shown. |
| `categories` | array |  | Company categories. |
| `trust_score` | number | `4.4` | TrustScore out of five, to one decimal place. |
| `company_name` | string | `"Trip.com"` | Company name on Trustpilot. |
| `total_reviews` | integer | `204667` | Total reviews. |
| `profile_claimed` | boolean | `true` | Whether the company claimed its profile. |
| `trustpilot_page` | string | `"https://www.trustpilot.com/review/trip.com"` | Link to the company’s Trustpilot page. |
| `one_star_percent` | integer or null | `13` | Share of one-star reviews, as displayed. |
| `two_star_percent` | integer or null | `2` | Share of two-star reviews, as displayed. |
| `five_star_percent` | integer or null | `72` | Share of five-star reviews, as displayed. |
| `four_star_percent` | integer or null | `10` | Share of four-star reviews, as displayed. |
| `star_rating_label` | string or null | `"Excellent"` | Rating label shown on Trustpilot. |
| `three_star_percent` | integer or null | `3` | Share of three-star reviews, as displayed. |
| `typical_reply_time` | string or null | `"Typically replies within 24 hours"` | Typical reply time, when shown. |
| `negative_review_reply_rate_percent` | integer or null | `99` | Percentage of negative reviews replied to, when shown. |

**Example input**

```json
{
  "company": "trip.com"
}
```

**Example output**

```json
{
  "website": "https://www.trip.com/",
  "location": "Singapore",
  "categories": [
    "Tour Agency",
    "Travel Agency",
    "Travel Aggregator"
  ],
  "trust_score": 4.4,
  "company_name": "Trip.com",
  "total_reviews": 204667,
  "profile_claimed": true,
  "trustpilot_page": "https://www.trustpilot.com/review/trip.com",
  "one_star_percent": 13,
  "two_star_percent": 2,
  "five_star_percent": 72,
  "four_star_percent": 10,
  "star_rating_label": "Excellent",
  "three_star_percent": 3,
  "typical_reply_time": "Typically replies within 24 hours",
  "negative_review_reply_rate_percent": 99
}
```

### Get company reviews

Operation `get_company_reviews`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Read recent public reviews for a company by name or website, with TrustScore, ratings, reviewer details, and company replies. Results follow the chosen sort and star filters.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | Starting results page, for example 2. |
| `sort` | string | no | `"most_relevant"` | Review order, for example most_recent. |
| `stars` | array | no |  | Star ratings to include, for example [1, 5]. Defaults to all ratings. |
| `company` | string | yes | `"Booking.com"` | Company name or website, for example Booking.com. |
| `max_results` | integer | no | `25` | Maximum reviews to return starting from the selected page, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Starting results page, for example 2.",
      "x-fous-developer": true,
      "examples": [
        2
      ]
    },
    "sort": {
      "enum": [
        "most_recent",
        "most_relevant"
      ],
      "type": "string",
      "default": "most_recent",
      "description": "Review order, for example most_recent.",
      "examples": [
        "most_relevant"
      ]
    },
    "stars": {
      "type": "array",
      "items": {
        "type": "integer",
        "maximum": 5,
        "minimum": 1,
        "examples": [
          1,
          5
        ],
        "description": "Use the same format as these example values: 1, 5."
      },
      "default": [
        1,
        2,
        3,
        4,
        5
      ],
      "maxItems": 5,
      "minItems": 1,
      "description": "Star ratings to include, for example [1, 5]. Defaults to all ratings.",
      "uniqueItems": true,
      "examples": [
        [
          1,
          5
        ]
      ]
    },
    "company": {
      "type": "string",
      "description": "Company name or website, for example Booking.com.",
      "examples": [
        "Booking.com",
        "Nike"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum reviews to return starting from the selected page, for example 20.",
      "x-fous-developer": true,
      "examples": [
        25
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Booking.com"
    },
    {
      "page": 2,
      "sort": "most_relevant",
      "stars": [
        1,
        5
      ],
      "company": "Nike",
      "max_results": 25
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `reviews` | array |  |  |
| `reviews[].text` | string or null | `"I tried to contact them 4 times during my stay for urgent support and I never received a response. "` |  |
| `reviews[].stars` | integer | `1` |  |
| `reviews[].title` | string or null | `"**Service client Booking.com "` |  |
| `reviews[].verified` | boolean | `false` |  |
| `reviews[].reply_date` | string or null |  |  |
| `reviews[].date_posted` | string or null | `"2026-09-28"` |  |
| `reviews[].review_link` | string | `"https://www.trustpilot.com/reviews/6abaaabd2ae54be1d5250402"` |  |
| `reviews[].reviewer_name` | string or null | `"patrick LEKAVSKI"` |  |
| `reviews[].reviewer_country` | string or null | `"France"` |  |
| `reviews[].company_reply_text` | string or null |  |  |
| `reviews[].date_of_experience` | string or null | `"2026-08-26"` |  |
| `trust_score` | number or null | `1.4` |  |
| `company_name` | string | `"Booking.com"` |  |

**Example input**

```json
{
  "company": "Booking.com"
}
```

**Example output**

```json
{
  "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 punai…",
      "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 H…",
      "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"
}
```

### Search companies

Operation `search_companies`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find companies by name or what they do on Trustpilot, with ratings, review counts, categories, location and links. Country preference prioritizes companies with a matching listed location.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `query` | string | yes | `"car insurance"` | Company name or what the company does, for example car insurance or Monzo. |
| `country` | string | no | `"United Kingdom"` | Country name or two-letter country code to prefer, for example United States or US. |
| `max_results` | integer | no | `12` | Maximum number of companies to return, for example 20 (up to 50). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Company name or what the company does, for example car insurance or Monzo.",
      "examples": [
        "car insurance",
        "Monzo",
        "zxqvnothere91237377"
      ]
    },
    "country": {
      "type": "string",
      "default": "",
      "description": "Country name or two-letter country code to prefer, for example United States or US.",
      "examples": [
        "United Kingdom"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of companies to return, for example 20 (up to 50).",
      "x-fous-developer": true,
      "examples": [
        12
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "car insurance"
    },
    {
      "query": "Monzo",
      "country": "United Kingdom",
      "max_results": 12
    },
    {
      "query": "zxqvnothere91237377"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `companies` | array |  |  |
| `companies[].website` | string or null | `"https://www.toyota.co.uk/insurance/car-insurance"` |  |
| `companies[].location` | string or null | `"7th Floor, 52-56 Leadenhall Street, London, EC3A 2BJ, United Kingdom"` |  |
| `companies[].logo_url` | string or null | `"https://s3-eu-west-1.amazonaws.com/tpd/logos/62180c7910aed4d5536d55b1/0x0.png"` |  |
| `companies[].categories` | array |  |  |
| `companies[].trust_score` | number or null | `4.6` | TrustScore from 0 to 5; null if unavailable. |
| `companies[].company_name` | string | `"Car Insurance by Toyota Insurance Services"` |  |
| `companies[].review_count` | integer | `4654` |  |
| `companies[].trustpilot_url` | string | `"https://www.trustpilot.com/review/toyotainsuranceservices.co.uk"` |  |

**Example input**

```json
{
  "query": "car insurance"
}
```

**Example output**

```json
{
  "companies": [
    {
      "website": "https://www.toyota.co.uk/insurance/car-insurance",
      "location": "7th Floor, 52-56 Leadenhall Street, London, EC3A 2BJ, United Kingdom",
      "logo_url": "https://s3-eu-west-1.amazonaws.com/tpd/logos/62180c7910aed4d5536d55b1/0x0.png",
      "categories": [
        "Insurance Agency",
        "Auto Insurance Agency"
      ],
      "trust_score": 4.6,
      "company_name": "Car Insurance by Toyota Insurance Services",
      "review_count": 4654,
      "trustpilot_url": "https://www.trustpilot.com/review/toyotainsuranceservices.co.uk"
    },
    {
      "website": "https://www.carrotinsurance.com",
      "location": "98 Liverpool Road, Formby, Liverpool, Merseyside, L37 6BS, United Kingdom",
      "logo_url": "https://s3-eu-west-1.amazonaws.com/tpd/logos/573f69490000ff00058d2373/0x0.png",
      "categories": [
        "Insurance Agency",
        "Business Insurance Company",
        "Insurance Company"
      ],
      "trust_score": 4.5,
      "company_name": "Carrot Insurance",
      "review_count": 7974,
      "trustpilot_url": "https://www.trustpilot.com/review/www.carrotinsurance.com"
    },
    {
      "website": "http://www.carinsurancequote.com",
      "location": null,
      "logo_url": null,
      "categories": [
        "Association or Organization",
        "Insurance Broker",
        "Insurance Company"
      ],
      "trust_score": 3.6,
      "company_name": "Car Insurance Quote",
      "review_count": 2,
      "trustpilot_url": "https://www.trustpilot.com/review/www.carinsurancequote.com"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@trustpilot",
  "visibility": "public",
  "operation": "get_company_rating",
  "version": 1,
  "input": {
    "company": "trip.com"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@trustpilot\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_company_rating\",\n  \"version\": 1,\n  \"input\": {\n    \"company\": \"trip.com\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@trustpilot",
  "visibility": "public",
  "operation": "get_company_rating",
  "version": 1,
  "input": {
    "company": "trip.com"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/trustpilot`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_company_rating`: Get company rating. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_company_reviews`: Get company reviews. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_companies`: Search companies. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-trustpilot https://api.fous.com/mcp/tools/trustpilot --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare company TrustScores and review counts.
- Monitor recent reviews and company replies.
- Find companies by name or service category.
- Compare reviews by star rating.
- Find companies with locations in a preferred country.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Trustpilot tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Trustpilot account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from trustpilot.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 28, 2026.

### What is a company’s TrustScore and how many reviews does it have?

Get company rating returns a company’s TrustScore and total reviews from its name or website.

### What are customers saying in recent reviews?

Get company reviews returns recent public reviews, ratings, reviewer details, and company replies.

### Which companies match a name or service search?

Search companies finds businesses by name or activity, with ratings, review counts, categories, and locations.

## Related

- [Glassdoor API](https://fous.com/tools/glassdoor.md): Employee reviews and company ratings.
- [Google Maps API](https://fous.com/tools/google-maps.md): Google Maps returns nearby places, public place details, up to 100 public reviews, and up to three routes; transit options vary by departure time.
- [Booking.com API](https://fous.com/tools/booking-com.md): Booking.com helps find stays, property details and public guest reviews; prices and cancellation terms depend on selected dates, and displayed prices may exclude taxes and fees.
- [Yelp API](https://fous.com/tools/yelp.md): Yelp returns local business matches, public profiles, ratings and up to 60 publicly shown reviews; matches are unsponsored and Yelp-ordered, but later results may lack contact or location details.
- [Indeed API](https://fous.com/tools/indeed.md): Indeed returns public first-page listings and details for available, unexpired jobs, company employee ratings and CEO approval when available, and typical pay from public salary pages.
- [Tripadvisor API](https://fous.com/tools/tripadvisor.md): Tripadvisor provides traveler-ranked first-page city listings of attractions, restaurants and hotels, plus latest reviews; hotel prices and booking sites depend on supplied stay dates and availability.
- [Walmart API](https://fous.com/tools/walmart.md): Walmart helps shoppers find products from Walmart and marketplace sellers, view details, prices, ratings and reviews; availability uses Walmart’s default location, not ZIP codes.
- [G2 API](https://fous.com/tools/g2.md): G2 provides software ratings, review counts, pricing, category scores, and up to 25 newest public reviews; ratings and counts may lag, and some details may be unavailable.
- [All Commerce tools](https://fous.com/tools/category/commerce)
