Subscribe Sign in

API

News, no dramas: the verdicts taken out, the indicators that show what was taken, and the Niral Score that sums them up. Version 1.0.0.

Principles

Authentication

Authorization: Bearer vk_live_... (or X-API-Key)

curl -s https://mundaneread.com/v1/bias/sentiment \
  -H "Authorization: Bearer vk_live_..." \
  -H "content-type: application/json" \
  -d '{"text":"The minister slammed the plan as a reckless gamble."}'

Endpoints

EndpointBilled as
POST /v1/neutralize neutralize
POST /v1/factcheck factcheck
POST /v1/inshorts inshorts
POST /v1/summarize summarize
POST /v1/niralscore niralscore
POST /v1/adjectives adjectives
POST /v1/bias/all bias.all
POST /v1/bias/sentiment bias.sentiment
POST /v1/bias/jingoistic bias.jingoistic
POST /v1/bias/religious bias.religious
POST /v1/bias/political bias.political
POST /v1/bias/generational bias.generational
POST /v1/bias/gender bias.gender
POST /v1/bias/mood bias.mood
POST /v1/media/describe media.describe
POST /v1/fidelity headline_fidelity
POST /v1/omissions omission
GET /v1/articles articles
GET /v1/articles/:id articles
GET /v1/clusters/:id articles
GET /v1/pricing no product — free with any key
GET /v1/usage no product — free with any key
GET /v1/health no product — free with any key
POST /v1/billing/checkout no product — free with any key
POST /v1/billing/portal no product — free with any key

What comes back

Every scoring response carries the score, the confidence, and the spans of text that produced it. A score without its evidence is an opinion with a decimal point, so we do not ship one.

{
  "engine": "sentiment",
  "score": -3.52,
  "intensity": 45.6,
  "confidence": 0.81,
  "band": "negative",
  "evidence": [
    { "term": "slammed", "start": 13, "end": 20, "weight": -0.8,
      "note": "characterizing verb: tells the reader the speaker was right to be angry" }
  ]
}

The machine-readable index is at GET /v1, the full specification at /v1/openapi.json, and the live price list at /v1/pricing.