API & embed

Use the Global Trust Index in your site or app. Read trust by hash; optional Trust badge widget. Free tier with limits; paid plans for higher volume and SLA.

In one sentence

Personal use of the Trust Index (extension + website) is free; organisations pay for Spaces; developers and companies pay for API and embedding.

Plans and pricing →

Endpoints

Base URL: your GriGsi server (e.g. https://your-domain.com). No auth required for read and vote; optional X-Api-Key for higher limits.

MethodPathDescription
GET/trust?hash=<hash>Trust for one hash. Add ?details=1 for tierLabel, trustPercent, etc.
GET/api/trust?hash=<hash>Same as above.
GET / POST/api/trust/batchTrust for many hashes (max 50). GET: ?hashes=hash1,hash2; POST: JSON { "hashes": ["..."] }. Optional details=1.
POST/vote-hash or /api/vote-hashSubmit vote: JSON { "hash", "vote": 1|−1, "clientId" }.

Single trust response (200)

{
  "hash": "a1b2c3...1",
  "plus1": 120,
  "minus1": 5,
  "weighted_score": 112.5,
  "tier": 2,
  "totalVotes": 125
}

With ?details=1 you also get: tierLabel, trustPercent, uniqueVisits, countries, spanHours, flagged, flagReason.

Hash format: SHA-256("<type>:<normalized_value>") first 32 hex chars + one digit (1=domain, 2=email, 3=phone, 4=iban, 5=string, 6=info_index). Example: domain:example.com → hash ending in 1. Normalize: domain = lowercase, no www/path; email = lowercase; phone = digits only.

Info Noise Index API

Check claims against trusted sources and save results. Used by the Info Noise Index tool and Spaces. Optional header X-Grigsi-Pro: 1 for Pro (unlimited saves).

MethodPathDescription
GET/api/info-index/search?q=<text>Search for fact-check sources for a claim. Returns { sources: [...] }. q max 300 chars.
POST/api/info-index/resultsSave a Info Noise Index result. JSON: { "claimPreview", "summaryText", "snippets", "clientId" }. Free: 10 saves/day per clientId; Pro: unlimited. Returns { ok, resultId, createdAt }.
GET/api/info-index/result/:idGet saved result by id: { ok, result, claimVotes, snippetVotes }.
POST/api/info-index/vote-claimVote on claim (true/false/unclear). JSON: { "resultId", "vote": 1|−1|0, "clientId" }. Returns { ok, counts: { true, false, unclear } }.
POST/api/info-index/vote-snippetVote on a snippet (trust/untrust). JSON: { "resultId", "snippetUrl", "vote": 1|−1, "clientId" }. Returns { ok, byUrl }.

Example: save result

POST /api/info-index/results
Content-Type: application/json
X-Grigsi-Pro: 1   // optional, for unlimited saves

{ "claimPreview": "Claim text...", "summaryText": "Summary...", "snippets": [{ "url": "...", "title": "..." }], "clientId": "opaque-id" }

→ { "ok": true, "resultId": 42, "createdAt": 1234567890 }

Example: get result

GET /api/info-index/result/42

→ { "ok": true, "result": { "id", "claimPreview", "summaryText", "snippets", "createdAt" }, "claimVotes": { "true": 5, "false": 1, "unclear": 0 }, "snippetVotes": { "https://...": { "trust": 3, "untrust": 0 } } }

Similarity API

The Similarity engine detects lookalike domains and emails (homograph/typosquat). It is used in the extension to warn when a visited domain or email is similar to one you already trust.

Current use: Logic runs in the extension (client-side). A list of your trusted domains/emails is compared locally with the current URL or email; similarity is computed on normalized labels (skeleton/NFKC) with thresholds (e.g. ≥90% almost identical, 80–89% suspicious).

API: A server-side Similarity API (e.g. GET /api/similarity/domains?domain=example.com or POST /api/similarity/check with a list of hashes) can be offered for embedding in your app — same rate limits as Trust API. Contact us for access or when it becomes available.

Rate limits

UsageLimitNotes
Free (no key)Low volumePer IP and per clientId; avoid high-frequency polling. Cache results on your side.
Paid (API key)Starter: ~5k/mo · Growth: ~50k/mo · Scale: customHeader X-Api-Key: your-key. Higher limits and SLA. See Plans.

For production embedding or high traffic, use an API plan or call from your backend (server-to-server) to avoid browser CORS and rate limits.

Trust badge (embed)

Show your domain’s trust score on your site. Add a container and load the script (same origin as the GriGsi server, or use your backend to proxy the request).

1. HTML

<div id="grigsi-trust-badge" data-grigsi-domain="example.com"></div>
<script src="https://YOUR-GRIGSI-DOMAIN/js/trust-badge.js"></script>

Use data-grigsi-domain (e.g. example.com) or data-grigsi-base to point to another GriGsi server URL if needed.

2. Demo on this site

Free badge: links to GriGsi. Paid/white-label options: see Plans.

CORS

For cross-origin requests from a browser (e.g. your site on another domain), the server may need to allow your origin. Alternatively, call the API from your backend and serve the result to your frontend — no CORS needed.

Trust Index Plans Check trust

Get in Touch

Optional: if you want us to get back to you, add your email or another contact detail in your message above.