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

Find related news

/api/v1/indices/{id}/newsGET
Related news drawn from the markets the index currently includes. When the index includes more than 8 markets, the search uses the 8 with the largest current weight. A market with no weight follows markets that have one, in market id order. Ranked by closest market match (via_market_id, via_market_question) and relevance blended with recency. total counts articles from the markets that were searched.
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
min_similarity?number
Minimum cosine similarity a result must reach.
Default: 0.38Min: 0Max: 1
recency_half_life_days?number
Recency half-life in days for the relevance-recency blend applied to the ranking: a result's score is its similarity times 0.5^(age_days / this).
Min: 0
page?integer
Page number
Default: 1Min: 1
per_page?integer
Items per page
Default: 100Min: 1Max: 500
Response
200 · Paginated related news articles
data?object[]
Show item properties
article_id *string
similarity *number (double)
Cosine similarity of the best embedding match.
title?stringnull
url?stringnull
image_url?stringnull
published_date?string,null (date-time)
source?stringnull
Where the article was published: the publisher's name when known, otherwise the site's hostname.
via_market_id?stringnull
The market this article matched most closely. Present on index news (the winning constituent market, including a constituent rate's source market) and on rate news when a source market beat the rate itself.
via_market_question?stringnull
The question text of that market.
meta?object
Show properties
total?integernull
Total number of records matching the request across every page, not just the current one. null on an uncounted list; page using has_next. A relevance-ranked search is uncounted, and a searched events list stays uncounted even with sort. A searched markets list with sort returns a total over the best 1,000 matches. A match outside that set is omitted.
page?integer
The 1-based page number this response covers.
per_page?integer
Maximum number of items on a page. The last page may hold fewer.
total_pages?integernull
Total number of pages available at the current per_page. null whenever total is null; page using has_next.
has_next?boolean
True when a page exists after this one.
has_prev?boolean
True when this is not the first page.
total_capped?boolean
True when total and total_pages reflect the server's counting ceiling rather than the exact matched count: the real set is at least total large. Render such totals as a lower bound (for example "10,000+"). Omitted when the count is exact. A sorted markets search that fills the 10,000-candidate ceiling sets this flag.
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/indices/<id>/news" \ -H "Authorization: Bearer <token>"
Response example
{ "data": [ { "article_id": "a1b2c3d4", "similarity": 0.84, "title": "Senate race tightens in Pennsylvania", "url": "https://example.com/news/senate-pa", "published_date": "2026-06-01T08:00:00Z", "source": "Reuters" }, { "article_id": "e5f6g7h8", "similarity": 0.79, "title": "New polling shifts House outlook", "url": "https://example.com/news/house-outlook", "published_date": "2026-06-01T07:30:00Z", "source": "AP" } ], "meta": { "total": 2, "page": 1, "per_page": 20, "total_pages": 1, "has_next": false, "has_prev": false } }