v2

latestOpenAPI 3.1.0Proprietary2026-08-05143259.2 KB
news

Insider-transaction news (SEC Form 4)

Dedicated insider feed (category=insider): SEC EDGAR Form 4 insider activity ONLY — one deterministic-templated row per filing event (a filing's non-derivative trades of one type and holding form, aggregated: total shares, volume-weighted average price and executed range, total value), surfaced shortly after filing, with the relevance score computed from the event's total (size, buy vs. sell, 10b5-1 plan or not). Same enriched shape, ticker and relevance_score >= 4 filtering, and cursor-based pagination as /api/news/. Equivalent to /api/news/?category=insider, surfaced as a first-class route. For aggregate stats instead of the stream, see /api/symbols/{ticker}/insider-summary/.

To watch for new filings, poll with sort=ingested rather than re-reading the newest page: a Form 4 is filed up to several days after the trade it reports, so a new event often enters the feed already below the head of the publish-ordered page. Delta mode orders by the moment the row became available, so it never misses one. The contract is identical to /api/news/?sort=ingested — see that endpoint for the full description.

get/api/news/insider/

Query parameters

cursorstring

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

symbolstring
Example:NVDA

Filter to insider news that mentions this ticker. Delisted symbols return their history; a renamed company's current ticker also matches rows tagged with its former ticker.

min_relevanceinteger

Override the default ≥4 threshold. Insider rows score deterministically from the event's summed dollar value (plus buy/10b5-1 modifiers), so this acts as an "only large trades" dial — e.g. min_relevance=7 keeps roughly $10M+ events.

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/: rows in the order they became available, ascending, next_cursor always returned (empty results = caught up), and all other filters applied unchanged. Prefer it for watching insider activity — a Form 4 is filed days after the trade it reports, so a new event routinely lands below the newest page of the publish-ordered feed and a poller reading only the head misses it. 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 insider-transaction articles. Each item additionally carries the structured insider event block (side / shares / average price / total value / reporting owner) — populated on this endpoint only.

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"
      }
    }
  ]
}