v2

latestOpenAPI 3.1.0Proprietary2026-08-05143259.2 KB
news

Market-wide macro news (central banks, prints, commodities, geopolitics)

Dedicated macro feed: the macro_economy, commodities and geopolitics categories in one stream — central-bank decisions and statements (FOMC), inflation/jobs prints, oil and gold, geopolitical risk. Same enriched shape, relevance_score >= 4 floor and cursor-based pagination as /api/news/; equivalent to /api/news/?category=macro_economy,commodities,geopolitics, surfaced as a first-class route.

Macro rows are market-wide, so most carry an empty tickers list — that is by design (an FOMC statement is not news about one company), and the per-article analysis block is still populated. A macro row that IS about listed companies (an oil-price story tagged to majors) keeps its tickers.

To watch for new releases, poll with sort=ingested — same delta contract as /api/news/?sort=ingested.

get/api/news/macro/

Query parameters

cursorstring

Opaque cursor from a prior response's next_cursor. Omit for the newest page.

categorystring
Example:macro_economy

Narrow to a subset of the macro categories, comma-separated. Values outside macro_economy/commodities/geopolitics return 400 (the full category filter lives on /api/news/).

min_relevanceinteger

Override the default ≥4 threshold. On release days the release itself scores 7-9, so min_relevance=7 keeps roughly "the events" and drops the commentary.

page_sizeinteger

Items per page, default 10. Any value from 1 to 20 is accepted on every tier; 21-50 requires a Pro key. A value outside 1-50, or an over-20 page without a Pro key, returns 400.

sort'published' | 'ingested'

published (default) is the reverse-chronological feed. ingested is delta-polling mode, with the same contract as on /api/news/. Cursors are mode-specific: a cursor is only valid with the sort mode that issued it (a mismatch returns 400).

Response

A page of enriched macro articles.

next_cursorstring nullable required

Opaque cursor for the next page. Pass it back as ?cursor= with the same sort mode. Default (sort=published) feed: the next older page, null when the end of the feed has been reached. Delta mode (sort=ingested): always non-null — it is your polling position; empty results means caught up, keep the cursor and poll again later.

Example response

{
  "results": [
    {
      "enrichment": {
        "tickers": [
          "NVDA"
        ],
        "news_context_enhancement": {
          "key_entities": [
            {
              "type": "company"
            }
          ]
        }
      },
      "story_id": "788e477c66f3849b",
      "sources_count": 3,
      "sources": [
        "reuters.com",
        "apnews.com",
        "bloomberg.com"
      ],
      "insider": {
        "transaction_code": "S",
        "shares": "25000",
        "avg_price_usd": "187.32",
        "total_value_usd": "4683000",
        "insider_name": "STEVENS MARK A",
        "insider_title": "Director",
        "transaction_date": "2026-07-09",
        "filed_at": "2026-07-11T20:31:04Z"
      }
    }
  ]
}