Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

List news articles

/api/v1/newsGET
Stored articles, newest first, with optional source, language, and topic filters.
Authorization
bearerAuth *Bearer <token>
Session token from the app, or an API key (the ak_ prefix), sent as a Bearer token or an ?api_key= query parameter.. Token in: header
Query Parameters
limit?integer
Page size.
Default: 50Min: 1Max: 500
offset?integer
Row offset.
Default: 0Min: 0
source?string
Restrict to one source id.
language?string
Restrict to one ISO 639-1 code.
topic?"politics" | "sports" | "crypto" | "other"
Restrict to one coarse beat. An unrecognized value is 400.
Response
200 · Articles plus total/limit/offset
data *object[]
Show item properties
id *string
Opaque, stable article identifier.
title?stringnull
Headline, where the source reported one.
url *string
Link to the article on the publisher's site.
source *string
Source id the article was collected under. See /api/v1/news/filters for the values in use.
published_date?string,null (date-time)
Publication time reported by the source, never later than when we ingested it.
language?stringnull
ISO 639-1 code, resolved from the source catalog. Null when the source is not in the catalog.
topic *"politics" | "sports" | "crypto" | "other"
Coarse beat of the publisher: politics, sports, crypto, or other. A source with no mapping is other.
image_url?stringnull
Lead image URL where the source provides one.
publisher?stringnull
Publishing outlet name as reported by the source.
created_at?string,null (date-time)
When this row was first recorded.
embedded *boolean
Whether a semantic-search embedding exists for this article. False whenever embeddings are disabled.
meta *object
Show properties
total *integer
Matching articles, ignoring limit and offset. At most 10000. When total_capped is true, more articles match than this number.
total_capped?boolean
True when more than 10000 articles match. total is then that ceiling. Omitted when total is the exact count.
limit *integer
Page size actually applied after clamping.
offset *integer
Row offset applied.
503 · The read exceeded its time budget, or the database cancelled it during recovery. `error` is `service_unavailable`. `message` is `The request exceeded the database time budget. Retry in a few seconds.` or `The database cancelled this read during recovery. Retry in a few seconds.` Wait `Retry-After` seconds before retrying.
error?string
Stable, machine-readable code identifying the failure; branch on this rather than on message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.
message?string
Human-readable explanation, safe to show to a user. For client errors it names the specific problem; for server-side failures it is a generic notice and the underlying detail is deliberately withheld.
Request example
curl -X GET "https://api.adjacent.markets/api/v1/news" \ -H "Authorization: Bearer <token>"