HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/agentcloud/airbyte/docs/integrations/sources/trustpilot.md
# TrustPilot

## Prerequisites

* Trustpilot API Token or Zendesk OAuth 2.0 redentials
* Trustpilot Business Unit URLs

## Authentication methods

You can either authenticate with API key or with OAuth 2.0. Setting up OAuth 2.0 is a bit more complex but will give you access to more streams.

## Setup guide

### Step 1: Set up your Trustpilot App

Create a Trustpilot App as described in [Trustpilot docs](https://support.trustpilot.com/hc/en-us/articles/207309867-Getting-started-with-Trustpilot-s-APIs).

Enter the API key in the Airbyte source configuration "API key". In case you want to use OAuth 2.0 authentication, copy the API secret as well.

### Step 2: Requesting OAuth 2.0 refresh token (Optional)

Request the OAuth 2.0 request token by sending the following HTTP request:

``` http
GET https://api.trustpilot.com/v1/oauth/oauth-business-users-for-applications/accesstoken
Authorization: Basic base64(apikey:secret)
Content-Type: application/x-www-form-urlencoded

grant_type=password&username=YOUR_TRUSTPILOT_USERNAME_OR_LOGIN_EMAIL_HERE&password=YOUR_TRUSTPILOT_PASSWORD_HERE
```

When succeeded, it will return a json object. Extrat the properties `access_token`, `refresh_token`.

Fill now the missing configuration fields in the Airbyte source configuration. As token expiry date, use the current time + 4 days (or calculate it yourself by calculating the date time of request add the seconds given in property `expires_in`).

## Supported sync modes

The **Trustpilot** source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes):
* Full Refresh
* Incremental Sync

## Supported Streams

This Source is capable of syncing the following Streams:

* [Configured Business Units](https://documentation-apidocumentation.trustpilot.com/business-units-api-(public)#find-a-business-unit) - loads business units defined in the configuration
* [Business Units](https://documentation-apidocumentation.trustpilot.com/business-units-api-(public)#get-a-list-of-all-business-units) - loads **all** business units
* [Private Reviews](https://documentation-apidocumentation.trustpilot.com/business-units-api#business-unit-private-reviews) \(Incremental sync\)

## Performance considerations

The connector is restricted by Trustpilot [rate limit guidelines](https://documentation-apidocumentation.trustpilot.com/#LimitRates).

The Trustpilot connector should not run into any limits under normal usage. Please [create an issue](https://github.com/airbytehq/airbyte/issues) if you see any rate limit issues that are not automatically retried successfully.


## Changelog


| Version | Date       | Pull Request | Subject                           |
|:--------|:-----------| :-----       |:----------------------------------|
| `0.1.0` | 2023-03-16 | [24009](https://github.com/airbytehq/airbyte/pull/24009) | Initial version |