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 keys

1. 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 payload
GET/api/public/v1/truscoreTruScore + source explanation
GET/api/public/v1/trumarkTruMark rating on a 0–5 scale
GET/api/public/v1/verificationTRUVERIFIED status & level
GET/api/public/v1/reviewsRoadmap — returns 501 today
GET/api/public/v1/insightsRoadmap — returns 501 today
GET/api/public/v1/webhooksRoadmap — returns 501 today

4. 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.