# Trustpilot (/docs/trustpilot) Trustpilot [#trustpilot] Trustpilot is where people write about *companies* — shipping, refunds, support, whether the thing arrived. These two endpoints find a business and return its reviews in the same canonical `Review` shape as Amazon, Google Shopping, and Tripadvisor, so one parser reads them all. Base URL: `/v1/trustpilot/...` Getting started [#getting-started] It is a two-step flow, and the joining key is the business's Trustpilot **domain**. ```bash # 1. Find the company and read its Trustpilot domain off the result curl "https://www.socialcrawl.dev/v1/trustpilot/business-search?query=monzo" \ -H "x-api-key: sc_your_api_key_here" # 2. Pull its reviews using that domain curl "https://www.socialcrawl.dev/v1/trustpilot/reviews?domain=monzo.com&depth=100&sort=recency" \ -H "x-api-key: sc_your_api_key_here" ``` * **`GET /v1/trustpilot/business-search`** (1cr) takes a `query` and returns matching businesses with the company name, its Trustpilot domain, its own website, its review-page URL, and the total review count. `depth` is the result count — default 20, multiples of 10, max 140. * **`GET /v1/trustpilot/reviews`** (5cr) takes that `domain` and returns customer reviews: star rating, title, full text, language, reviewer, any company reply, and publish date. `depth` is default 20, multiples of 20, max 200. `sort` is `recency` (newest first, the default) or `relevance`. Already know the domain? Skip step 1 — `domain` is just the company's site, so `monzo.com` works without a lookup in most cases. Search is there for when the Trustpilot listing does not match the obvious domain. **Pass a company name to `business-search`, never a bare domain.** It matches business names, so `nike` finds Nike and `nike.com` returns nothing at all. The domain is the *output* of that call, not an input to it. Three things to plan around [#three-things-to-plan-around] **200 reviews is the whole ceiling.** `depth` caps at 200 and there is no pagination beyond it — no cursor, no page parameter, nothing deeper. What you get is the 200 most recent (or most relevant, per `sort`). Plan any longitudinal tracking as repeated `sort=recency` pulls over time rather than one deep crawl. **Reviews arrive in many languages.** Trustpilot is heavily used outside English-speaking markets, and the endpoint returns whatever was written. Every review carries a `language`, so filter client-side rather than expecting an English-only feed. **First calls are slow, then cached.** Both endpoints are sourced from DataForSEO's task-based Business Data API, and the async lifecycle is handled server-side so you still make an ordinary synchronous request. A cold call takes roughly 15-45 seconds; repeats serve from cache. Set client timeouts accordingly. A business with no Trustpilot reviews returns `404`, refunded automatically. Trustpilot reviews companies, not products [#trustpilot-reviews-companies-not-products] This is the distinction that decides whether Trustpilot is the right source at all. A Trustpilot review is about the *seller* — delivery, returns, billing, the support experience. It will not tell you whether a specific SKU is any good. For product-level opinion, use Amazon or Google Shopping reviews instead, or `GET /v1/prism/product-reviews` (30cr), which folds Amazon, Google Shopping, **and** Trustpilot into one cross-marketplace rating with themed pros and cons. For a whole company across review sites, app stores, Google Business, and web sentiment, `GET /v1/prism/reputation` (30cr) is the one call that covers it — Trustpilot is one of its legs. Endpoints [#endpoints] Notes [#notes] * Both endpoints use `GET` with query parameters * Authentication via `x-api-key` header * Responses follow the unified SocialCrawl schema (`ReviewList` for reviews) * `business-search` matches businesses, never products * Neither endpoint paginates: `depth` is the only size control on both, and it caps at 140 results on search and 200 reviews on reviews * Empty results and not-found domains are refunded automatically and never billed