# Trustpilot API guide



## Start with Trustpilot



Match a business to its reviewed domain, read the company record and collect the available review sample. Keep the reviewed entity separate from similarly named businesses.



These requests use your API key and can spend credits. Check the current price on the endpoint page; each new page is a separate request. Later examples use illustrative identifiers: replace them with values from your earlier response.



### 1. Find the business



Choose the result using its domain and source URL, not just the display name. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/trustpilot/search)



**trustpilot/search**

```
curl "https://www.monocrawl.com/v1/trustpilot/search?query=monzo&limit=10" \
  -H "x-api-key: mn_your_key_here"
```



### 2. Read the company record



Replace this illustrative domain with the reviewed business selected above. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/trustpilot/company)



**trustpilot/company**

```
curl "https://www.monocrawl.com/v1/trustpilot/company?domain=monzo.com" \
  -H "x-api-key: mn_your_key_here"
```



### 3. Read its reviews



Use that same domain. Retain rating, dates and review identifiers when supplied. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/trustpilot/reviews)



**trustpilot/reviews**

```
curl "https://www.monocrawl.com/v1/trustpilot/reviews?domain=monzo.com&sort=recency&limit=20" \
  -H "x-api-key: mn_your_key_here"
```



## Choose filters with the source behavior in mind



| Control | Behavior and limits |
| --- | --- |
| Business identity | Use the reviewed domain from the selected business. Sub-brands and similarly named companies can have distinct review pages. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/trustpilot/company) |
| Review ordering | sort accepts recency or relevance and limit is bounded. This route declares no public cursor; do not invent one. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/trustpilot/reviews) |
| Score interpretation | Keep aggregate company ratings separate from the sentiment or star distribution of your returned review sample. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/trustpilot/company) |



Source availability, ordering and field coverage can change. Inspect warnings and partial-result metadata alongside the rows. See [runnable workflows](https://www.monocrawl.com/docs/workflows), [metric semantics](https://www.monocrawl.com/docs/metric-semantics), [computed fields](https://www.monocrawl.com/docs/computed-fields) and the [pagination matrix](https://www.monocrawl.com/docs/pagination).



## Match the operation to your task



| Your task | Endpoint | When to use it |
| --- | --- | --- |
| Recent feedback | [`reviews`](https://www.monocrawl.com/docs/endpoints/trustpilot/reviews) | Use recency for the supported recent-order view. |
| Company aggregates | [`company`](https://www.monocrawl.com/docs/endpoints/trustpilot/company) | Company score and review counts describe the source’s population, not just the returned sample. |



Explore all documented operations by purpose below. Each endpoint reference contains its accepted parameters and current price.



### Products and categories



- [`categories`](https://www.monocrawl.com/docs/endpoints/trustpilot/categories)

- [`category`](https://www.monocrawl.com/docs/endpoints/trustpilot/category)

- [`category-companies`](https://www.monocrawl.com/docs/endpoints/trustpilot/category-companies)



### Other operations



- [`company`](https://www.monocrawl.com/docs/endpoints/trustpilot/company)

- [`consumer`](https://www.monocrawl.com/docs/endpoints/trustpilot/consumer)



### Reviews and offers



- [`consumer-reviews`](https://www.monocrawl.com/docs/endpoints/trustpilot/consumer-reviews)

- [`reviews`](https://www.monocrawl.com/docs/endpoints/trustpilot/reviews)



### Search and discovery



- [`search`](https://www.monocrawl.com/docs/endpoints/trustpilot/search)



## Endpoint reference

## trustpilot/categories

`GET /v1/trustpilot/categories`

Trustpilot categories matching a keyword, with the ids the category routes take.

*Trustpilot category search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Category name or keyword — e.g. `bank` |
| `locale` | no | Site locale — e.g. `en-GB` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/categories?query=bank" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "id": "example",
      "name": "example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/categories#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/categories.json)


## trustpilot/category

`GET /v1/trustpilot/category`

One Trustpilot category with its company count, parent, subcategories and siblings.

*Trustpilot category*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Category id from trustpilot/categories — e.g. `bank` |
| `locale` | no | Site locale — e.g. `en-GB` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/category?id=bank" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "company_count": 0,
  "id": "example",
  "name": "example",
  "parent": {
    "company_count": 0,
    "id": "example",
    "name": "example",
    "parent_id": "example",
    "subcategory_ids": [
      "example"
    ]
  },
  "parent_id": "example",
  "platform": "example",
  "siblings": [
    {
      "company_count": 0,
      "id": "example",
      "name": "example",
      "parent_id": "example"
    }
  ],
  "subcategories": [],
  "top": {
    "company_count": 0,
    "id": "example",
    "name": "example",
    "subcategory_ids": [
      "example"
    ]
  },
  "url": "https://example.com/example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/category#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/category.json)


## trustpilot/category-companies

`GET /v1/trustpilot/category-companies`

The companies in a Trustpilot category — ranked, recently reviewed or newest — with rating, review count and location.

*Trustpilot companies in a category*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Category id from trustpilot/categories — e.g. `bank` |
| `sort` | no | default (ranked), recent (recently reviewed) or newest Accepted values: default, recent, newest. Case, spaces, hyphens and underscores are interchangeable. — e.g. `recent` |
| `min_rating` | no | any, 3, 4 or 4.5 Accepted values: any, 3, 4, 4.5. Case, spaces, hyphens and underscores are interchangeable. — e.g. `4` |
| `country` | no | Two-letter country code — e.g. `GB` |
| `city` | no | City or postcode — e.g. `London` |
| `page` | no | Page of 20 (ranked list only) — e.g. `1` |
| `locale` | no | Site locale — e.g. `en-GB` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `country`: Select the documented market or country filter. Read this endpoint’s country semantics; filtering and source request location can differ.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/category-companies?id=bank" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "category": {
    "company_count": 0,
    "id": "example",
    "name": "example",
    "parent_id": "example"
  },
  "count": 0,
  "cursor": null,
  "has_more": false,
  "items": [
    {
      "categories": [
        "example"
      ],
      "domain": "example",
      "id": "example",
      "location": "example",
      "logo": "example",
      "name": "example",
      "phone": "example",
      "platform": "example",
      "rank": 0,
      "rating": {
        "max": 0,
        "value": 0,
        "votes": 0
      },
      "reviews_count": 0,
      "trust_score": 0,
      "url": "https://example.com/example",
      "website": "example"
    }
  ],
  "page": 0,
  "sort": "example",
  "total": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/category-companies#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/category-companies.json)


## trustpilot/company

`GET /v1/trustpilot/company`

A company's Trustpilot profile by domain: rating, review count, categories and claimed status. Queued task.

*Trustpilot company*

| Parameter | Required | Description |
| --- | --- | --- |
| `domain` | yes | The company's domain — e.g. `monzo.com` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 7 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/company?domain=monzo.com" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "about": "example",
  "address": "example",
  "asking_for_reviews": false,
  "average_days_to_reply": 0,
  "categories": [
    "example"
  ],
  "category_ranks": [
    {
      "id": "example",
      "name": "example",
      "of": 0,
      "rank": 0
    }
  ],
  "claimed": false,
  "closed": false,
  "domain": "example",
  "id": "example",
  "location": "example",
  "logo": "example",
  "name": "example",
  "negative_review_count": 0,
  "platform": "example",
  "rating": {
    "max": 0,
    "value": 0,
    "votes": 0
  },
  "rating_distribution": {},
  "reply_to_negative_review_percent": 0,
  "reviews_count": 0,
  "trust_score": 0,
  "url": "https://example.com/example",
  "verified": false,
  "website": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/company#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/company.json)


## trustpilot/consumer

`GET /v1/trustpilot/consumer`

A Trustpilot reviewer's public profile: country, verification, review, like and read counts.

*Trustpilot reviewer*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Reviewer id from a review — e.g. `57320f590000ff000a1ee003` |
| `locale` | no | Site locale — e.g. `en-GB` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/consumer?id=57320f590000ff000a1ee003" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "country": "example",
  "id": "example",
  "like_count": 0,
  "name": "example",
  "photo": "example",
  "platform": "example",
  "read_count": 0,
  "review_count": 0,
  "url": "https://example.com/example",
  "verified": false
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/consumer#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/consumer.json)


## trustpilot/consumer-reviews

`GET /v1/trustpilot/consumer-reviews`

Every review one Trustpilot reviewer has written, with the company each one is about.

*Trustpilot reviewer reviews*

| Parameter | Required | Description |
| --- | --- | --- |
| `id` | yes | Reviewer id from a review — e.g. `57320f590000ff000a1ee003` |
| `page` | no | Page of 20 — e.g. `1` |
| `locale` | no | Site locale — e.g. `en-GB` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `fit`: Use fit=goal with a task description to replace confidently irrelevant records with recall stubs and reduce agent context. No fit surcharge; full evidence is retained for 24 hours when stored, and the response size target is soft.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/consumer-reviews?id=57320f590000ff000a1ee003" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "consumer": {
    "country": "example",
    "id": "example",
    "like_count": 0,
    "name": "example",
    "photo": "example",
    "platform": "example",
    "read_count": 0,
    "review_count": 0,
    "url": "https://example.com/example",
    "verified": false
  },
  "count": 0,
  "has_more": false,
  "items": [
    {
      "company": {
        "domain": "example",
        "id": "example",
        "name": "example"
      },
      "consumer_id": "example",
      "consumer_review_count": 0,
      "experienced_at": "2026-09-01T12:00:00Z",
      "helpful_votes": 0,
      "id": "example",
      "images": [],
      "language": "example",
      "platform": "example",
      "posted_at": "2026-09-01T12:00:00Z",
      "rating": {
        "max": 0,
        "value": 0
      },
      "reviewer": {
        "location": "example",
        "name": "example",
        "url": "https://example.com/example"
      },
      "source": "example",
      "text": "example",
      "title": "example",
      "url": "https://example.com/example",
      "verified": false
    }
  ],
  "page": 0
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/consumer-reviews#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/consumer-reviews.json)


## trustpilot/reviews

`GET /v1/trustpilot/reviews`

Reviews of a company on Trustpilot with rating, title, text, date, reviewer location and any company reply. Queued task.

*Trustpilot reviews*

| Parameter | Required | Description |
| --- | --- | --- |
| `domain` | yes | The company's domain — e.g. `monzo.com` |
| `sort` | no | recency or relevance Accepted values: recency, relevance. Case, spaces, hyphens and underscores are interchangeable. — e.g. `recency` |
| `limit` | no | Reviews, up to 100 — e.g. `20` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. Accepted values: on, off. Case, spaces, hyphens and underscores are interchangeable. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. Accepted values: default, none. Case, spaces, hyphens and underscores are interchangeable. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. Accepted values: engagement_bait. Case, spaces, hyphens and underscores are interchangeable. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. Accepted values: goal. Case, spaces, hyphens and underscores are interchangeable. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/reviews?domain=monzo.com" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": "68a1b2c3d4e5f67890123456",
      "url": "https://www.trustpilot.com/reviews/68a1b2c3d4e5f67890123456",
      "text": "Illustrative review."
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/reviews#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/reviews.json)


## trustpilot/search

`GET /v1/trustpilot/search`

Businesses on Trustpilot matching a query with domain, rating, review count and categories. Queued task.

*Trustpilot business search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Business name or keywords — e.g. `monzo` |
| `limit` | no | Results, up to 100 — e.g. `20` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/trustpilot/search?query=monzo" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "count": 0,
  "has_more": false,
  "items": [
    {
      "categories": [],
      "domain": "example",
      "name": "example",
      "platform": "example",
      "rank": 0,
      "rating": {
        "max": 0,
        "value": 0,
        "votes": 0
      },
      "reviews_count": 0,
      "url": "https://example.com/example"
    }
  ],
  "query": "example"
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/trustpilot/search#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/trustpilot/search.json)

