API v1 — Early Access

The API for turning articles into AI briefings and audio.

Sornic exposes its full pipeline as a REST API. Pass any article URL — get back a structured briefing with summary, takeaways, topics, and optional audio. One call.

Endpoints

EndpointWhat it doesFree limit
POST/api/v1/briefingURL → full briefing (summary + takeaways + topics)50/month
POST/api/v1/extractURL → clean article text100/month
POST/api/v1/analyzeText → AI summary + takeaways50/month
GET/api/v1/usageCurrent period usage for your keyUnlimited
POST/api/v1/ttscoming soonText → MP3 audio URL (coming soon)Coming soon

Authentication

All requests require a Sornic API key passed as a Bearer token. Generate your key on your account page (requires login).

http
Authorization: Bearer sk_sornic_<your-key>

POST /api/v1/briefing

Flagship

The main endpoint. Pass a URL — get back a full AI briefing in one call. Results are cached for 24h, so repeated requests for the same URL are free.

bash
curl -X POST https://sornic.com/api/v1/briefing \
  -H "Authorization: Bearer sk_sornic_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article"}'
json — response
{
  "requestId": "req_a1b2c3d4",
  "title": "Article Title",
  "url": "https://example.com/article",
  "summary": "2-3 sentence summary of the article...",
  "takeaways": [
    "Key point one",
    "Key point two",
    "Key point three"
  ],
  "highlights": [
    { "text": "Exact quote from article", "context": "Main argument" }
  ],
  "actionItems": ["Action if article is instructional"],
  "difficulty": "intermediate",
  "topics": ["technology", "ai", "productivity"],
  "articleType": "essay",
  "estimatedReadTime": "8 min",
  "estimatedListenTime": "5 min",
  "wordCount": 1200,
  "audioUrl": null,
  "cached": false
}

To prevent duplicate charges on retry, pass an Idempotency-Key: <uuid> header.

POST /api/v1/extract

URL → clean readable text. Removes ads, navigation, cookie banners, and boilerplate. Formatted for TTS and AI processing.

bash
curl -X POST https://sornic.com/api/v1/extract \
  -H "Authorization: Bearer sk_sornic_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article"}'

POST /api/v1/analyze

Pass article text — get back AI analysis. Combine with /extract if you need both, or use /briefing to do both in one call.

bash
curl -X POST https://sornic.com/api/v1/analyze \
  -H "Authorization: Bearer sk_sornic_..." \
  -H "Content-Type: application/json" \
  -d '{"text": "Article text here...", "title": "Optional title"}'

GET /api/v1/usage

Check your current month usage and remaining quota.

bash
curl https://sornic.com/api/v1/usage \
  -H "Authorization: Bearer sk_sornic_..."

Rate Limits

EndpointFree
/api/v1/briefing50 / month
/api/v1/extract100 / month
/api/v1/analyze50 / month
/api/v1/ttsComing soon

Limits reset on the 1st of each month. Rate-limited requests return HTTP 429 with a requestId for tracing.

Also available as an MCP server

Use Sornic directly inside Claude, Cursor, or any MCP-compatible AI client. No copy-pasting URLs — just ask your AI to brief an article and it calls Sornic automatically.

MCP setup guide →

API keys are free. Login required to generate one.

Get started free