Developers

News API

Connect your website, CMS, e-paper or mobile app to your NewsDesk newsroom. JSON over HTTPS, one API key per integration.

1. Get a key

Newsroom admins create keys in News API (left menu) — read-only for websites and apps, or read & write for integrations that create stories and generate drafts. Included in the Newsroom and Enterprise plans and in the free trial.

curl -H "Authorization: Bearer isvr_your_key" https://newsdeskai.isvrd.com/api/v1/me

Every response is JSON. Errors look like {"error":"credits","message":"…"} with HTTP 401 (bad key), 402 (not enough credits), 403 (plan or scope), 404, 422 (business rule), 429 (rate limit) or 502 (AI provider).

2. Endpoints

Method & pathScopeWhat it does
GET /mereadNewsroom, plan, languages and credit balance
GET /catalogreadOutput types, languages, statuses and media formats
GET /feed?language=Hindi&since=…&limit=20readPublished stories with approved outputs and media — for websites and apps
GET /stories?status=InReview&page=1readStory list
GET /stories/{id}?approvedOnly=truereadStory with outputs and media
POST /storieswriteCreate a story from a press note: {"title","sourceText","isBreaking","submitForReview"}
POST /stories/{id}/generatewriteOne output (1 credit): {"contentType":"Professional News Article","language":"Punjabi","wordCount":250}
POST /stories/{id}/packagewriteComplete News Package
POST /stories/{id}/mediawriteQueue an AI thumbnail, newsreader MP3 or video: {"kind":"Video","outputId":"…","format":"Portrait"}
GET /jobs/{id}readMedia job status and result
GET /media/{id}readDownload an image, audio or video file

3. Example: show approved Hindi stories on your website

curl -H "Authorization: Bearer isvr_your_key" "https://newsdeskai.isvrd.com/api/v1/feed?language=Hindi&limit=10"
{
  "generatedUtc": "2026-10-06T09:30:00Z",
  "items": [{
    "id": "…", "title": "…", "isBreaking": false, "publishedUtc": "…",
    "outputs": [{ "contentType": "Professional News Article", "language": "Hindi", "headline": "…", "content": "…", "status": "Approved" }],
    "media": [{ "kind": "Image", "contentType": "image/png", "url": "/api/v1/media/…", "caption": "AI-generated illustration — not a photograph of the event." }]
  }]
}

4. Example: push a press note and get a Punjabi draft

curl -X POST https://newsdeskai.isvrd.com/api/v1/stories -H "Authorization: Bearer isvr_your_key" -H "Content-Type: application/json" \
  -d '{"title":"Blood donation camp","sourceText":"…the press note…","submitForReview":true}'

curl -X POST https://newsdeskai.isvrd.com/api/v1/stories/STORY_ID/generate -H "Authorization: Bearer isvr_your_key" -H "Content-Type: application/json" \
  -d '{"contentType":"Professional News Article","language":"Punjabi","wordCount":250}'

5. Limits & good practice

  • 120 requests per minute per key (AI generation: 20 per minute). Cache the feed for at least a minute.
  • Generated text is a draft. Publish only outputs with status: "Approved" — the feed already filters to those.
  • Keys are shown once. Revoke a leaked key immediately in News API; keep keys on your server, never in a public web page or mobile app bundle.
  • Media URLs require the same API key header.
✦ Try free Start free