AnswerPool

Insider Re-check API: Half-cent poll: ids of insider events added or updated since your — SEC Form 4

Half-cent poll: ids of insider events added or updated since your cursor, with the next cursor and the URL of the full feed. Call it in a loop; fetch the feed only when changed > 0.

$0.005 per call — pay with prepaid card credits (Authorization: Bearer ck_live_…, packs from $1) or with USDC over x402: call it, get 402 with the price, retry signed. Failed calls are never charged.

How do you call it?

GET /v1/sec/insider/changes — product id sec_insider_changes. Over MCP, call answerpool_get with product_id=sec_insider_changes.

curl "https://answerpool.io/v1/sec/insider/changes?cursor=c1_2026-09-16T12%3A00%3A00"

# with a prepaid credit key
curl -H "Authorization: Bearer ck_live_..." "https://answerpool.io/v1/sec/insider/changes?cursor=c1_2026-09-16T12%3A00%3A00"

Live call: https://answerpool.io/v1/sec/insider/changes?cursor=c1_2026-09-16T12%3A00%3A00 · JSON sample: /v1/samples/sec_insider_changes

What does the answer look like?

A representative response, the same static sample served at /v1/samples/sec_insider_changes.

as_of2026-09-16T12:15:00Z
feedsec_insider
changed2
addedev_7b22e0, ev_7b22e1
updated(empty)
truncatedfalse
emptyfalse
cursor_fromc1_2026-09-16T12:00:00
next_cursorc1_2026-09-16T12:15:00
window.from2026-09-16T12:00:00
window.to2026-09-16T12:15:00
full_feed_url/v1/sec/insider/since?since=2026-09-16T12:00:00
coverage_started_at2026-08-27T00:00:00
refresh_after2026-09-17T11:15:00.000Z

next_endpoints

pathurldescriptionsince the same cursor timeprice_usd
/v1/sec/insider/since/v1/sec/insider/since?since=2026-09-16T12:00:00The rows themselves0.0
The same sample as raw JSON
{
 "as_of": "2026-09-16T12:15:00Z",
 "feed": "sec_insider",
 "changed": 2,
 "added": [
  "ev_7b22e0",
  "ev_7b22e1"
 ],
 "updated": [],
 "truncated": false,
 "empty": false,
 "cursor_from": "c1_2026-09-16T12:00:00",
 "next_cursor": "c1_2026-09-16T12:15:00",
 "window": {
  "from": "2026-09-16T12:00:00",
  "to": "2026-09-16T12:15:00"
 },
 "full_feed_url": "/v1/sec/insider/since?since=2026-09-16T12:00:00",
 "coverage_started_at": "2026-08-27T00:00:00",
 "next_endpoints": [
  {
   "path": "/v1/sec/insider/since",
   "url": "/v1/sec/insider/since?since=2026-09-16T12:00:00",
   "description": "The rows themselves",
   "since the same cursor time": null,
   "price_usd": 0.0
  }
 ],
 "refresh_after": "2026-09-17T11:15:00.000Z"
}

How fresh is it, and where does the data come from?

The fastest source behind this answer can change every 15 minutes, so every response carries a refresh_after timestamp — right now it would be 2026-09-17T11:15:00.000Z. Schedule the next call on that value rather than on a guess.

Method version 0.1.0 · serving cache 0 days · every response carries a result_id you can resolve at /v1/provenance.

What should you call next?

When should you use it?

A polling loop that needs to know whether anything happened, cheaply, before deciding to fetch and parse rows.

What you skip building

When should you not use it?

Screening or scoring insiders — /v1/sec/insider/screen and /clusters do that. Backfills — cursors are clamped to 7 days; fetch the full feed instead.

Where else can you find this?