Endpoints endpoints
Live reference pulled from https://api.wpnews.pro/openapi.json. Every endpoint returns JSON over HTTPS with CORS open to the world.
articles
GET/api/v1/articlesapplication/json
List Articles
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| limit | query | integer | no | (default 20) |
| offset | query | integer | no | (default 0) |
| date_from | query | string | no | Filter articles published on or after YYYY-MM-DD or ISO8601 datetime |
| date_to | query | string | no | Filter articles published on or before YYYY-MM-DD or ISO8601 datetime |
| since | query | string | no | ISO8601 datetime — return only articles newer than this (for agent polling). Overrides date_from. |
| sentiment | query | string | no | Filter by sentiment: positive, negative, or neutral |
POST/api/v1/articlesapplication/json
Create Or Update Article
GET/api/v1/articles/archiveapplication/json
Articles Archive Index — List of months that have published articles, sorted newest-first.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
GET/api/v1/articles/archive/{year}/{month}application/json
Articles Archive Month — All articles published in a given year/month, paginated.
parameters
| name | in | type | req | description |
| year | path | integer | yes | |
| month | path | integer | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 50) |
| offset | query | integer | no | (default 0) |
GET/api/v1/articles/batchapplication/json
Articles Batch — Fetch multiple articles in one call by comma-separated slugs (tool #71).
parameters
| name | in | type | req | description |
| slugs | query | string | yes | Comma-separated article slugs (max 20) |
| lang | query | string | no | (default en) |
POST/api/v1/articles/batchapplication/json
Batch Fetch Articles — Fetch multiple articles by slug in a single request (max 50).
GET/api/v1/articles/exportapplication/json
Articles Export — Bulk article export — JSONL or CSV.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| sentiment | query | string | no | |
| date_from | query | string | no | Start date YYYY-MM-DD |
| date_to | query | string | no | End date YYYY-MM-DD |
| limit | query | integer | no | Max articles — Pro allows up to 5000 (default 500) |
| format | query | string | no | Output format: jsonl or csv (default jsonl) |
| include_body | query | boolean | no | Include full article body (body_md). Pro only. (default False) |
GET/api/v1/articles/featuredapplication/json
Articles Featured — Return top-quality articles ranked by entity+topic density (tool #64).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max articles to return (default 5) |
GET/api/v1/articles/highlightsapplication/json
Articles Highlights — Top articles ranked by entity density (entity count × topic count).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | Look-back window (1-30 days) (default 7) |
| limit | query | integer | no | Number of highlights (1-20) (default 5) |
| sentiment | query | string | no | Filter: positive, negative, neutral |
GET/api/v1/articles/hotapplication/json
Articles Hot — Breaking news radar — freshness × quality ranked articles (tool #68).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 6) |
| limit | query | integer | no | Max articles to return (default 10) |
GET/api/v1/articles/hourly-activityapplication/json
Hourly Activity — Hourly article publication counts for sparklines and anomaly detection (tool #70).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-168, default 24) (default 24) |
GET/api/v1/articles/recentapplication/json
Articles Recent — Return articles published in the last N hours — optimised for agent polling.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1–168) (default 6) |
| limit | query | integer | no | Max articles to return (1–50) (default 10) |
| topic | query | string | no | |
GET/api/v1/articles/sinceapplication/json
Articles Since — Return articles published AFTER a given timestamp checkpoint — perfect for agent polling loops.
parameters
| name | in | type | req | description |
| ts | query | string | yes | ISO 8601 timestamp checkpoint, e.g. 2026-05-19T14:00:00Z |
| lang | query | string | no | (default en) |
| limit | query | integer | no | Max articles to return (default 20) |
| topic | query | string | no | |
GET/api/v1/articles/streamapplication/json
Articles Stream — Stream articles as NDJSON (newline-delimited JSON).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| limit | query | integer | no | (default 50) |
| sentiment | query | string | no | |
GET/api/v1/articles/{slug}application/json
Get Article Detail — Return full article data as clean JSON (not JSON-LD).
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
GET/api/v1/articles/{slug}/clusterapplication/json
Get Article Cluster — Articles covering the same story as `slug` within ±`hours`.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 48) |
| limit | query | integer | no | (default 5) |
GET/api/v1/articles/{slug}/contextapplication/json
Article Context — Enriched article context for RAG and LLM injection.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| include_related | query | boolean | no | Include related articles section (default True) |
| include_entity_briefs | query | boolean | no | Include brief for top 2 entities (Pro: adds ~200 tokens) (default False) |
| format | query | string | no | json or markdown (default json) |
GET/api/v1/articles/{slug}/neighborsapplication/json
Article Neighbors — Previous and next article for sequential reading by agents.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
GET/api/v1/articles/{slug}/reactionsapplication/json
Get Reactions — Get emoji reaction counts for an article.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
POST/api/v1/articles/{slug}/reactionsapplication/json
Add Reaction — Add an emoji reaction to an article (rate-limited).
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
GET/api/v1/articles/{slug}/relatedapplication/json
Get Related Articles — Return articles related to the given slug (topic+entity overlap, ranked).
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 4) |
GET/api/v1/articles/{slug}/similarapplication/json
Get Similar Articles — Return articles most similar to the given article (Pro).
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 5) |
POST/api/v1/articles/{slug}/viewapplication/json
Record View — Record a page view for analytics (beacon-safe, no body returned).
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
search
GET/api/v1/searchapplication/json
Search Articles — Full-text search across title, summary, and body.
parameters
| name | in | type | req | description |
| q | query | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
| offset | query | integer | no | (default 0) |
| topic | query | string | no | Filter by topic slug (default ) |
| date_from | query | string | no | YYYY-MM-DD — earliest published date (default ) |
| date_to | query | string | no | YYYY-MM-DD — latest published date (default ) |
| highlight | query | boolean | no | Include title_hl and summary_snippet fields (default False) |
GET/api/v1/search/suggestapplication/json
Search Suggest — Lightweight autocomplete — returns title+slug only, no rate-limit key required.
parameters
| name | in | type | req | description |
| q | query | string | no | (default ) |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 6) |
topics
GET/api/v1/topicsapplication/json
List Topics
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
GET/api/v1/topics/compareapplication/json
Topics Compare — Side-by-side topic coverage comparison.
parameters
| name | in | type | req | description |
| slugs | query | string | yes | Comma-separated topic slugs, 2–4 (e.g. artificial-intelligence,cybersecurity) |
| lang | query | string | no | (default en) |
| days | query | integer | no | Look-back window in days (default 30) |
GET/api/v1/topics/compare-timelineapplication/json
Topics Compare Timeline — Side-by-side daily article count for 2–4 topics over the past N days.
parameters
| name | in | type | req | description |
| slugs | query | string | yes | Comma-separated topic slugs (2-4), e.g. artificial-intelligence,cybersecurity |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/topics/emergingapplication/json
Topics Emerging — Detect newly emerging topics — those with negligible prior coverage that are gaining traction.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| window | query | integer | no | Recent window in days to evaluate (default 7) |
| baseline | query | integer | no | Baseline window in days for comparison (default 30) |
| min_recent | query | integer | no | Min articles in recent window to qualify (default 2) |
GET/api/v1/topics/heatmapapplication/json
Topics Heatmap — Topic coverage heatmap — intensity matrix for all topics over N days.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | Number of days (7-90) (default 30) |
GET/api/v1/topics/momentumapplication/json
Topics Momentum — Topic momentum: compare article volume this week vs last week.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 14) |
GET/api/v1/topics/suggestapplication/json
Topics Suggest — Fuzzy-match topic slugs from a free-text query.
parameters
| name | in | type | req | description |
| q | query | string | yes | Free-text query to match topic slugs |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 5) |
GET/api/v1/topics/{slug}application/json
Topic Detail — Metadata for a single topic: article count, recent articles, top entities.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
GET/api/v1/topics/{slug}/articlesapplication/json
Topic Articles — Articles for a specific topic slug, newest first.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
| offset | query | integer | no | (default 0) |
GET/api/v1/topics/{slug}/digestapplication/json
Topic Digest — Single-call topic digest: top articles + entities + sentiment + momentum.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 48) |
| limit | query | integer | no | (default 5) |
GET/api/v1/topics/{slug}/entitiesapplication/json
Topic Entities — Top entities mentioned in a topic's articles over the last N days.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 15) |
| days | query | integer | no | (default 30) |
GET/api/v1/topics/{slug}/keywordsapplication/json
Topic Keywords — Top keywords and bigrams extracted from article titles in this topic.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 14) |
| limit | query | integer | no | (default 30) |
GET/api/v1/topics/{slug}/narrativeapplication/json
Topic Narrative — Story arc for a topic: how the narrative has evolved over time.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/topics/{slug}/pulseapplication/json
Topic Pulse — Ultra-compact topic snapshot — one sentence, ready for agent system prompts.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-72) (default 24) |
GET/api/v1/topics/{slug}/relatedapplication/json
Topic Related — Topics that most frequently co-occur with the given topic.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
| limit | query | integer | no | (default 10) |
GET/api/v1/topics/{slug}/reportapplication/json
Topic Report — Analytics report for a topic: 30-day overview with WoW comparison.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/topics/{slug}/timelineapplication/json
Topic Timeline — Daily article count timeline for a topic — useful for trend charts.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | Number of days to show (1-90) (default 14) |
GET/api/v1/topics/{slug}/top-entitiesapplication/json
Topic Top Entities — Top named entities (persons, orgs, products) mentioned in a topic's articles.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 14) |
| limit | query | integer | no | (default 20) |
entities
GET/api/v1/entitiesapplication/json
List Entities — All named entities (companies, people, orgs) mentioned across articles.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| min_count | query | integer | no | (default 2) |
| limit | query | integer | no | (default 100) |
GET/api/v1/entities/compareapplication/json
Entities Compare — Side-by-side coverage comparison for multiple entities.
parameters
| name | in | type | req | description |
| names | query | string | yes | Comma-separated entity names, e.g. OpenAI,Anthropic,Google |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/entities/graphapplication/json
Entities Graph — Entity co-occurrence graph — edges represent entities mentioned in the same articles.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
| min_cooccurrences | query | integer | no | Minimum shared articles (default 3) |
| limit | query | integer | no | Max edges to return (default 50) |
GET/api/v1/entities/searchapplication/json
Entities Search — Search entity names by partial match (case-insensitive).
parameters
| name | in | type | req | description |
| q | query | string | yes | Partial name to search for |
| lang | query | string | no | (default en) |
| min_count | query | integer | no | Minimum mention count (default 1) |
| limit | query | integer | no | (default 10) |
GET/api/v1/entities/trendingapplication/json
Trending Entities — Entities trending by mention velocity over the past N days.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 7) |
| limit | query | integer | no | (default 20) |
GET/api/v1/entities/{name}/articlesapplication/json
Entity Articles — Articles mentioning a specific entity, newest first.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
| offset | query | integer | no | (default 0) |
GET/api/v1/entities/{name}/briefapplication/json
Entity Brief — Single-call entity brief: recent articles + sentiment + co-occurrences + coverage trend.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 72) |
| limit | query | integer | no | (default 5) |
GET/api/v1/entities/{name}/cooccurrencesapplication/json
Entity Cooccurrences — Entities frequently co-mentioned with `name` in the same articles.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 8) |
GET/api/v1/entities/{name}/news-flashapplication/json
Entity News Flash — Breaking news for a specific entity — articles published in the last 1-12 hours.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-12) (default 2) |
| limit | query | integer | no | (default 10) |
GET/api/v1/entities/{name}/pulseapplication/json
Entity Pulse — Ultra-compact entity snapshot — one sentence, ~20 tokens, ready for system prompts.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-72) (default 24) |
GET/api/v1/entities/{name}/reportapplication/json
Entity Report — 30-day analytics report for a named entity (company, person, product).
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/entities/{name}/sentimentapplication/json
Entity Sentiment — Sentiment breakdown of articles mentioning a specific entity.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
GET/api/v1/entities/{name}/timelineapplication/json
Entity Timeline — Daily article count mentioning `name` for the past N days.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 30) |
intelligence
GET/api/v1/intelligence/eventsapplication/json
List Intelligence Events — List structured AI intelligence events (model releases, funding rounds, OSS releases, etc.).
parameters
| name | in | type | req | description |
| event_type | query | string | no | Filter by event type, e.g. model_release |
| entity | query | string | no | Filter by entity slug |
| days | query | integer | no | Limit to events seen in the last N days |
| since | query | string | no | ISO datetime lower bound on last_seen_at |
| min_confidence | query | number | no | Minimum confidence score (0–1) |
| limit | query | integer | no | (default 20) |
| offset | query | integer | no | (default 0) |
GET/api/v1/intelligence/events/{event_id}application/json
Get Intelligence Event — Get a single intelligence event by ID, including source articles and topics.
parameters
| name | in | type | req | description |
| event_id | path | integer | yes | |
stats
GET/api/v1/statsapplication/json
Stats — Public site statistics — cached 5 minutes.
GET/api/v1/stats/risingapplication/json
Stats Rising — Articles with the highest view velocity: views gained today vs yesterday.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 10) |
GET/api/v1/stats/sentimentapplication/json
Stats Sentiment — Daily sentiment breakdown for the past N days (max 90).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 14) |
GET/api/v1/stats/topicsapplication/json
Stats Topics — Article count per topic, sorted by count descending. Cached 5 minutes.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
GET/api/v1/stats/topics/trendsapplication/json
Stats Topics Trends — Daily article counts for the top `limit` topics over the past `days` days.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 7) |
| limit | query | integer | no | (default 12) |
GET/api/v1/stats/viewsapplication/json
Stats Views — Top articles by view count for the past N days.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 7) |
| limit | query | integer | no | (default 20) |
GET/stats/usageapplication/json
Stats Usage — Admin-only durable usage metering (the x402 billing-accounting layer).
digest
GET/api/v1/digest/agentapplication/json
Agent Digest — Compact news digest optimised for LLM context windows.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-168, default 24) (default 24) |
| max_articles | query | integer | no | Max articles to include (default 30) |
GET/api/v1/digest/customapplication/json
Custom Digest — Personalised digest filtered by specific topics and/or entity names.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topics | query | string | no | Comma-separated topic slugs to include |
| entities | query | string | no | Comma-separated entity names to include |
| hours | query | integer | no | (default 24) |
| limit | query | integer | no | (default 10) |
GET/api/v1/digest/dailyapplication/json
Daily Digest — Structured daily digest — top article per topic for a given date.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| date | query | string | no | ISO date YYYY-MM-DD (default: today UTC) |
GET/api/v1/digest/discordapplication/json
Discord Digest — Discord webhook embeds formatted news digest — ready to POST to a Discord webhook.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max articles to include (1-15) (default 5) |
| topic | query | string | no | Filter by topic slug |
GET/api/v1/digest/emailapplication/json
Email Digest — HTML email digest — inline-CSS, ready for SendGrid, Mailchimp, Resend, or AWS SES.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 24) |
| limit | query | integer | no | (default 6) |
| title | query | string | no | (default AI & Tech News Digest) |
| accent | query | string | no | Hex accent color without # (default 2563eb) |
GET/api/v1/digest/slackapplication/json
Slack Digest — Slack Block Kit formatted news digest — ready to POST to a Slack webhook.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max articles to include (1-20) (default 5) |
| topic | query | string | no | Filter by topic slug |
GET/api/v1/digest/teamsapplication/json
Teams Digest — Microsoft Teams Adaptive Card digest — ready to POST to a Teams incoming webhook.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max articles to include (1-15) (default 5) |
| topic | query | string | no | Filter by topic slug |
GET/api/v1/digest/voiceapplication/json
Voice Digest — TTS-ready AI news briefing — clean plain-text sentences with no markdown.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max stories to include (1-10) (default 5) |
| topic | query | string | no | Filter by topic slug |
GET/api/v1/digest/weeklyapplication/json
Weekly Digest — Structured weekly digest — top 3 articles per topic for a given ISO week.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| week | query | string | no | ISO week YYYY-Www (default: current week) |
trending
GET/api/v1/trendingapplication/json
Get Trending — Top articles by view count over the past N days.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | (default 7) |
| limit | query | integer | no | (default 10) |
sources
GET/api/v1/sourcesapplication/json
List Sources — All RSS feed sources ingested by the pipeline.
GET/api/v1/sources/qualityapplication/json
Sources Quality — Source quality metrics — article volume, topic diversity, entity density per source.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 50) |
feed
GET/feed/atomapplication/json
Feed Atom — Atom 1.0 feed — supports ?topic= and ?entity= filters.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| entity | query | string | no | |
| limit | query | integer | no | (default 20) |
GET/feed/customapplication/json
Custom Rss Feed — Custom RSS 2.0 feed combining multiple topic slugs.
parameters
| name | in | type | req | description |
| topics | query | string | yes | Comma-separated topic slugs, up to 5 |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
GET/feed/entities/{name}application/json
Entity Rss Feed — Canonical per-entity RSS 2.0 feed.
parameters
| name | in | type | req | description |
| name | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
GET/feed/jsonapplication/json
Feed Json Feed — JSON Feed 1.1 — supports ?topic= and ?entity= filters.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| entity | query | string | no | |
| limit | query | integer | no | (default 20) |
GET/feed/rssapplication/json
Feed Rss — RSS 2.0 feed — supports ?topic= and ?entity= filters.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| entity | query | string | no | |
| limit | query | integer | no | (default 20) |
GET/feed/topics/{slug}application/json
Topic Rss Feed — Canonical per-topic RSS 2.0 feed.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
| limit | query | integer | no | (default 20) |
webhooks
GET/api/v1/webhooksapplication/json
List Webhooks — List registered webhooks for current API key.
POST/api/v1/webhooksapplication/json
Register Webhook — Register a webhook URL (Pro tier required).
DELETE/api/v1/webhooks/{webhook_id}application/json
Delete Webhook — Delete a webhook (owner only).
parameters
| name | in | type | req | description |
| webhook_id | path | integer | yes | |
POST/api/v1/webhooks/{webhook_id}/testapplication/json
Test Webhook — Fire a test payload to the webhook URL and return the HTTP response status.
parameters
| name | in | type | req | description |
| webhook_id | path | integer | yes | |
watchlist
GET/api/v1/watchlist/digestapplication/json
Watchlist Digest — Personalized digest of new articles for all your watched entities and topics.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 24) |
| limit_per_item | query | integer | no | (default 5) |
GET/api/v1/watchlist/itemsapplication/json
Watchlist List Items — List all watchlist items for the authenticated API key.
POST/api/v1/watchlist/itemsapplication/json
Watchlist Add Item — Add an entity or topic to your watchlist (requires API key).
DELETE/api/v1/watchlist/items/{item_id}application/json
Watchlist Delete Item — Remove an item from your watchlist.
parameters
| name | in | type | req | description |
| item_id | path | integer | yes | |
me
GET/api/v1/meapplication/json
Api Key Info — Return info about the current API key and usage history.
parameters
| name | in | type | req | description |
| days | query | integer | no | (default 30) |
GET/api/v1/me/quickstartapplication/json
Api Key Quickstart — Personalised quickstart guide for the current API key — 5 recommended first calls.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
activity-index
GET/api/v1/activity-indexapplication/json
Activity Index — AI news activity index — a single 0-100 score showing today's coverage intensity vs baseline.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| baseline_days | query | integer | no | Baseline window for mean/std calculation (default 30) |
adaptive-context
GET/api/v1/adaptive-contextapplication/json
Adaptive Context — Adaptive context loader — auto-selects token budget based on news activity (tool #66).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| force_mode | query | string | no | Override auto mode: 'quiet'|'normal'|'surge' (default ) |
agent-quickstart
GET/api/v1/agent-quickstartapplication/json
Agent Quickstart — Agent-readable quickstart guide — recommended workflow, available tools, and examples.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
alerts
POST/api/v1/alertsapplication/json
Create Alert — Subscribe to keyword alerts via API (no API key required, double opt-in via email).
DELETE/api/v1/alerts/{token}application/json
Delete Alert — Unsubscribe from a keyword alert using the token from the confirmation email.
parameters
| name | in | type | req | description |
| token | path | string | yes | |
anomalies
GET/api/v1/anomaliesapplication/json
Coverage Anomalies — Detect statistical anomalies in AI news coverage.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | Baseline window in days (7-30) (default 14) |
| threshold | query | number | no | Z-score threshold for spike detection (default 2.0) |
GET/api/v1/anthropic-tools.jsonapplication/json
Anthropic Tools Schema — Anthropic tool_use format — ready to paste into the Anthropic Python SDK tools= parameter.
article
GET/article/{slug}.jsonapplication/json
Article Json
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
GET/article/{slug}.mdapplication/json
Article Md
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
GET/article/{slug}.txtapplication/json
Article Txt
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
bookmarks
GET/api/v1/bookmarksapplication/json
List Bookmarks — List bookmarks for current API key with article metadata.
parameters
| name | in | type | req | description |
| lang | query | string | no | |
| limit | query | integer | no | (default 50) |
| offset | query | integer | no | (default 0) |
POST/api/v1/bookmarksapplication/json
Add Bookmark — Save a bookmark (requires API key; all tiers).
DELETE/api/v1/bookmarks/{slug}application/json
Remove Bookmark — Remove a bookmark by article slug.
parameters
| name | in | type | req | description |
| slug | path | string | yes | |
| lang | query | string | no | (default en) |
brief
GET/api/v1/briefapplication/json
Smart Brief — Unified smart briefing — top topics + trending entities + recent articles in one call.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 24) |
| topics | query | integer | no | (default 5) |
| articles | query | integer | no | (default 5) |
bulletin
GET/api/v1/bulletinapplication/json
Daily Bulletin — Ultra-compact AI news bulletin — ideal for agent briefings and voice interfaces.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1-72) (default 24) |
| items | query | integer | no | Number of bullet points (default 5) |
| format | query | string | no | Output format: text | markdown | json (default text) |
changelog.json
GET/api/v1/changelog.jsonapplication/json
Api Changelog — Machine-readable API changelog.
context
GET/api/v1/contextapplication/json
Context Injection — Ready-to-inject context block for LLM system prompts.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Max articles to include (default 15) |
| topic | query | string | no | Filter by topic slug |
| format | query | string | no | Output format: text | markdown | json (default text) |
coverage
GET/api/v1/coverage/gapsapplication/json
Coverage Gaps — Topics with no recent coverage despite established activity.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Silence window — topics with no articles in this many hours (default 24) |
| min_weekly | query | integer | no | Minimum weekly articles to be considered 'established' (default 3) |
| limit | query | integer | no | (default 10) |
daily-brief
GET/api/v1/daily-briefapplication/json
Daily Brief — Structured daily AI news brief — one call for newsletter generators and morning briefing agents.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| date | query | string | no | YYYY-MM-DD (default: today UTC) (default ) |
| limit | query | integer | no | (default 5) |
demo
GET/api/v1/demoapplication/json
Demo Endpoint — Keyless demo endpoint — see real wpnews AI output without an API key.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
events
GET/api/v1/eventsapplication/json
Article Events — Server-Sent Events stream of new articles.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| topic | query | string | no | |
| since_id | query | integer | no | Last seen article ID — poll for articles newer than this (default 0) |
| limit | query | integer | no | (default 20) |
POST/api/v1/events/sponsor-clickapplication/json
Sponsor Click — Track sponsor click events in the KPI table.
parameters
| name | in | type | req | description |
| partner | query | string | no | (default unknown) |
headlines
GET/api/v1/headlinesapplication/json
Get Headlines — Ultra-compact AI news headlines — title + slug only, ~8 tokens per item.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (default 24) |
| limit | query | integer | no | Number of headlines (default 20) |
| topic | query | string | no | Filter by topic slug |
| sentiment | query | string | no | Filter by sentiment: positive/negative/neutral |
health
GET/healthapplication/json
Health — Deep health check — verifies DB connectivity and returns article counts.
insights
GET/api/v1/insights/weeklyapplication/json
Insights Weekly — Weekly intelligence brief — structured summary of the past 7 days in AI news.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
keywords
GET/api/v1/keywords/trendingapplication/json
Trending Keywords — Trending keywords and phrases extracted from recent article titles.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | Look-back window in days (default 7) |
| limit | query | integer | no | Max keywords to return (default 30) |
| bigrams | query | boolean | no | Include two-word phrases (default True) |
market-pulse
GET/api/v1/market-pulseapplication/json
Market Pulse — AI news market pulse — financial-style snapshot of the AI ecosystem.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
mcp
POST/mcp/messagesapplication/json
Mcp Messages — MCP message endpoint — receives JSON-RPC 2.0 requests for a session.
parameters
| name | in | type | req | description |
| sessionId | query | string | yes | |
GET/mcp/sseapplication/json
Mcp Sse — MCP SSE transport endpoint — clients connect here to start a session.
GET/mcp/toolsapplication/json
Mcp Tools List — Convenience endpoint — list available MCP tools as plain JSON (no SSE required).
morning-briefing
GET/api/v1/morning-briefingapplication/json
Morning Briefing — Agent morning briefing — single call for full situational awareness (tool #69).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Hot articles look-back window (default 6) |
news-flash
GET/api/v1/news-flashapplication/json
News Flash — Ultra-fresh articles published in the last 1–12 hours.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (1–12) (default 2) |
| limit | query | integer | no | Max articles to return (default 10) |
news-velocity
GET/api/v1/news-velocityapplication/json
News Velocity — Real-time news velocity — publication rate vs historical baseline (tool #67).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
newsletter
GET/api/v1/newsletter/statsapplication/json
Newsletter Stats — Public newsletter statistics — subscriber count and last digest info.
POST/api/v1/newsletter/subscribeapplication/json
Api Newsletter Subscribe — Subscribe an email address to the newsletter.
GET/api/v1/openai-tools/{function_name}/urlapplication/json
Openai Tool Url — Resolve an OpenAI tool call to a wpnews API URL.
parameters
| name | in | type | req | description |
| function_name | path | string | yes | |
GET/api/v1/openai-tools.jsonapplication/json
Openai Tools Schema — OpenAI-compatible function calling tools array.
premium
GET/premiumapplication/json
Premium Challenge — x402 price-discovery challenge — the `challenge_endpoint` advertised in
pricing.json
GET/pricing.jsonapplication/json
Pricing Json — Machine-readable access pricing for agents.
pulse
GET/api/v1/pulseapplication/json
Ecosystem Pulse — AI ecosystem pulse — ultra-compact state snapshot (tool #65).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
radar
GET/api/v1/radarapplication/json
News Radar — Single-call situational awareness for AI agents.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | (default 24) |
rag
GET/rag/queryapplication/json
Rag Query Get — Agent-first RAG retrieval: query -> ranked passages + citations (GET).
parameters
| name | in | type | req | description |
| q | query | string | no | (default ) |
| k | query | integer | no | (default 5) |
| topic | query | string | no | (default ) |
| date_from | query | string | no | (default ) |
| date_to | query | string | no | (default ) |
POST/rag/queryapplication/json
Rag Query Post — Agent-first RAG retrieval — JSON body variant for long/structured queries.
recommendations
POST/api/v1/recommendationsapplication/json
Get Recommendations — Return personalized article recommendations based on reading history.
report
GET/api/v1/report/weekly.mdapplication/json
Weekly Report Md — Full Markdown weekly AI news report — ready for newsletters, Slack, and Notion.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
source-reliability
GET/api/v1/source-reliabilityapplication/json
Source Reliability — Rank AI news sources by activity, recency, and topic diversity.
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| days | query | integer | no | Lookback window in days (default 30) |
| min_articles | query | integer | no | Minimum articles to be included (default 2) |
| limit | query | integer | no | (default 20) |
status
GET/api/v1/statusapplication/json
Api Status — Structured API status — for SLA monitoring and uptime dashboards.
stories
GET/api/v1/storiesapplication/json
Get Stories — Cluster related articles into ongoing 'stories' (narrative threads).
parameters
| name | in | type | req | description |
| lang | query | string | no | (default en) |
| hours | query | integer | no | Look-back window in hours (6-168) (default 48) |
| topic | query | string | no | Filter clusters to a specific topic slug |
| min_sources | query | integer | no | Min distinct sources to include a story (default 1) |
| limit | query | integer | no | Max stories to return (default 10) |