Developer documentation
TruVerify Business API
Every claimed business gets free API credentials and a live website widget. Basic trust data — TRUVERIFIED status, TruScore and TruMark — is free forever.
Get your API keys1. The website widget (no key needed)
One line of code renders a live TRUVERIFIED badge with your current TruScore. It uses only your public API ID — never your secret key — and refreshes automatically.
<script src="https://truverify.ai/widget.js" data-business="tv_pub_xxxxxxxxxxxx" data-theme="light" <!-- light | dark --> data-size="standard" <!-- standard | compact --> data-layout="horizontal" <!-- horizontal | card --> ></script>
2. Public endpoint
Powers the widget. Read-only, CORS-enabled, cached for 60 seconds.
GET
/api/public/v1/business/{public_api_id}Live public trust payload{
"data": {
"business_id": "…",
"api_id": "tv_pub_…",
"name": "Apollo Pharmacy, Koramangala",
"truverified": true,
"truscore": 88,
"trumark": 4.4,
"google_rating": 4.4,
"review_count": 1284,
"verification_level": 3,
"profile_url": "https://truverify.ai/verify/…",
"sources": {
"truscore": "TruScore = business rating × 20",
"google_rating": "Public business listing data",
"trumark": "TruVerify TruMark rating (0–5)"
},
"updated_at": "2026-01-01T00:00:00.000Z"
}
}3. Authenticated API
Server-to-server only. Send your secret key as a bearer token — never expose it in browser code.
curl https://truverify.ai/api/public/v1/truscore \ -H "Authorization: Bearer tv_sk_live_xxxxxxxxxxxx"
GET
/api/public/v1/businessFull trust profile payloadGET
/api/public/v1/truscoreTruScore + source explanationGET
/api/public/v1/trumarkTruMark rating on a 0–5 scaleGET
/api/public/v1/verificationTRUVERIFIED status & levelGET
/api/public/v1/reviewsRoadmap — returns 501 todayGET
/api/public/v1/insightsRoadmap — returns 501 todayGET
/api/public/v1/webhooksRoadmap — returns 501 today4. Security & limits
- • Secret keys are stored only as SHA-256 hashes — copy yours when it is created.
- • Regenerate or revoke a key any time from your dashboard; it takes effect instantly.
- • Default limit: 60 requests per minute per key. Exceeding it returns HTTP 429.
- • Errors return JSON:
{ "error": "...", "message": "..." } - • Keys map to exactly one business. Claim more businesses to get more keys.
