Trustpilot
Trustpilot Business Profile API
A full Trustpilot business profile by domain or Trustpilot URL: TrustScore, rating distribution, review counts per language, categories, contact details, claimed and verification status, reply rate and average days to reply on negative reviews, consumer alerts, the AI review summary and topics, similar businesses, and the 20 newest reviews. Costs 2 credits per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsondomainstringThe business's website domain as listed on Trustpilot. Pass exactly one of domain or url.
Example: nordvpn.com
urlstringA trustpilot.com/review/<domain> page URL, from any Trustpilot country site. Alternative to domain.
Example: https://www.trustpilot.com/review/nordvpn.com
languagestringdefault:en2-letter language code. The 20 included reviews are this language's newest, and ai_summary and topics come back in it when Trustpilot has them for that language (null or empty otherwise). rating_distribution and languages always cover every language.
Example: de
Notes
email, phone and contact carry only what the business published on Trustpilot; anything it did not publish is null.
reply_behavior is how the business handles negative reviews: reply_rate (percent), avg_days_to_reply, how many negative reviews it received and replied to, and when it last replied.
topics[].id values feed the topics filter of the Reviews endpoint. A profile has no TrustScore history; each call returns the current values.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.trustpilot.business(domain="nordvpn.com")
b = res["data"]
print(b["trust_score"], b["review_count"], b["rating_distribution"])
print(b["claimed"], b["reply_behavior"]["reply_rate"], b["reply_behavior"]["avg_days_to_reply"])
print([t["id"] for t in b["topics"]])Response