4,100,000 filing events and counting: live SEC Form 4 insider transactions, normalized within minutes of SEC acceptance (8-K and Schedule 13D/G are on the roadmap). Your agent polls a cursor on the tickers it watches and never misses a filing; every event carries its accession number and source URL.
Straight off this API (events.latest / watchlist.poll.live), what your agent would see right now.
What a live EDGAR pipeline actually takes to acquire and keep clean
| The trapped part | DIY from the source | With Arkolith |
|---|---|---|
| Polling the index | EDGAR's full-text index updates on its own schedule; staying minute-fresh means polling, rate limits, and retry plumbing. | We run the poller. watchlist.poll.live serves filings within minutes of SEC acceptance. |
| The form-type zoo | Every form type has its own document structure; normalizing filer vs subject vs ticker is per-form work. | One normalized event shape (filer, subject, tickers resolved), done for Form 4 today; 8-K and 13D/G land on the same shape as we expand the stream. |
| Exactly-once | At-least-once feeds mean duplicate accessions unless you build dedupe and a stable cursor yourself. | Accession-deduped with a monotonic cursor: agents resume exactly where they left off. |
| From event to meaning | A raw Form 4 event still needs joining to holdings, prior insider history, and prices to mean anything. | The same key queries 13F books, Form 4 line items and cross-source signals on the name. |
Live from the MCP catalog, also available as REST endpoints
search1 crResolve a name to a tracked entity. Turn a fund or manager name (e.g. 'Berkshire', 'Citadel') into the SEC CIK or slug you pass to the fund.* tools — the entity-resolution entry point. Searches funds and managers by name or identifier. Cost: 1 credit per call.
events.latest1 crLive SEC filing-event stream: SEC Form 4 (insider) filings today, with 8-K and 13D/G on the roadmap. Poll with `since` (a monotonic cursor) to get every filing newer than your last call; the response's next_cursor advances it. Filter by form or tickers; a form we don't carry yet returns an explicit unsupported_form note (never a silent empty page). Built for a watch loop, so call it on a schedule to never miss a filing. Cost: 1 credit per call.
watchlist.addfreeStart watching a company or a fund for THIS workspace, so new SEC filings on it surface later without anyone asking again. Use it the moment a user shows ongoing interest in a name — after a capital_change_brief, an insider lookup, or an explicit 'keep an eye on this'. Watched tickers are what watchlist.poll returns, and they drive the email alerts on the account. Free, no credits. Offer it rather than assuming it.
watchlist.removefreeStop watching a company or fund for this workspace. Idempotent — removing something not being watched is not an error. Free, no credits.
watchlist.listfreeEverything this workspace is currently watching, with when each watch started and its email-alert setting. Free, no credits. Read this before adding, so you do not offer to watch something already being watched.
watchlist.poll1 crPoll THIS workspace's watchlist for new filings since a cursor: every SEC Form 4 (insider) filing on the tickers your team follows, newest-after-cursor (8-K + 13D/G are on the roadmap). Pass `since` (a prior next_cursor) to get only what's new; built for a watch loop. Add names with watchlist.add. Standard (delayed, ≤24h-old) freshness; each event carries its SEC source URL. Cost: 1 credit per call.
watchlist.poll.live3 crLike watchlist.poll but LIVE freshness — includes filings accepted within the last 24h (minute-fresh, normalized within minutes of SEC acceptance). Premium-priced and requires the Developer or Pro plan; other plans poll delayed (≤24h-old) freshness via watchlist.poll. Same workspace-watchlist scope and cursor semantics. Cost: 3 credits per call.
provenance.get1 crTrust layer: return the source record(s) for a datapoint — origin URL, fetch time, parser version — so the agent can cite primary sources. Cost: 1 credit per call.
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: "event:0000950170-26-082841" }
{
"source_url": "https://www.sec.gov/Archives/edgar/data/...",
"accepted_at": "2026-06-05T14:02:11Z",
"parser": "edgar-events v2.1.0",
"license": "public domain (SEC EDGAR)"
}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.
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