Trustpilot API endpoint

Get Trustpilot business reviews

Returns paginated Trustpilot business reviews parsed from the public review page.

GETapiKey3 credits/requesttrustpilot.businessReviewsResponseDoc/trustpilot/business/{slug}/reviews

Parameters

NameInTypeRequiredEnumExampleDescription
slugpathstringYesopenai.comTrustpilot business slug
pagequeryintegerNo11-based page number; defaults to 1
starsqueryintegerNo1Filter by star rating from 1 to 5
verifiedquerybooleanNoFilter to verified reviews
repliedquerybooleanNoFilter to reviews with business replies
languagequerystringNoenReview language code used by Trustpilot
qquerystringNorefundText search within reviews
date_fromquerystringNo2026-03-01Date range start in YYYY-MM-DD; currently rejected by upstream
date_toquerystringNo2026-03-30Date range end in YYYY-MM-DD; currently rejected by upstream
x-api-keyheaderstringYesAPI key required

Authentication

Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.

Billing

Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.

Credit cost
3 credits/request
Charged response
Successful 2xx responses
PlanPriceIncluded creditsDaily capRate limitOverage
Free$0/mo2,000500 daily credits5/minNo overage
Starter$9/mo20,0005,000 daily credits15/min$0.75/1,000 overage credits when enabled
Growth$29/mo100,00025,000 daily credits45/min$0.45/1,000 overage credits when enabled
Pro$79/mo400,000No daily cap120/min$0.30/1,000 overage credits
Business$199/mo1,200,000No daily cap300/min$0.20/1,000 overage credits
Enterprise$499/mo5,000,000No daily cap1,000/min$0.12/1,000 overage credits

Failure responses

StatusDescriptionSchema
400Missing or invalid path/query parameters#/definitions/app.Response
404Business not found#/definitions/app.Response
429Rate limit exceeded#/definitions/app.Response
500Internal server error#/definitions/app.Response
502Trustpilot upstream request failed#/definitions/app.Response

Example response

{
  "code": 200,
  "msg": "OK",
  "data": {
    "business": {
      "slug": "openai.com",
      "name": "OpenAI"
    },
    "pagination": {
      "page": 1,
      "has_next_page": true,
      "total_reviews": 1200
    },
    "items": []
  }
}

Request schema

No body schema

Response schema

#/definitions/trustpilot.businessReviewsResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
datatrustpilot.BusinessReviewsResponseNo
data.applied_filterstrustpilot.BusinessReviewsAppliedFiltersNo
data.applied_filters.languagestringNoen
data.applied_filters.querystringNorefund
data.applied_filters.repliedbooleanNo
data.applied_filters.starsintegerNo1
data.applied_filters.verifiedbooleanNo
data.businesstrustpilot.businessHeaderNo
data.business.claimedbooleanNofalse
data.business.namestringNoOpenAI
data.business.ratingnumberNo1.5
data.business.review_countintegerNo984
data.business.slugstringNoopenai.com
data.business.trust_scorenumberNo1.3
data.business.trustpilot_urlstringNohttps://www.trustpilot.com/review/openai.com
data.business.website_urlstringNohttps://openai.com
data.itemsarrayNo
data.items[].author_countrystringNoGB
data.items[].author_namestringNoSummit
data.items[].author_review_countintegerNo1
data.items[].bodystringNo
data.items[].company_replytrustpilot.BusinessCompanyReplyNo
data.items[].company_reply.messagestringNo
data.items[].company_reply.published_at_textstringNo
data.items[].company_reply.updated_at_textstringNo
data.items[].experienced_at_textstringNo
data.items[].idstringNo69b2e2443283f179ac73d3ce
data.items[].invitedbooleanNofalse
data.items[].labelstrustpilot.BusinessReviewLabelsNo
data.items[].labels.filteredbooleanNofalse
data.items[].labels.mergedstringNo
data.items[].labels.pendingbooleanNofalse
data.items[].labels.review_sourcestringNoOrganic
data.items[].labels.verification_levelstringNonot-verified
data.items[].labels.verification_sourcestringNoinvitation
data.items[].published_at_textstringNo
data.items[].ratingintegerNo1
data.items[].titlestringNo
data.items[].updated_at_textstringNo
data.items[].verifiedbooleanNofalse
data.paginationtrustpilot.BusinessReviewsPaginationNo
data.pagination.has_next_pagebooleanNotrue
data.pagination.next_pageintegerNo2
data.pagination.pageintegerNo1
data.pagination.per_pageintegerNo20
data.pagination.total_pagesintegerNo50
data.pagination.total_reviewsintegerNo984
msgstringNoOK

Example request

curl -X GET "https://api.crawlora.net/api/v1/trustpilot/business/openai.com/reviews?page=1&stars=1&language=en&q=refund&date_from=2026-03-01&date_to=2026-03-30" -H "x-api-key: <api-key>"

TypeScript fetch

const url = new URL("https://api.crawlora.net/api/v1/trustpilot/business/openai.com/reviews");
url.searchParams.set("page", "1");
url.searchParams.set("stars", "1");
url.searchParams.set("language", "en");
url.searchParams.set("q", "refund");
url.searchParams.set("date_from", "2026-03-01");
url.searchParams.set("date_to", "2026-03-30");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
const response = await fetch(url, {
  method: "GET",
  headers,
});
const payload = await response.json();