# 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/workflows/trustpilot
- Handle: `@trustpilot`
- Category: [Commerce](https://fous.com/workflows/category/commerce)
- Source website: https://trustpilot.com
- Last verified: Sep 28, 2026
- Fous is not affiliated with Trustpilot.

## Methods

### Get company rating

Operation `get_company_rating`, version 1. 1 credit per call.

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

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 |  |  |
| `reviews[].stars` | integer |  |  |
| `reviews[].title` | string or null |  |  |
| `reviews[].verified` | boolean |  |  |
| `reviews[].reply_date` | string or null |  |  |
| `reviews[].date_posted` | string or null |  |  |
| `reviews[].review_link` | string |  |  |
| `reviews[].reviewer_name` | string or null |  |  |
| `reviews[].reviewer_country` | string or null |  |  |
| `reviews[].company_reply_text` | string or null |  |  |
| `reviews[].date_of_experience` | string or null |  |  |
| `trust_score` | number or null |  |  |
| `company_name` | string |  |  |

### Search companies

Operation `search_companies`, version 1. 1 credit per call.

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

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_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.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

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=120) 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.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_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);
```

Or describe the data in plain language: send `{"api":"@trustpilot","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## 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

### Is Fous affiliated with Trustpilot?

No. Fous is not affiliated with Trustpilot. This workflow reads the public trustpilot.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. 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; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check 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/workflows/glassdoor.md): Employee reviews and company ratings.
- [Google Maps API](https://fous.com/workflows/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/workflows/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/workflows/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/workflows/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/workflows/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/workflows/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/workflows/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 workflows](https://fous.com/workflows/category/commerce)
