ArkolithDataForm 4 insider trades
SEC Form 4 · insider transactions · sourced to EDGAR

Insider trades your agent can actually trust

9,930,000 Form 4 transactions across 7,760 companies: open-market buys and sells separated from awards and option noise, insiders deduped, the multi-insider cluster-buy signal precomputed. Every line item traced to the filing.

Start your $1 trial Read quickstartCompare plans$1 trial with 300 research credits for 3 days to start · paid starts at $29/mo
Form 4 transactions
9,930,000
Companies covered
7,760
Cluster buys (30d)
111

Live demo: insider cluster buys, last 30 days

Companies where 2+ distinct insiders bought on the open market, straight off this API (insider.clusters).

$396.3M total
#CompanyBought

Build it yourself vs. one key

What Form 4 data actually takes to acquire and keep clean

The trapped partDIY from the sourceWith Arkolith
The XML zooForm 4 XML has footnotes, derivative vs non-derivative tables, and a decade of format drift to parse.Clean line items: transaction code, shares, price, value, all classified and normalized.
Signal vs noiseMost Form 4 volume is awards, vesting and option exercises, not conviction. You must classify every code.Open-market buys/sells (P/S) separated from the noise; query just the conviction trades.
IdentityThe filer is the insider, the subject is the issuer; names collide and CIKs need resolving across filings.Insiders deduped and resolvable; query by ticker or by person.
The cluster signalThe high-conviction pattern (several distinct insiders buying the same window) needs a market-wide scan you'd build and rerun yourself.insider.clusters ships it precomputed, market-wide, any window.

The tools your agent gets

Live from the MCP catalog, also available as REST endpoints

7 tools
insider.transactions1 cr

Insider (SEC Form 4) transactions — open-market buys/sells, awards, option exercises — for a company (by ticker) or a person (by insider name). Pass `signal: true` to restrict to open-market buys/sells (codes P/S), the tradeable subset. Pass `since` to diff only new filings. A ticker names ONE issuer: the SEC CIK with the newest Form 4 under that symbol, read across every symbol that issuer has filed with (filers type the symbol, and symbols get reused); `issuer_resolution` says which issuer answered and whose rows under the symbol were left out. Pass `issuer_cik` to read a specific issuer instead. Cost: 1 credit per call.

insider.filing1 cr

One SEC Form 4 filing by accession number: the reporting insider, issuer, and every transaction in it (non-derivative + derivative), with net open-market flow and a link to the original SEC document. The full-filing follow-up when insider.transactions or events.latest hands you an accession_number. Cost: 1 credit per call.

insider.company3 cr

Net insider activity for one company over a window: open-market buy vs sell value/shares and distinct buyer/seller counts. Answers 'are insiders net buying or selling this name right now?' The ticker resolves to ONE issuer, the SEC CIK with the newest Form 4 under that symbol, and the window covers every filing by that issuer whatever symbol the filer typed; `issuer_resolution` names it and any other issuer whose rows share the symbol. Pass `issuer_cik` to pin a specific issuer. Cost: 3 credits per call.

insider.clusters5 cr

Market-wide insider cluster scan: companies where several distinct insiders made open-market buys (or sells) inside a window — the high-conviction cluster signal. Each cluster names who traded (`who`: "CEO, CFO + 3 directors", plus a `buyers` roster with role, dollars, shares and `stake_change_pct`: shares bought as a share of what that insider already held, from the filing's own post-transaction balance), the largest buyer, and per-day `activity`. Ranked by distinct-insider count, then total value. Clusters that are an allocation rather than independent open-market decisions (every purchase at one price on one day, or an issuer whose first Form 4 on record is within 14 days of the buys: IPO allocations, placements, offerings) are returned separately as `offering_clusters`, never inside `clusters`. Cost: 5 credits per call.

signal.trending5 cr

Stocks trending on SEC filings, not prices or page views: the ranking behind https://arkolith.com/trending. Blends four measured signals, each z-scored against its own distribution in the window: qualified insider buy clusters (2+ distinct open-market buyers, $10K+ each), open-market insider trade surges (3+ Form 4 buys/sells at 2x the name's own 90-day pace; awards, exercises and tax withholding never count), 13F holder momentum (quarter over quarter) and rising Google search interest. Every row carries per-signal evidence numbers and plain-English reasons, strongest first. Cost: 5 credits per call.

signal.crowding5 cr

Cross-fund 'smart money' consensus from every tracked fund's latest 13F: the securities the MOST funds are collectively holding (mode='held'), buying this quarter (mode='bought' — NEW/ADDED cluster-buys), or selling (mode='sold' — REDUCED). The inverse of stock.owners: surfaces WHAT to look at, ranked by how many funds agree. Served from the consensus snapshot the refresh-signals cron rebuilds twice daily (computed_at and snapshot_age_hours in the response); never computed live, and refused uncharged if the snapshot is older than 26h. Cost: 5 credits per call.

signal.confluence10 cr

The moat join — where do informed INSIDERS (Form 4 open-market buys), institutional SMART MONEY (13F cluster-buys), and CONGRESS (US House STOCK Act trades) AGREE? Pass a `ticker` for all three legs on one name (insider + fund + congress net buy/sell + a verdict that escalates to triple_confluence_buy when all three are buying). Omit `ticker` for the market-wide ranked list — insider×fund names, surfaced first when Congress is buying too (triple_confluence). Joined on ticker — never a fuzzy name match. Each leg carries source provenance; congress $ are amount-range midpoints (approximate). Cost: 10 credits per call.

Every datapoint traced to its source

provenance.get: anti-hallucination grounding for agents

Any figure your agent quotes can be traced to the primary source: the origin URL, the fetch timestamp, and the parser version that produced it. Your agent cites the filing. It doesn't hallucinate one. That audit trail is first-class on every tool, REST and MCP.

> provenance.get { datapoint: "form4:0001234567-26-000123" }
{
  "source_url": "https://www.sec.gov/Archives/edgar/data/...",
  "fetched_at": "2026-06-05T11:42:51Z",
  "parser": "edgar-form4 v1.9.0",
  "license": "public domain (SEC EDGAR)"
}

Query every Form 4 from your agent in 60 seconds

Mint a key, add one line to Claude Code (or any MCP client), and your agent can answer money questions against the live dataset. Metered per call, with 300 research credits over three days for $1 to try the data first.

Start your $1 trial Read quickstartCompare plans$1 trial with 300 research credits for 3 days to start · paid starts at $29/mo
Claude Code
claude mcp add --transport http arkolith \
  https://arkolith.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

REST too: curl -H "Authorization: Bearer KEY" https://arkolith.com/api/v1/… · full docs