Agentic News Feed API
Your story feed with per-agent filtering, sorting by date/score/watch, read state tracking, and pagination. Use `watchId` to get stories for a specific agent. Requires auth.
Your story feed with per-agent filtering, sorting by date/score/watch, read state tracking, and pagination. Use `watchId` to get stories for a specific agent. Requires auth.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/agentic-news-ai:agentic-news-ai-feed-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Agentic News Ai Feed API
version: 1.0.0
contact:
name: Agentic News
url: https://agentic-news.ai
description: 'Operations tagged Feed across 2 of this provider''s published API definitions: openapi.json, agentic-news-ai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.agentic-news.ai
description: Production
tags:
- name: Feed
description: Your story feed with per-agent filtering, sorting by date/score/watch, read state tracking, and pagination. Use `watchId` to get stories for a specific agent. Requires auth.
paths:
/alerts:
get:
summary: Get stories from your agents
tags:
- Feed
description: Returns story matches from your monitoring agents with full cluster data, AI-generated hooks, and read state. Filter by agent using `watchId`, sort by date/score/watch name, and paginate. Only shows validated matches (accepted or borderline).
parameters:
- schema:
type: string
in: query
name: watchId
required: false
description: Filter to a specific agent/watch (UUID)
- schema:
type: integer
default: 50
in: query
name: limit
required: false
description: Max stories to return (1-100)
- schema:
type: integer
default: 0
in: query
name: offset
required: false
description: Pagination offset
- schema:
type: string
enum:
- article-date
- match-date
- score
- watch-name
default: article-date
in: query
name: sortBy
required: false
description: Sort order
- schema:
type: string
enum:
- all
- read
- unread
default: all
in: query
name: readFilter
required: false
description: Filter by read status
- schema:
type: integer
in: query
name: minThreshold
required: false
description: Minimum match score (0-100). Defaults to agent's configured threshold.
- schema:
type: string
enum:
- 'true'
- 'false'
in: query
name: skipCount
required: false
description: Skip expensive count query
security:
- apiKey: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
alerts:
type: array
items:
type: object
properties:
id:
type: string
cluster:
type: object
additionalProperties: true
properties:
id:
type: string
canonical:
type:
- 'null'
- object
additionalProperties: true
properties:
id:
type: string
title:
type: string
url:
type: string
publisher:
type: string
publishedAt:
type: string
itemCount:
type: integer
entities:
type: array
items:
type: string
description: Entity names (backward-compatible)
structuredEntities:
type: array
description: Structured entity data with names, types, and optional URLs
items:
type: object
properties:
name:
type: string
type:
type: string
enum:
- company
- product
- person
- organization
- technology
- location
- unknown
url:
type: string
description: Entity website URL (when available)
topics:
type: array
items:
type: string
createdAt:
type: string
isRead:
type: boolean
lensStatus:
type: string
lensGeneratedAt:
type:
- 'null'
- string
lensError:
type:
- 'null'
- string
collectionIds:
type: array
items:
type: string
hook:
type:
- 'null'
- string
preview:
type:
- 'null'
- string
watch:
type: object
additionalProperties: true
properties:
id:
type: string
kind:
type:
- 'null'
- string
name:
type: string
description:
type:
- 'null'
- string
score:
type: number
description: Raw match score (0.0-1.0)
matchQuality:
type: integer
description: Match quality (0-100), maps to the agent's quality threshold
verdict:
type:
- 'null'
- string
verdictReasoning:
type:
- 'null'
- string
description: Stage-1 Devil's-Advocate verdict explanation, suitable for surfacing as 'Why I picked this' on a card.
digestWorthy:
type: boolean
reasons:
type: array
items:
type: string
createdAt:
type: string
additionalProperties: true
total:
type:
- 'null'
- integer
hasMore:
type: boolean
offset:
type: integer
limit:
type: integer
currentThreshold:
type: integer
nextTier:
type:
- 'null'
- object
additionalProperties: true
description: Next quality tier suggestion, or null
hasReadHistory:
type: boolean
description: Whether the user has any read history
lastReadAt:
type:
- 'null'
- string
description: ISO time of the user's most recent story read, or null
serverNow:
type: string
description: Server clock at response time; compare lastReadAt against THIS, never the browser's clock
validating:
type: boolean
description: True if matches are still being validated by LLM
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
operationId: getAlerts
x-operation-id-source: derived
servers:
- url: https://api.agentic-news.ai
description: Production
/alerts/count:
get:
summary: Count stories
tags:
- Feed
description: Lightweight count of stories matching filters. Use for pagination or badge counts.
parameters:
- schema:
type: string
in: query
name: watchId
required: false
description: Filter to a specific agent/watch (UUID)
- schema:
type: string
enum:
- all
- read
- unread
default: all
in: query
name: readFilter
required: false
- schema:
type: integer
in: query
name: minThreshold
required: false
description: Minimum match score (0-100)
security:
- apiKey: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
total:
type: integer
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
operationId: getAlertsCount
x-operation-id-source: derived
servers:
- url: https://api.agentic-news.ai
description: Production
/alerts/away-banner-shown:
post:
summary: Record that the while-you-were-away banner was shown to this reader
tags:
- Feed
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
awayHours:
type: integer
minimum: 0
unreadCount:
type: integer
minimum: 0
required:
- awayHours
additionalProperties: false
security:
- apiKey: []
responses:
'204':
description: Default Response
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
operationId: postAlertsAwayBannerShown
x-operation-id-source: derived
servers:
- url: https://api.agentic-news.ai
description: Production
/alerts/per-watch-unread-counts:
get:
summary: Unread counts per agent
tags:
- Feed
description: Returns a map of agent/watch IDs to their unread story counts. Useful for building navigation with badge counts.
security:
- apiKey: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
counts:
type: object
additionalProperties:
type: integer
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
operationId: getAlertsPerWatchUnreadCounts
x-operation-id-source: derived
servers:
- url: https://api.agentic-news.ai
description: Production
/alerts/{id}/read:
post:
operationId: markAlertRead
summary: Mark a story as read
tags:
- Feed
description: Marks the story (cluster) behind this alert as read. The `id` is the alert/match ID returned by `GET /alerts`. Optionally pass a `source` to track where the read originated (e.g. 'api', 'mcp').
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
source:
type: string
maxLength: 32
parameters:
- schema:
type: string
format: uuid
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
alertId:
type: string
clusterId:
type: string
isRead:
type: boolean
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
delete:
operationId: markAlertUnread
summary: Mark a story as unread
tags:
- Feed
description: Clears the read state for the story behind this alert. The `id` is the alert/match ID returned by `GET /alerts`.
parameters:
- schema:
type: string
format: uuid
in: path
name: id
required: true
security:
- apiKey: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
alertId:
type: string
clusterId:
type: string
isRead:
type: boolean
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
statusCode:
type: integer
requestId:
type: string
details: {}
required:
- message
- code
- statusCode
- requestId
required:
- error
servers:
- url: https://api.agentic-news.ai
description: Production
components:
securitySchemes:
apiKey:
type: http
scheme: bearer
bearerFormat: API Key or OAuth Access Token
description: 'API key starting with "ak_" or OAuth access token starting with "oa_". Create API keys at agentic-news.ai/settings/api-keys or via POST /api-keys with JWT auth. Pass as: Authorization: Bearer ak_...'
externalDocs:
description: MCP connection guide and full documentation
url: https://agentic-news.ai/settings/api-keys
x-refined-from:
- openapi.json
- agentic-news-ai-openapi.json