API Live Now

Developer Documentation

The Omniscient API lets any application add triple-AI fact-checking with a single HTTP call. GPT-4o Mini, Perplexity Sonar Pro, and Gemini 2.5 Flash run simultaneously and return a consensus Trust Score with live citations.

GPT-4o Mini
Perplexity Sonar Pro
Gemini 2.5 Flash
🟢

The API is live and available today. Get your Bearer token by signing up and emailing newsroom@metaversestreetjournal.com.

1

Create a free account

Sign up at omniscient.news — takes 10 seconds via Google, MetaMask, or LinkedIn.

2

Request your API key

Email us your Account ID and intended use case. Bearer token issued within 24 hours.

3

Make your first call

POST a claim or URL to /api/fact-check with your Bearer token. You'll get a Trust Score back in under 3 seconds.

One endpoint. Three AI verdicts.

A single POST returns a consensus fact-check in under 3 seconds. Choose your language below.

curl
Node.js
Python
SDK
curl -X POST https://omniscient.news/api/fact-check \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "claim_input": {
      "highlighted_span": "The Great Wall of China is visible from space.",
      "page_url": "https://example.com/article",
      "page_title": "Space myths debunked"
    }
  }'

API Keys

All API requests must include a Bearer token in the Authorization header. There are no API keys in query strings or cookies.

HTTP Header
Authorization: Bearer omni_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
⚠️

Keep your API key secret. Never expose it in client-side code, public repositories, or logs. Rotate it immediately if compromised — email newsroom@metaversestreetjournal.com.

Getting a key

API keys are issued manually during the beta period:

  1. Create a free account at omniscient.news
  2. Copy your Account ID from the Profile page
  3. Email newsroom@metaversestreetjournal.com with your Account ID and use case
  4. Receive your Bearer token within 24 hours

Endpoints

All endpoints are under the base URL https://omniscient.news

MethodPathDescription
POST/api/fact-checkSubmit a claim or URL for triple-AI fact-checking
GET/api/fact-check/:idRetrieve a cached result by reference ID
GET/api/usageCheck monthly request count and quota

POST  /api/fact-check

Submits a claim for triple-AI verification. All three models run in parallel and return a consensus score.

Request Body

FieldTypeRequiredDescription
claim_inputobjectYesContainer for the claim being checked
claim_input.highlighted_spanstringYes*The specific text claim to fact-check
claim_input.page_urlstringNoSource URL for context
claim_input.page_titlestringNoArticle/page title for context
claim_input.full_textstringNoSurrounding paragraph for additional context

* Either highlighted_span or page_url must be provided.

GET  /api/fact-check/:id

Retrieves a previously computed result by its referenceId. Results are cached for 30 days.

curl
curl https://omniscient.news/api/fact-check/omni-a1b2c3-d4e5f6 \
  -H "Authorization: Bearer YOUR_API_KEY"

GET  /api/usage

Returns your current billing period usage and quota.

Response
{
  "period": "2026-03",
  "requestsUsed": 1284,
  "requestsLimit": null,    // null = unlimited (Always-On plan)
  "plan": "always_on_pro",
  "resetDate": "2026-04-01T00:00:00Z"
}

Request Format

All requests use JSON bodies with Content-Type: application/json.

Full request example
{
  "claim_input": {
    "highlighted_span": "Bitcoin uses more energy than Argentina.",
    "page_url": "https://bbc.com/news/technology-56012952",
    "page_title": "Bitcoin's energy use in numbers",
    "full_text": "Critics argue that Bitcoin uses more energy than Argentina, raising environmental concerns..."
  }
}

Response Format

Every successful response returns a JSON object with a consensus Trust Score, per-model verdicts, and live citations.

200 OK — Success response
{
  "referenceId": "omni-a1b2c3-d4e5f6",
  "trustScore":  68,
  "verdict":     "PARTIALLY SUPPORTED",
  "consensus":   "Two of three models support this claim with caveats.",
  "claimType":   "STATISTICAL CLAIM",
  "models": {
    "gpt4o_mini": {
      "verdict": "SUPPORTED",
      "score":   72,
      "summary": "Cambridge Centre data confirms this figure as of 2021..."
    },
    "perplexity": {
      "verdict": "SUPPORTED",
      "score":   70,
      "summary": "Estimates vary by year; broadly accurate as a comparison..."
    },
    "gemini": {
      "verdict": "DISPUTED",
      "score":   61,
      "summary": "More recent data shows efficiency improvements..."
    }
  },
  "citations": [
    { "url": "https://ccaf.io/cbnsi/cbeci",          "title": "Cambridge Bitcoin Electricity Consumption Index" },
    { "url": "https://iea.org/reports/bitcoin-energy", "title": "IEA: Bitcoin energy report" }
  ],
  "processingMs": 2140
}
FieldTypeDescription
referenceIdstringUnique result ID, usable with GET /fact-check/:id
trustScorenumber (0–100)Consensus accuracy score across all three models
verdictstringHuman-readable consensus verdict
consensusstringOne-line explanation of the combined result
claimTypestringClassification of claim (FACT, OPINION, STATISTICAL, etc.)
modelsobjectPer-model breakdown with score, verdict, and summary
citationsarraySource URLs and titles used as evidence
processingMsnumberTotal wall-clock time in milliseconds

Verdicts & Trust Scores

Each model returns one of four verdicts. The consensus verdict is derived from the combination.

VerdictScore RangeMeaning
SUPPORTED70 – 100Evidence clearly supports the claim
PARTIALLY SUPPORTED40 – 69Mixed evidence; claim is directionally correct but imprecise
DISPUTED20 – 39Evidence contradicts or significantly challenges the claim
UNSUPPORTED0 – 19No credible evidence found, or claim is demonstrably false
ℹ️

The consensus trustScore is a weighted average across all three models. Per-model scores may differ. claimType: "OPINION" items receive a modified scoring rubric.

JavaScript / TypeScript SDK

The official SDK wraps the REST API with full TypeScript types, automatic retries, and streaming support.

🚧

The SDK is in private beta. It is issued alongside API keys. Reach out to get access.

Installation
npm install @omniscient/sdk
# or
pnpm add @omniscient/sdk
TypeScript — Full usage
import { OmniscientClient, FactCheckResult } from "@omniscient/sdk";

const client = new OmniscientClient({
  apiKey: process.env.OMNISCIENT_API_KEY!,
  timeout: 10_000,   // ms, default 8000
  retries: 2,          // auto-retry on 5xx
});

// Fact-check a claim
const result: FactCheckResult = await client.factCheck({
  claim: "The Eiffel Tower is 330 metres tall.",
  pageUrl: "https://example.com/article",
});

// Access per-model data
for (const [model, data] of Object.entries(result.models)) {
  console.log(`${model}: ${data.verdict} (${data.score})`);
}

// Retrieve a cached result
const cached = await client.getResult(result.referenceId);

// Check quota
const usage = await client.getUsage();
console.log(`Used: ${usage.requestsUsed} this period`);

Rate Limits

Rate limits are enforced per API key. On Metered plan they also apply per billing month.

Metered60 req/min · pay-per-use
Always-On Pro ($399/mo)300 req/min · unlimited monthly
Agency ($1,000/mo)1,000 req/min · unlimited monthly
EnterpriseCustom — dedicated infrastructure
ℹ️

Rate limit headers are returned on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Error Codes

All errors return a JSON body with error (machine-readable) and message (human-readable) fields.

Error response shape
{
  "error":   "RATE_LIMIT_EXCEEDED",
  "message": "You have exceeded 60 requests per minute. Retry after 38 seconds.",
  "retryAfter": 38
}
HTTPError CodeDescription
400INVALID_REQUESTMissing or malformed request body
400CLAIM_TOO_SHORThighlighted_span must be at least 10 characters
401UNAUTHORIZEDMissing or invalid Bearer token
402QUOTA_EXCEEDEDMonthly request limit reached (Metered plan)
429RATE_LIMIT_EXCEEDEDToo many requests per minute
500MODEL_ERROROne or more AI models failed — partial result may be returned
503SERVICE_UNAVAILABLEAPI temporarily unavailable — retry with exponential backoff

Ready to start building?

Get your API key today. Metered, Always-On, and Enterprise plans available.

See API Plans & Pricing Request API Key