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
- Every score ships with the spans of text that produced it.
- Every engine runs standalone and is sold standalone.
- Quotations are never edited. Charged language inside them is measured, not removed.
- Summaries are made by our own engines, never by a language model or an outside service. Inshorts extracts up to fifty words; Summarize picks the sentence that carries the story, cuts it to thirty words and swaps long words for everyday ones. Nothing is generated.
- Images and video are scored too. A picture editor’s choice is an editorial act, and evidence drawn from it is marked source:"media".
- We do not adjudicate truth. Fact-check verdicts are other organisations’ published ratings, attributed and linked.
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
| Endpoint | Billed 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.