AnswerPool

Insider Transactions API: Get parsed Form 4/5 transaction lines for one issuer — SEC Form 4

Get parsed Form 4/5 transaction lines for one issuer — returns date, code, shares, price, USD value, security, post-holdings, owner role and Rule 10b5-1 flag, derivatives included. Use instead of fetching and parsing ownershipDocument XML per filing.

Free — no key, no signup, rate-limited to 60 calls per minute per client.

How do you call it?

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

curl "https://answerpool.io/v1/sec/insider/transactions?ticker=JEF"

Live call: https://answerpool.io/v1/sec/insider/transactions?ticker=JEF · JSON sample: /v1/samples/sec_insider_transactions

What does the answer look like?

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

as_of2026-08-31T14:00:00Z
index_started_at2026-08-27T00:00:00Z
since2026-08-01T00:00:00
count1
refresh_after2026-09-17T11:15:00.000Z

transactions

accessionfiled_atciktickercompanyowner_cikowner_nameis_officeris_directoris_ten_percent_ownerofficer_titlerule_10b5_1
0001214659-26-0111002026-08-28T21:53:580000096223JEFJEFFERIES FINANCIAL GROUP INC.0001211677HANDLER RICHARD BtruetruefalseCEOfalse
The same sample as raw JSON
{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-01T00:00:00",
 "count": 1,
 "transactions": [
  {
   "accession": "0001214659-26-011100",
   "filed_at": "2026-08-28T21:53:58",
   "cik": "0000096223",
   "ticker": "JEF",
   "company": "JEFFERIES FINANCIAL GROUP INC.",
   "owner_cik": "0001211677",
   "owner_name": "HANDLER RICHARD B",
   "is_officer": true,
   "is_director": true,
   "is_ten_percent_owner": false,
   "officer_title": "CEO",
   "rule_10b5_1": false,
   "derivative": false,
   "date": "2026-08-28",
   "code": "P",
   "acquired_disposed": "A",
   "shares": 30000,
   "price": 50.0,
   "value_usd": 1500000.0,
   "security": "Common Stock",
   "post_shares": 100000,
   "filing_url": "https://www.sec.gov/Archives/edgar/data/96223/000121465926011100-index.htm"
  }
 ],
 "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 1 day · every response carries a result_id you can resolve at /v1/provenance.

When should you use it?

You need actual transaction lines (not summaries) for one issuer over a window.

What you skip building

When should you not use it?

You need market-wide filtering — use the insider screen; or pre-index history beyond our window.

Where else can you find this?