AnswerPool

Answers that join public corpora — and a public score for every forecast.

A wrapper gives you one source. AnswerPool joins SEC EDGAR, the Federal Register, USAspending, NIH, openFDA, CISA KEV, ClinicalTrials.gov and OpenAlex into one computed answer — the issuers whose filings cite a new rule, a technology's federal funding and research trajectory — and writes every forecast it makes to an append-only ledger that is scored against the outcome in public. 80 endpoints are free, every product has a free sample, paid calls start at $0.005, x402 needs no signup and card credits start at $1.

Why agents use it

Joins a single-source tool cannot make

A Federal Register rule mapped to the public companies whose SEC filings cite its docket, RIN or CFR part (/v1/impact/company); one technology's USAspending and NIH funding trajectory (/v1/funding/signals); any name resolved to the CIK, LEI, ticker and NAICS other datasets key on. Deterministic cross-corpus joins, not one wrapper per API.

A forecast record you can check

Flagged SEC events and research-momentum calls are written once to an append-only prediction ledger with everything needed to resolve them later; resolution only ever fills in the outcome. The track record publishes the tally per method — made, pending, resolved, mean Brier score — and the reasons a number there is not yet evidence of skill, in plain English; /v1/evals is the same numbers as JSON. Free, no key.

Computed ahead of demand, priced for machines

We index and score before you ask — SEC filings every 15 minutes, ~4,500 research topics weekly — so an answer is a table read, not a pipeline. Every answer carries provenance, a refresh_after time and priced next_endpoints; watchlist and since products return a cursor. Free endpoints need no key; the rest cost $0.005–$0.2 with card credits or USDC via x402, and failed calls are never charged.

Products

140 endpoints in 19 categories. Every one returns strict JSON with provenance.

Prices are per call. Open a category, then a product, for when to use it, what it saves you, example queries and a real sample response. Machine-readable versions of everything on this page: openapi.json · llms.txt.

Every product has a free sample — /v1/samples lists one per product, so you can see a real answer before you pay. For repeat monitoring, the watchlist and since products return a cursor: store it, call again, get only what is new.

Lookups & reference (free)14 endpoints · free

sec cik lookup

GET /v1/sec/cik · free

Resolve a ticker or company name to its SEC CIK — returns zero-padded CIK, ticker and registered name from the SEC's official mapping. Free. Use before any EDGAR call instead of downloading and parsing company_tickers.json yourself.

When to use, what you skip, sample response

When to use

You have a ticker or name and need the CIK that filings, facts and insider endpoints take.

When not to use

You already hold the CIK, or you need non-US issuers without SEC registration.

What you skip building

  • company_tickers.json download and parse
  • zero-padding bugs
  • name-matching code

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "matches": [
  {
   "cik": "0001045810",
   "ticker": "NVDA",
   "name": "NVIDIA CORP"
  }
 ]
}

sec companies by sic

GET /v1/sec/companies-by-sic · free

SIC industry code in, the registrants filing under it out (CIK + name + ticker). Turns an industry into a company list in one call instead of paging EDGAR's company search. Free, no key.

When to use, what you skip, sample response

When to use

You have a SIC code (or got one from /v1/sec/sic) and need its companies.

When not to use

Quantitative comparables — /v1/peers/similar ranks by XBRL similarity.

What you skip building

  • EDGAR company-search pagination
  • broken Atom name fields

Facts

Sample response

{
 "as_of": "2026-09-03T14:00:00Z",
 "sic": 7372,
 "count": 1,
 "companies": [
  {
   "cik": "0000789019",
   "name": "MICROSOFT CORP",
   "ticker": "MSFT"
  }
 ],
 "note": "Registrants filing 10-K under this SIC code, per EDGAR company search. Names and tickers are filled from the SEC ticker file, so unlisted filers show cik only.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec crosswalk

GET /v1/sec/crosswalk · free

A company resolved across SEC EDGAR and federal spending in one call: exact CIK plus candidate USAspending recipient names, each graded exact/strong/weak because the join is by name, not by key. Free, no key.

When to use, what you skip, sample response

When to use

You have a company and need its identity in both the SEC and federal-spending worlds.

When not to use

Spending amounts and trajectories — /v1/funding/signals; SEC-only resolution — /v1/sec/resolve.

What you skip building

  • hand-built CIK-to-recipient mappings
  • corporate suffix mismatches
  • assuming a name match is an entity match

Facts

Sample response

{
 "as_of": "2026-09-03T15:30:00Z",
 "query": "LMT",
 "sec": {
  "source": "sec_edgar",
  "identifier_kind": "cik",
  "identifier": "0000936468",
  "label": "LOCKHEED MARTIN CORP",
  "next_url": "/v1/sec/entity?cik=0000936468",
  "confidence": "exact"
 },
 "federal_recipients": [
  {
   "source": "usaspending",
   "identifier_kind": "recipient_name",
   "identifier": "LOCKHEED MARTIN CORPORATION",
   "label": "LOCKHEED MARTIN CORPORATION",
   "next_url": "/v1/funding/recipients?q=LOCKHEED",
   "confidence": "exact"
  }
 ],
 "note": "The SEC leg is an exact identifier resolution; federal-spending legs are NAME matches (no public key links a CIK to a recipient). exact = same name once corporate suffixes are stripped; strong = the name extends it, usually a subsidiary or affiliate rather than the same legal entity; weak = a looser match that may be an unrelated company. Absence of a federal match is not evidence the company holds no federal awards.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec entity profile

GET /v1/sec/entity · free

Get a registrant's full SEC identity — tickers, exchanges, SIC and description, entity type, state of incorporation, fiscal year end and former names — free, from the submissions API without downloading the megabyte JSON.

When to use, what you skip, sample response

When to use

Identity and classification questions about any SEC filer.

When not to use

Financials — use the XBRL views; filings — use filings list.

What you skip building

  • submissions JSON download and slicing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "name": "Apple Inc.",
 "tickers": [
  "AAPL"
 ],
 "exchanges": [
  "Nasdaq"
 ],
 "sic": "3571",
 "sic_description": "Electronic Computers",
 "entity_type": "operating",
 "state_of_incorporation": "CA",
 "fiscal_year_end": "0927",
 "phone": null,
 "website": null,
 "former_names": [],
 "source": "https://data.sec.gov/submissions/CIK0000320193.json"
}

sec event explain

GET /v1/sec/event · free

Explain one indexed filing — returns its form, 8-K items and labels, and every derived event with flags and salience score, free. Use to audit any signal from our paid SEC endpoints against the underlying filing.

When to use, what you skip, sample response

When to use

Verifying or debugging a flag from any events endpoint.

When not to use

Discovery — it takes one known accession number.

What you skip building

  • re-deriving flags
  • cross-referencing filings to events

Facts

Sample response

{
 "as_of": "2026-09-16T21:31:38Z",
 "accession": "0001193125-26-380280",
 "form": "8-K",
 "filed_at": "2026-09-02",
 "company": "MICROSOFT CORP",
 "ticker": "MSFT",
 "filing_url": "https://www.sec.gov/Archives/edgar/data/789019/000119312526380280/0001193125-26-380280-index.htm",
 "items": [
  "7.01",
  "9.01"
 ],
 "labels": [
  "regulation_fd",
  "exhibits"
 ],
 "events": [
  {
   "event_id": "ev_7941f719cb394dfab6d9",
   "accession": "0001193125-26-380280",
   "cik": "0000789019",
   "ticker": "MSFT",
   "company": "MICROSOFT CORP",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-02",
   "flags": [
    "regulation_fd"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "7.01",
     "9.01"
    ],
    "labels": [
     "regulation_fd",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/789019/000119312526380280/0001193125-26-380280-index.htm"
  }
 ]
}

sec flag glossary

GET /v1/sec/flags · free

List every event flag our SEC pipeline emits — insider_buy_cluster, distress, accounting_red_flag, large_raise and more — with meanings. Free. Use once to filter the events and watch endpoints precisely.

When to use, what you skip, sample response

When to use

Before filtering any flagged feed.

When not to use

n/a - free reference data.

What you skip building

  • guessing flag semantics

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "insider_buy_cluster",
   "name": "insider_buy_cluster",
   "description": "Several distinct officers/directors buying the same issuer within a week.",
   "covered": true
  }
 ]
}

sec form glossary

GET /v1/sec/forms · free

List SEC form types with plain-English meaning and a covered flag for our 15-minute index — returns code, name, description per form. Free. Use to orient an agent before choosing which SEC endpoint to call.

When to use, what you skip, sample response

When to use

First call when deciding which SEC product fits a task.

When not to use

You already know the form type you need.

What you skip building

  • reading SEC.gov form documentation

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "8-K",
   "name": "current_report",
   "description": "Material corporate events, itemized (we index all items).",
   "covered": true
  }
 ]
}

sec metrics catalog

GET /v1/sec/xbrl/metrics · free

List the metric keys the XBRL views accept — revenue, net income, cash, capex and more, each mapped to its us-gaap tags — free. Use once before calling concept, compare, frame or financials.

When to use, what you skip, sample response

When to use

First call before any XBRL view.

When not to use

n/a - free reference data.

What you skip building

  • us-gaap taxonomy spelunking

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "metrics": [
  {
   "metric": "revenue",
   "us_gaap_tags": [
    "Revenues",
    "RevenueFromContractWithCustomerExcludingAssessedTax",
    "SalesRevenueNet"
   ]
  }
 ]
}

sec new registrants

GET /v1/sec/registrants/new · free

First-time-ever EDGAR filers in your window, derived from our multi-year filing index — new companies and funds entering the SEC system, with first forms. A question EDGAR's own API cannot answer. Free, no key.

When to use, what you skip, sample response

When to use

You want net-new registrants, not just recent filings.

When not to use

All recent filings regardless of history — /v1/sec/filings/latest.

What you skip building

  • maintaining your own EDGAR history
  • full-index scans

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "window_days": 7,
 "index_covers_since": "2021-07-01",
 "index_covers_until": "2026-09-02",
 "count": 1,
 "registrants": [
  {
   "cik": "0002099999",
   "company": "EXAMPLE LABS INC",
   "first_filed": "2026-09-01",
   "forms": [
    "D"
   ],
   "filings": 1
  }
 ],
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec resolve

GET /v1/sec/resolve · free

Any issuer string in — ticker, CIK or company name — canonical CIK, ticker, name, the match kind, and ready-to-call URLs for the next step out. One call instead of guessing which resolver to use. Free, no key.

When to use, what you skip, sample response

When to use

You have any string identifying an issuer and want identifiers plus where to go next.

When not to use

Federal award recipients — /v1/funding/recipients resolves those.

What you skip building

  • calling three resolvers in turn
  • ticker-vs-name guessing
  • CIK zero-padding errors

Facts

Sample response

{
 "as_of": "2026-09-03T14:30:00Z",
 "query": "NVDA",
 "count": 1,
 "matches": [
  {
   "cik": "0001045810",
   "ticker": "NVDA",
   "name": "NVIDIA CORP",
   "match_on": "ticker"
  }
 ],
 "best": {
  "cik": "0001045810",
  "ticker": "NVDA",
  "name": "NVIDIA CORP",
  "match_on": "ticker"
 },
 "next_endpoints": [
  {
   "path": "/v1/sec/entity",
   "url": "/v1/sec/entity?ticker=NVDA",
   "description": "Full entity profile: tickers, exchanges, SIC, incorporation, former names",
   "price_usd": 0.0
  }
 ],
 "note": "One call for any issuer string \u2014 ticker, CIK or company name. next_endpoints are ready-to-call URLs for the best match, each with its price; unlisted filers resolve by name or CIK only.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec sic lookup

GET /v1/sec/sic · free

SEC SIC industry code resolution: code prefix or text in, code + industry title + reviewing Corp-Fin office out, over all 444 codes. Free, no key.

When to use, what you skip, sample response

When to use

You need a SIC code for EDGAR industry filtering or to decode one from a filing header.

When not to use

Contracting industry codes — that is NAICS (/v1/funding/naics).

What you skip building

  • sec.gov SIC table scraping
  • code guessing

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "codes": [
  {
   "code": "7372",
   "title": "SERVICES-PREPACKAGED SOFTWARE",
   "corp_fin_office": "Office of Technology"
  }
 ],
 "source": "sec.gov Division of Corporation Finance SIC code list",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec ticker lookup

GET /v1/sec/ticker · free

Resolve an SEC CIK to its ticker and registered company name from the SEC's official mapping — the reverse of CIK lookup. Free. Use when a filing gives you a CIK and you need the tradable symbol.

When to use, what you skip, sample response

When to use

You hold a CIK (from any filing) and need ticker and name.

When not to use

Private filers with no listed security often have no ticker.

What you skip building

  • company_tickers.json download
  • reverse-index building

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "matches": [
  {
   "cik": "0000320193",
   "ticker": "AAPL",
   "name": "Apple Inc."
  }
 ]
}

sec transaction codes

GET /v1/sec/insider/codes · free

Explain Form 4 transaction codes — P purchase, S sale, A award, F tax withholding, M exercise and the rest. Free. Use once so an insider screen filters on the right codes instead of guessing.

When to use, what you skip, sample response

When to use

Before filtering insider transactions by code or direction.

When not to use

n/a - free reference data.

What you skip building

  • SEC Form 4 instructions lookup

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "P",
   "name": "open_market_purchase",
   "description": "Open-market or private purchase.",
   "covered": true
  }
 ]
}
SEC events & 8-K19 endpoints · free–$0.2

sec events

GET /v1/sec/events · free

List flagged SEC EDGAR events (15-min refresh) — returns 8-K items, Form 4 insider buys/sells with USD size and buy clusters, Form D raises, each with ticker, flags and salience score. Use instead of polling EDGAR.

When to use, what you skip, sample response

When to use

You need parsed, flagged corporate events from EDGAR for one company or the whole market, in one call, without maintaining a poller and XML parsers.

When not to use

You need full filing text, historical archives before we started indexing, or legal advice.

What you skip building

  • EDGAR polling and rate-limit handling
  • Form 4 and Form D XML parsing
  • 8-K item mapping
  • insider-cluster detection

Facts

Sample response

{
 "as_of": "2026-08-30T18:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "count": 1,
 "events": [
  {
   "event_id": "evt_8k_0000096223",
   "accession": "0000096223-26-000041",
   "cik": "0000096223",
   "ticker": "JEF",
   "company": "JEFFERIES FINANCIAL GROUP INC.",
   "form": "8-K",
   "event_type": "results_of_operations",
   "occurred_at": "2026-08-29T20:11:03Z",
   "flags": [
    "results"
   ],
   "score": 0.42,
   "payload": {
    "items": [
     "2.02"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/96223/000009622326000041-index.htm"
  }
 ],
 "method_id": "sec_events_rules_v1"
}

sec 8k auditor change

GET /v1/sec/8k/auditor-change · $0.02 / call

List 8-Ks reporting an auditor change (Item 4.01) market-wide — a standing accounting red flag with company, time and links. Use for accounting-risk monitoring instead of filtering the tape.

When to use, what you skip, sample response

When to use

Accounting-quality screens.

When not to use

Restatements — the non-reliance view is Item 4.02.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:49.613Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_55fbb86d09d04f7ba0b5",
   "accession": "0001437749-26-030517",
   "cik": "0000884269",
   "ticker": "APT",
   "company": "ALPHA PRO TECH LTD",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "accounting_red_flag",
    "auditor_change"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "4.01",
     "9.01"
    ],
    "labels": [
     "auditor_change",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/884269/000143774926030517/0001437749-26-030517-index.htm"
  },
  {
   "event_id": "ev_5ffadd8a01da4cc8b891",
   "accession": "0001640334-26-001562",
   "cik": "0001794942",
   "ticker": "SKFG",
   "company": "Stark Focus Group, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "accounting_red_flag",
    "auditor_change"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "4.01",
     "9.01"
    ],
    "labels": [
     "auditor_change",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1794942/000164033426001562/0001640334-26-001562-index.htm"
  },
  {
   "event_id": "ev_03ce1026f76440f18126",
   "accession": "0001493152-26-042938",
   "cik": "0001392694",
   "ticker": "SURG",
   "company": "SurgePays, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "accounting_red_flag",
    "auditor_change"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "4.01"
    ],
    "labels": [
     "auditor_change"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1392694/000149315226042938/0001493152-26-042938-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k bankruptcy

GET /v1/sec/8k/bankruptcy · $0.02 / call

List 8-Ks reporting bankruptcy or receivership (Item 1.03) market-wide with company, time, flags and links. Use for distress monitoring without filtering the whole 8-K tape yourself.

When to use, what you skip, sample response

When to use

Distress and credit monitoring.

When not to use

Broader distress signals — the distress screen joins four item types.

What you skip building

  • item filtering
  • polling
  • label mapping

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-01T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_2",
   "accession": "0001437749-26-028920",
   "cik": "0000320193",
   "ticker": "AAPL",
   "company": "APPLE INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-08-29T00:00:00",
   "flags": [
    "bankruptcy",
    "distress"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "1.03"
    ],
    "labels": [
     "bankruptcy"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ],
 "next_cursor": "2026-08-29T00:00:00"
}

sec 8k by item

GET /v1/sec/8k/item · free

List 8-Ks carrying one item code market-wide — pass 5.02 for officer changes, 2.02 for earnings, 1.05 for cyber — with labels, flags and scores. The per-item feeds competitors sell separately, behind one endpoint.

When to use, what you skip, sample response

When to use

You know the item code; the glossary lists them.

When not to use

Multiple items — the feed view takes a comma list.

What you skip building

  • item filtering
  • EDGAR polling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_2",
   "accession": "0001437749-26-028920",
   "cik": "0000320193",
   "ticker": "AAPL",
   "company": "APPLE INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-08-29T00:00:00",
   "flags": [
    "bankruptcy",
    "distress"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "1.03"
    ],
    "labels": [
     "bankruptcy"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ],
 "next_cursor": "2026-08-29T00:00:00"
}

sec 8k changes

GET /v1/sec/8k/changes · $0.005 / call

Half-cent poll: ids of flagged 8-K 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.

When to use, what you skip, sample response

When to use

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

When not to use

One-off questions about an issuer — /v1/sec/events answers those. Backfills — cursors are clamped to 7 days; fetch the full feed instead.

What you skip building

  • full-feed polling
  • row parsing to discover nothing changed
  • cursor bookkeeping against EDGAR

Facts

Sample response

{
 "as_of": "2026-09-16T12:15:00Z",
 "feed": "sec_8k",
 "changed": 2,
 "added": [
  "ev_4c1a90",
  "ev_4c1a91"
 ],
 "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/8k/since?since=2026-09-16T12:00:00",
 "coverage_started_at": "2026-08-27T00:00:00",
 "next_endpoints": [
  {
   "path": "/v1/sec/8k/since",
   "url": "/v1/sec/8k/since?since=2026-09-16T12:00:00",
   "description": "The rows themselves",
   "since the same cursor time": null,
   "price_usd": 0.0
  }
 ]
}

sec 8k cyber incident

GET /v1/sec/8k/cyber · $0.02 / call

List 8-Ks disclosing material cybersecurity incidents (Item 1.05) market-wide with company, time and links. Use for breach monitoring — security and insurance agents get the mandatory disclosures without reading the tape.

When to use, what you skip, sample response

When to use

Security, insurance and vendor-risk monitoring.

When not to use

Incident details — we serve the filing event and link.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-01T00:00:00",
 "count": 0,
 "events": [],
 "next_cursor": "2026-08-01T00:00:00"
}

sec 8k delisting

GET /v1/sec/8k/delisting · $0.02 / call

List 8-Ks reporting delisting notices or listing-rule deficiencies (Item 3.01) market-wide with company, time and links. Use for listing-status and distress monitoring without reading the tape.

When to use, what you skip, sample response

When to use

Distress and small-cap risk screens.

When not to use

Broader distress — the distress screen joins four item types.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:50.436Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_f699bd66d60f4b2cac55",
   "accession": "0001104659-26-108320",
   "cik": "0001282648",
   "ticker": "BATL",
   "company": "BATTALION OIL CORP",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "delisting_notice"
   ],
   "score": 0.8,
   "payload": {
    "items": [
     "3.01"
    ],
    "labels": [
     "delisting_notice"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1282648/000110465926108320/0001104659-26-108320-index.htm"
  },
  {
   "event_id": "ev_c8fb4e9aa75448dbb660",
   "accession": "0001193125-26-392654",
   "cik": "0001698530",
   "ticker": "XCUR",
   "company": "EXICURE, INC.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "delisting_notice"
   ],
   "score": 0.8,
   "payload": {
    "items": [
     "3.01"
    ],
    "labels": [
     "delisting_notice"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1698530/000119312526392654/0001193125-26-392654-index.htm"
  },
  {
   "event_id": "ev_38e923e62ca3435092e3",
   "accession": "0001104659-26-108236",
   "cik": "0002031561",
   "ticker": "ALDFW",
   "company": "Aldel Financial II Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "delisting_notice"
   ],
   "score": 0.8,
   "payload": {
    "items": [
     "3.01"
    ],
    "labels": [
     "delisting_notice"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2031561/000110465926108236/0001104659-26-108236-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k earnings release

GET /v1/sec/8k/earnings · free

List 8-Ks announcing results of operations (Item 2.02) market-wide — the earnings release tape with company, time and links. Use to know who just reported without filtering the full feed.

When to use, what you skip, sample response

When to use

Earnings-cycle monitoring.

When not to use

The numbers — use the XBRL views for reported facts.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:51.167Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_df360676832b40299447",
   "accession": "0001628280-26-062287",
   "cik": "0000920760",
   "ticker": "LEN-B",
   "company": "LENNAR CORP /NEW/",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "results_of_operations"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "2.02",
     "9.01"
    ],
    "labels": [
     "results_of_operations",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/920760/000162828026062287/0001628280-26-062287-index.htm"
  },
  {
   "event_id": "ev_9b1666ea7064417ca7f9",
   "accession": "0001213900-26-100546",
   "cik": "0001828805",
   "ticker": "ALMU",
   "company": "Aeluma, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "results_of_operations"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "2.02",
     "9.01"
    ],
    "labels": [
     "results_of_operations",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1828805/000121390026100546/0001213900-26-100546-index.htm"
  },
  {
   "event_id": "ev_6d9479c117c448d29711",
   "accession": "0001493152-26-042948",
   "cik": "0001576873",
   "ticker": "ABAT",
   "company": "AMERICAN BATTERY TECHNOLOGY Co",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "results_of_operations"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "2.02",
     "9.01"
    ],
    "labels": [
     "results_of_operations",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1576873/000149315226042948/0001493152-26-042948-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k feed

GET /v1/sec/8k · free

List 8-K filings with item codes mapped to event labels — bankruptcy, officer change, earnings, cyber and more — filterable by item, ticker and window, with salience scores. Use instead of polling EDGAR and mapping items yourself.

When to use, what you skip, sample response

When to use

Market-wide or per-ticker 8-K reading with item filters.

When not to use

One named event type — the dedicated views below are precise.

What you skip building

  • EDGAR polling
  • item mapping
  • event labeling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_2",
   "accession": "0001437749-26-028920",
   "cik": "0000320193",
   "ticker": "AAPL",
   "company": "APPLE INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-08-29T00:00:00",
   "flags": [
    "bankruptcy",
    "distress"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "1.03"
    ],
    "labels": [
     "bankruptcy"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ],
 "next_cursor": "2026-08-29T00:00:00"
}

sec 8k impairment

GET /v1/sec/8k/impairment · $0.02 / call

List 8-Ks disclosing material impairments (Item 2.06) market-wide with company, time and links — write-down events pre-filtered from the tape. Use for credit and asset-quality monitoring.

When to use, what you skip, sample response

When to use

Credit and asset-quality screens.

When not to use

The amounts — read the linked filing.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-01T00:00:00",
 "count": 0,
 "events": [],
 "next_cursor": "2026-08-01T00:00:00"
}

sec 8k item glossary

GET /v1/sec/8k/items · free

Map 8-K item codes (1.01–9.01) to event labels — bankruptcy, auditor change, officer change, cyber incident and 17 more. Free. Use once to learn the vocabulary the 8-K and event endpoints filter on.

When to use, what you skip, sample response

When to use

Before filtering events by 8-K item or flag.

When not to use

n/a - it is free reference data.

What you skip building

  • 8-K item-code table lookup on SEC.gov

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "1.03",
   "name": "bankruptcy",
   "description": "8-K Item 1.03: bankruptcy.",
   "covered": true
  }
 ]
}

sec 8k ma events

GET /v1/sec/8k/ma · $0.02 / call

List 8-Ks reporting completed acquisitions, dispositions or changes of control (Items 2.01 and 5.01) market-wide with company, time and links. Use for deal monitoring without filtering the tape.

When to use, what you skip, sample response

When to use

Deal-flow and event-driven monitoring.

When not to use

Rumored or announced-only deals — 8-Ks report completions and control changes.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:51.603Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_64b52afd739040ee93fe",
   "accession": "0001140361-26-036721",
   "cik": "0000010048",
   "ticker": "BRN",
   "company": "BARNWELL INDUSTRIES INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "acquisition_or_disposition",
    "regulation_fd"
   ],
   "score": 0.2,
   "payload": {
    "items": [
     "2.01",
     "7.01",
     "9.01"
    ],
    "labels": [
     "acquisition_or_disposition",
     "regulation_fd",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/10048/000114036126036721/0001140361-26-036721-index.htm"
  },
  {
   "event_id": "ev_f6ad0698600e400eb9a1",
   "accession": "0001493152-26-042846",
   "cik": "0001812727",
   "ticker": "EZRA",
   "company": "Reliance Global Group, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "acquisition_or_disposition",
    "regulation_fd"
   ],
   "score": 0.2,
   "payload": {
    "items": [
     "2.01",
     "7.01",
     "9.01"
    ],
    "labels": [
     "acquisition_or_disposition",
     "regulation_fd",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1812727/000149315226042846/0001493152-26-042846-index.htm"
  },
  {
   "event_id": "ev_c84fd19e483d47bfb233",
   "accession": "0001717547-26-000065",
   "cik": "0001717547",
   "ticker": "BRSP",
   "company": "BrightSpire Capital, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "acquisition_or_disposition"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "2.01",
     "9.01"
    ],
    "labels": [
     "acquisition_or_disposition",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1717547/000171754726000065/0001717547-26-000065-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k non reliance

GET /v1/sec/8k/restatement · $0.02 / call

List 8-Ks declaring non-reliance on previously issued financials (Item 4.02) — the restatement red flag, market-wide with company, time and links. Use instead of filtering the 8-K tape for the rarest, highest-salience accounting event.

When to use, what you skip, sample response

When to use

Accounting-risk and short-research screens.

When not to use

Auditor changes — that is Item 4.01.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:51.984Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_1ad92b83b0f34717926c",
   "accession": "0001193125-26-393238",
   "cik": "0001814215",
   "ticker": "BURUW",
   "company": "Nuburu, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "accounting_red_flag",
    "non_reliance_on_financials"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "4.02"
    ],
    "labels": [
     "non_reliance_on_financials"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1814215/000119312526393238/0001193125-26-393238-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k officer change

GET /v1/sec/8k/officer-change · $0.02 / call

List 8-Ks reporting officer or director changes (Item 5.02) market-wide — the most filed 8-K item, with company, time and links. Use for leadership-change monitoring without polling and mapping the tape.

When to use, what you skip, sample response

When to use

Leadership and governance monitoring.

When not to use

Named-person detail — we serve the filing event, not parsed names yet.

What you skip building

  • item filtering
  • polling

Facts

Sample response

{
 "as_of": "2026-09-16T21:47:52.314Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-08-31T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_2855b751f71142999f6f",
   "accession": "0001104659-26-108245",
   "cik": "0002074176",
   "ticker": "VNOM",
   "company": "Viper Energy, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "leadership_change",
    "officer_or_director_change"
   ],
   "score": 0.6,
   "payload": {
    "items": [
     "5.02"
    ],
    "labels": [
     "officer_or_director_change"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2074176/000110465926108245/0001104659-26-108245-index.htm"
  },
  {
   "event_id": "ev_f7e2d76bd70b4f17b7ab",
   "accession": "0000899923-26-000079",
   "cik": "0000899923",
   "ticker": "MYGN",
   "company": "MYRIAD GENETICS INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "leadership_change",
    "officer_or_director_change",
    "regulation_fd"
   ],
   "score": 0.7,
   "payload": {
    "items": [
     "5.02",
     "7.01",
     "9.01"
    ],
    "labels": [
     "officer_or_director_change",
     "regulation_fd",
     "exhibits"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/899923/000089992326000079/0000899923-26-000079-index.htm"
  },
  {
   "event_id": "ev_dc3bc7a907f442d995f4",
   "accession": "0001104659-26-108255",
   "cik": "0000868857",
   "ticker": "ACM",
   "company": "AECOM",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "leadership_change",
    "officer_or_director_change"
   ],
   "score": 0.6,
   "payload": {
    "items": [
     "5.02"
    ],
    "labels": [
     "officer_or_director_change"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/868857/000110465926108255/0001104659-26-108255-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec 8k since

GET /v1/sec/8k/since · free

Watch 8-K filings with a since cursor — returns only events newer than your cursor, optional item filter, plus the next cursor to store. Use as the cheap poll loop for current-report monitoring.

When to use, what you skip, sample response

When to use

Recurring checks; store next_cursor between calls.

When not to use

One-off reads — use the feed.

What you skip building

  • poller infrastructure
  • cursor bookkeeping

Facts

Sample response

{
 "as_of": "2026-09-16T21:48:22.717Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-09-15T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_f699bd66d60f4b2cac55",
   "accession": "0001104659-26-108320",
   "cik": "0001282648",
   "ticker": "BATL",
   "company": "BATTALION OIL CORP",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "delisting_notice"
   ],
   "score": 0.8,
   "payload": {
    "items": [
     "3.01"
    ],
    "labels": [
     "delisting_notice"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1282648/000110465926108320/0001104659-26-108320-index.htm"
  },
  {
   "event_id": "ev_2ff77bb74c784946b9b4",
   "accession": "0001193125-26-393256",
   "cik": "0001467760",
   "ticker": "ARI",
   "company": "Apollo Commercial Real Estate Finance, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "other_event"
   ],
   "score": 0.1,
   "payload": {
    "items": [
     "8.01"
    ],
    "labels": [
     "other_event"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1467760/000119312526393256/0001193125-26-393256-index.htm"
  },
  {
   "event_id": "ev_2855b751f71142999f6f",
   "accession": "0001104659-26-108245",
   "cik": "0002074176",
   "ticker": "VNOM",
   "company": "Viper Energy, Inc.",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-09-16",
   "flags": [
    "leadership_change",
    "officer_or_director_change"
   ],
   "score": 0.6,
   "payload": {
    "items": [
     "5.02"
    ],
    "labels": [
     "officer_or_director_change"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2074176/000110465926108245/0001104659-26-108245-index.htm"
  }
 ],
 "next_cursor": "2026-09-16"
}

sec distress screen

GET /v1/sec/screen/distress · $0.05 / call

Rank companies by distress signals in one call — bankruptcy, delisting notices, restatements and impairments joined and sorted by salience score. A derived screen no other API sells as one endpoint; use for credit and short research.

When to use, what you skip, sample response

When to use

Cross-signal distress screening.

When not to use

One signal type — the dedicated views are cheaper.

What you skip building

  • joining four feeds
  • score modeling
  • ranking

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-01T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_2",
   "accession": "0001437749-26-028920",
   "cik": "0000320193",
   "ticker": "AAPL",
   "company": "APPLE INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-08-29T00:00:00",
   "flags": [
    "bankruptcy",
    "distress"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "1.03"
    ],
    "labels": [
     "bankruptcy"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ]
}

sec issuer packet

GET /v1/sec/issuer/packet · $0.2 / call

One document per public company joining SEC identity, flagged 8-K events, insider activity and clusters, Reg D history, XBRL facts, a computed peer group and the Federal Register rules that touch it. Replaces 6-8 calls and the joins between them; every section reports present/absent with a reason.

When to use, what you skip, sample response

When to use

A broad question about one issuer, where the next step depends on what is there.

When not to use

One known field — the per-section endpoints are $0.00-$0.05 and listed in `sections`. Repeat monitoring — poll /v1/sec/8k/changes for half a cent and re-buy this only when it says something changed.

What you skip building

  • eight separate calls
  • eight response schemas
  • cross-corpus joins
  • SIC-to-agency mapping
  • peer-group construction

Facts

Sample response

{
 "as_of": "2026-09-16T18:00:00Z",
 "cik": "0000320193",
 "ticker": "AAPL",
 "name": "Apple Inc.",
 "sections_present": [
  "events_8k",
  "insider",
  "insider_clusters",
  "form_d"
 ],
 "sections": [
  {
   "name": "entity",
   "present": false,
   "reason": "unsupported: EDGAR submissions unavailable",
   "endpoint": "/v1/sec/entity",
   "standalone_price_usd": 0.02
  },
  {
   "name": "events_8k",
   "present": true,
   "reason": null,
   "endpoint": "/v1/sec/events",
   "standalone_price_usd": 0.0
  },
  {
   "name": "insider",
   "present": true,
   "reason": null,
   "endpoint": "/v1/sec/insider/summary",
   "standalone_price_usd": 0.02
  },
  {
   "name": "insider_clusters",
   "present": true,
   "reason": null,
   "endpoint": "/v1/sec/insider/clusters",
   "standalone_price_usd": 0.05
  },
  {
   "name": "form_d",
   "present": true,
   "reason": null,
   "endpoint": "/v1/sec/formd",
   "standalone_price_usd": 0.0
  },
  {
   "name": "financials",
   "present": false,
   "reason": "unsupported: no XBRL facts for this filer",
   "endpoint": "/v1/sec/xbrl/financials",
   "standalone_price_usd": 0.02
  },
  {
   "name": "peers",
   "present": false,
   "reason": "unsupported: no XBRL facts for this filer",
   "endpoint": "/v1/peers/similar",
   "standalone_price_usd": 0.05
  },
  {
   "name": "regulatory",
   "present": false,
   "reason": "no data for this issuer",
   "endpoint": "/v1/impact/company",
   "standalone_price_usd": 0.05
  }
 ],
 "events_8k": {
  "as_of": "2026-09-16T18:00:00Z",
  "index_started_at": "2026-08-27T00:00:00",
  "count": 0,
  "events": []
 },
 "insider": {
  "as_of": "2026-09-16T18:00:00Z",
  "index_started_at": "2026-08-27T00:00:00",
  "window_days": 90,
  "cik": "0000320193",
  "ticker": "AAPL",
  "company": "Apple Inc.",
  "filings": 0,
  "distinct_insiders": 0,
  "buy_usd": 0.0,
  "sell_usd": 0.0,
  "net_usd": 0.0,
  "largest_buy_usd": 0.0,
  "largest_sale_usd": 0.0
 },
 "insider_clusters": {
  "as_of": "2026-09-16T18:00:00Z",
  "index_started_at": "2026-08-27T00:00:00",
  "window_days": 30,
  "count": 0,
  "clusters": []
 },
 "form_d": {
  "as_of": "2026-09-16T18:00:00Z",
  "index_started_at": "2026-08-27T00:00:00",
  "since": "2026-08-27T00:00:00",
  "count": 0,
  "offerings": []
 },
 "sources": [
  "SEC EDGAR"
 ],
 "next_endpoints": [
  {
   "path": "/v1/sec/8k/changes",
   "url": "/v1/sec/8k/changes",
   "price_usd": 0.005,
   "description": "Half-cent poll: has any 8-K landed since your cursor? Re-buy this packet 

sec market digest

GET /v1/sec/digest · free

Rank the day's SEC events by salience — bankruptcies, restatements, cyber incidents, insider clusters and large raises first, with flags and links. Use as the one-call daily filing digest for a research or news agent.

When to use, what you skip, sample response

When to use

Daily/segment digests; pair with the flag glossary.

When not to use

Per-company or per-portfolio monitoring — use the other views.

What you skip building

  • event ranking
  • market-wide polling
  • salience modeling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-31",
 "count": 1,
 "events": [
  {
   "event_id": "ev_2",
   "accession": "0001437749-26-028920",
   "cik": "0000320193",
   "ticker": "AAPL",
   "company": "APPLE INC",
   "form": "8-K",
   "event_type": "form_8k",
   "occurred_at": "2026-08-29T00:00:00",
   "flags": [
    "bankruptcy",
    "distress"
   ],
   "score": 1.0,
   "payload": {
    "items": [
     "1.03"
    ],
    "labels": [
     "bankruptcy"
    ]
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ]
}

sec watchlist events

GET /v1/sec/watchlist · $0.02 / call

Get flagged SEC events for up to 25 tickers in one call — 8-K items, insider trades and raises since your cursor, with a next cursor to store. Use instead of running one EDGAR poll per portfolio name.

When to use, what you skip, sample response

When to use

Recurring portfolio monitoring; store next_cursor between calls.

When not to use

Market-wide screens or a single company — cheaper views exist.

What you skip building

  • per-ticker polling loops
  • event parsing
  • flagging
  • cursor bookkeeping

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_1",
   "accession": "0001214659-26-011100",
   "cik": "0000096223",
   "ticker": "JEF",
   "company": "JEFFERIES FINANCIAL GROUP INC.",
   "form": "4",
   "event_type": "insider_transaction",
   "occurred_at": "2026-08-28T21:53:58",
   "flags": [
    "large_insider_buy"
   ],
   "score": 0.7,
   "payload": {
    "buy_usd": 1500000.0,
    "sell_usd": 0.0,
    "n_buys": 1,
    "n_sells": 0
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/96223/000121465926011100-index.htm"
  }
 ],
 "next_cursor": "2026-08-28T21:53:58"
}
Earnings releases3 endpoints · $0.005–$0.02

sec earnings changes

GET /v1/sec/earnings/changes · $0.005 / call

Half-cent poll: accession numbers of earnings releases 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.

When to use, what you skip, sample response

When to use

A polling loop that needs to know whether any issuer has reported, cheaply, before deciding to buy the feed.

When not to use

One-off questions about a named issuer — /v1/sec/earnings/latest answers those. Backfills — cursors are clamped to 7 days; fetch the feed instead.

What you skip building

  • full-feed polling
  • row parsing to discover nothing changed
  • cursor bookkeeping against EDGAR

Facts

Sample response

{
 "as_of": "2026-09-18T12:15:00Z",
 "feed": "sec_earnings",
 "changed": 1,
 "added": [
  "0000796343-26-000147"
 ],
 "updated": [],
 "truncated": false,
 "empty": false,
 "cursor_from": "c1_2026-09-18T12:00:00",
 "next_cursor": "c1_2026-09-18T12:15:00",
 "window": {
  "from": "2026-09-18T12:00:00",
  "to": "2026-09-18T12:15:00"
 },
 "full_feed_url": "/v1/sec/earnings/recent?since=2026-09-18T12:00:00",
 "coverage_started_at": "2026-08-27T00:00:00",
 "next_endpoints": [
  {
   "path": "/v1/sec/earnings/recent",
   "url": "/v1/sec/earnings/recent?since=2026-09-18T12:00:00",
   "description": "The releases themselves with their figures",
   "since the cursor": null,
   "price_usd": 0.02
  }
 ]
}

sec earnings latest

GET /v1/sec/earnings/latest · $0.02 / call

The issuer's most recent 8-K Item 2.02 earnings release: revenue, net income and diluted EPS with prior-year comparatives and YoY change, each with source, confidence and the exact row it was read from, plus links to the 8-K and the press release.

When to use, what you skip, sample response

When to use

You have a ticker or CIK and need the most recent reported quarter's headline figures with links to the filing that stated them.

When not to use

You need audited XBRL fundamentals across years (/v1/sec/xbrl/financials), a market-wide feed of who just reported (/v1/sec/earnings/recent), or a comparison against analyst estimates, which this product will never carry.

What you skip building

  • EDGAR full-text search
  • exhibit discovery
  • press-release table parsing
  • per-figure unit and scale handling

Facts

Sample response

{
 "as_of": "2026-09-18T14:05:00Z",
 "found": true,
 "ticker": "ADBE",
 "cik": "0000796343",
 "release": {
  "accession": "0000796343-26-000147",
  "cik": "0000796343",
  "ticker": "ADBE",
  "company": "ADOBE INC.",
  "filed_at": "2026-09-10",
  "accepted_at": "2026-09-10T16:06:14",
  "period_of_report": "2026-09-10",
  "items": [
   "2.02",
   "9.01"
  ],
  "is_item_202": true,
  "filing_url": "https://www.sec.gov/Archives/edgar/data/796343/000079634326000147/0000796343-26-000147-index.htm",
  "primary_doc_url": "https://www.sec.gov/Archives/edgar/data/796343/000079634326000147/adbe-20260910.htm",
  "exhibit_url": "https://www.sec.gov/Archives/edgar/data/796343/000079634326000147/adbeex991q326.htm",
  "figures": {
   "revenue": {
    "value": 6760000000.0,
    "unit": "USD",
    "period": "Three Months Ended August 28, 2026",
    "prior_value": 5988000000.0,
    "prior_period": "Three Months Ended August 29, 2025",
    "yoy_change_pct": 12.89,
    "source": "exhibit_text",
    "confidence": 0.8,
    "excerpt": "Total revenue | 6,760 | 5,988 | 19,776 | 17,575",
    "reason": null
   },
   "net_income": {
    "value": 1827000000.0,
    "unit": "USD",
    "period": "Three Months Ended August 28, 2026",
    "prior_value": 1772000000.0,
    "prior_period": "Three Months Ended August 29, 2025",
    "yoy_change_pct": 3.1,
    "source": "exhibit_text",
    "confidence": 0.8,
    "excerpt": "Net income | $ | 1,827 | $ | 1,772",
    "reason": null
   },
   "eps_diluted": {
    "value": 4.62,
    "unit": "USD/share",
    "period": "Three Months Ended August 28, 2026",
    "prior_value": 4.18,
    "prior_period": "Three Months Ended August 29, 2025",
    "yoy_change_pct": 10.53,
    "source": "exhibit_text",
    "confidence": 0.8,
    "excerpt": "Diluted net income per share | $ | 4.62 | $ | 4.18",
    "reason": null
   }
  },
  "figures_status": "parsed",
  "available_after_minutes": 21.4,
  "method_id": "sec_earnings_extract_v1",
  "method_version": "0.1.0",
  "evidence_hash": "5f2b1c0a9d4e7f3b6c8a1d2e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a"
 },
 "coverage_started_at": "2026-08-27T00:00:00",
 "disclaimer": "Figures are extracted mechanically from the issuer's own 8-K Item 2.02 press release or its inline XBRL; they are not audited financial statements, carry no comparison to analyst consensus (we hold no rights to estimates), and are not investment advice."
}

sec earnings recent

GET /v1/sec/earnings/recent · $0.02 / call

Market-wide feed of 8-K Item 2.02 earnings releases, newest indexed first, each with revenue, net income and diluted EPS, prior-year comparatives, document links and a per-figure source and confidence.

When to use, what you skip, sample response

When to use

You want everything that reported in a window, not one named issuer.

When not to use

You only care about one issuer (/v1/sec/earnings/latest), or you are polling to find out whether anything happened at all — that is /v1/sec/earnings/changes at a quarter of the price.

What you skip building

  • polling EDGAR full-text search
  • item-code filtering
  • exhibit fetching per filing
  • table parsing

Facts

Sample response

{
 "as_of": "2026-09-18T14:05:00Z",
 "since": "2026-09-16T14:05:00",
 "count": 1,
 "releases": [
  {
   "accession": "0001193125-26-387905",
   "cik": "0001341439",
   "ticker": "ORCL",
   "company": "ORACLE CORP",
   "filed_at": "2026-09-10",
   "accepted_at": "2026-09-10T16:16:50",
   "period_of_report": "2026-09-10",
   "items": [
    "2.02",
    "9.01"
   ],
   "is_item_202": true,
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1341439/000119312526387905/0001193125-26-387905-index.htm",
   "primary_doc_url": "https://www.sec.gov/Archives/edgar/data/1341439/000119312526387905/orcl-20260910.htm",
   "exhibit_url": "https://www.sec.gov/Archives/edgar/data/1341439/000119312526387905/orcl-ex99_1.htm",
   "figures": {
    "revenue": {
     "value": 19345000000.0,
     "unit": "USD",
     "period": "Three Months Ended August 31, 2026",
     "prior_value": 14926000000.0,
     "prior_period": "Three Months Ended August 31, 2025",
     "yoy_change_pct": 29.61,
     "source": "exhibit_text",
     "confidence": 0.9,
     "excerpt": "Total revenues | 19,345 | 100% | 14,926 | 100%",
     "reason": null
    },
    "net_income": {
     "value": 4760000000.0,
     "unit": "USD",
     "period": "Three Months Ended August 31, 2026",
     "prior_value": 2927000000.0,
     "prior_period": "Three Months Ended August 31, 2025",
     "yoy_change_pct": 62.62,
     "source": "exhibit_text",
     "confidence": 0.9,
     "excerpt": "NET INCOME | $ | 4,760 | 25% | $",
     "reason": null
    },
    "eps_diluted": {
     "value": 1.56,
     "unit": "USD/share",
     "period": "Three Months Ended August 31, 2026",
     "prior_value": 1.01,
     "prior_period": "Three Months Ended August 31, 2025",
     "yoy_change_pct": 54.46,
     "source": "exhibit_text",
     "confidence": 0.9,
     "excerpt": "Diluted | $ | 1.56 | $ | 1.01",
     "reason": null
    }
   },
   "figures_status": "parsed",
   "available_after_minutes": 18.2,
   "method_id": "sec_earnings_extract_v1",
   "method_version": "0.1.0",
   "evidence_hash": "9a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9"
  }
 ],
 "coverage_started_at": "2026-08-27T00:00:00",
 "disclaimer": "Figures are extracted mechanically from the issuer's own 8-K Item 2.02 press release or its inline XBRL; they are not audited financial statements, carry no comparison to analyst consensus (we hold no rights to estimates), and are not investment advice."
}
Insider trading7 endpoints · free–$0.05

sec insider changes

GET /v1/sec/insider/changes · $0.005 / call

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.

When to use, what you skip, sample response

When to use

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

When not to use

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

What you skip building

  • full-feed polling
  • row parsing to discover nothing changed
  • dedup

Facts

Sample response

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

sec insider clusters

GET /v1/sec/insider/clusters · $0.05 / call

List issuers where 3+ distinct officers or directors bought within a week — returns combined buy USD, insider count and names per issuer. A derived cluster signal no other API sells as one call; use as a high-conviction insider screen.

When to use, what you skip, sample response

When to use

Screening for the strongest insider-buying setups.

When not to use

Per-line detail or single-issuer history — use the other insider views.

What you skip building

  • cluster detection code
  • owner dedup across filings
  • window math

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "window_days": 7,
 "count": 1,
 "clusters": [
  {
   "cik": "0000096223",
   "ticker": "JEF",
   "company": "JEFFERIES FINANCIAL GROUP INC.",
   "insiders": 3,
   "insider_names": [
    "FRIEDMAN BRIAN P",
    "HANDLER RICHARD B",
    "OSBORNE MATT"
   ],
   "buy_usd": 4500000.0,
   "filings": 3,
   "latest_at": "2026-08-28T21:53:58"
  }
 ]
}

sec insider latest

GET /v1/sec/insider/latest · free

List the newest Form 4 insider events market-wide with buy/sell USD, flags and links — free, up to 100 rows, no filters. Use to sample the live tape; the paid screen adds code, role, size and direction filters.

When to use, what you skip, sample response

When to use

Sampling the tape or bootstrapping a cursor for the watch endpoint.

When not to use

Filtered or per-issuer questions — use screen/transactions/summary.

What you skip building

  • EDGAR Atom polling and parsing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "events": [
  {
   "event_id": "ev_1",
   "accession": "0001214659-26-011100",
   "cik": "0000096223",
   "ticker": "JEF",
   "company": "JEFFERIES FINANCIAL GROUP INC.",
   "form": "4",
   "event_type": "insider_transaction",
   "occurred_at": "2026-08-28T21:53:58",
   "flags": [
    "large_insider_buy"
   ],
   "score": 0.7,
   "payload": {
    "buy_usd": 1500000.0,
    "sell_usd": 0.0,
    "n_buys": 1,
    "n_sells": 0
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/96223/000121465926011100-index.htm"
  }
 ]
}

sec insider screen

GET /v1/sec/insider/screen · $0.02 / call

Screen insider transactions market-wide — filter by code, buy/sell direction, minimum USD, owner role and window; returns parsed lines ranked by value. Use instead of polling EDGAR and joining Form 4 XML across every filer.

When to use, what you skip, sample response

When to use

Market-wide questions about insider activity with filters; the per-issuer view is cheaper when you know the company.

When not to use

History beyond our index window, or 10b5-1-only splits per issuer.

What you skip building

  • market-wide EDGAR polling
  • per-filing XML parsing
  • role and size filtering code

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00: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"
  }
 ]
}

sec insider since

GET /v1/sec/insider/since · free

Watch insider filings with a since cursor — returns only events newer than your cursor plus the next cursor to store; optional minimum USD filter. Use as the cheap poll loop instead of maintaining an EDGAR poller.

When to use, what you skip, sample response

When to use

Recurring checks; store next_cursor between calls.

When not to use

One-off questions — use latest or screen.

What you skip building

  • poller infrastructure
  • cursor bookkeeping against EDGAR
  • dedup

Facts

Sample response

{
 "as_of": "2026-09-16T21:48:08.434Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-09-15T00:00:00",
 "count": 3,
 "events": [
  {
   "event_id": "ev_dfce5547c8354d44b72d",
   "accession": "0001974084-26-000011",
   "cik": "0001720420",
   "ticker": "IBEX",
   "company": "IBEX Ltd",
   "form": "4",
   "event_type": "insider_transaction",
   "occurred_at": "2026-09-16T17:45:11",
   "flags": [],
   "score": 0.0,
   "payload": {
    "owner": {
     "cik": "0001974084",
     "name": "Casteel Julie K",
     "is_director": false,
     "is_officer": true,
     "is_ten_percent_owner": false,
     "officer_title": "Chief Sales/Marketing Officer"
    },
    "buy_usd": 0,
    "sell_usd": 706064.93,
    "n_buys": 0,
    "n_sells": 1
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1720420/000197408426000011/0001974084-26-000011-index.htm"
  },
  {
   "event_id": "ev_79ea98842f6e4434a6e0",
   "accession": "0001679049-26-000161",
   "cik": "0001679049",
   "ticker": "INSW",
   "company": "International Seaways, Inc.",
   "form": "4",
   "event_type": "insider_transaction",
   "occurred_at": "2026-09-16T17:43:35",
   "flags": [],
   "score": 0.0,
   "payload": {
    "owner": {
     "cik": "0001349704",
     "name": "Zabrocky Lois K",
     "is_director": true,
     "is_officer": true,
     "is_ten_percent_owner": false,
     "officer_title": "President & CEO"
    },
    "buy_usd": 0,
    "sell_usd": 216012.2,
    "n_buys": 0,
    "n_sells": 1
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1679049/000167904926000161/0001679049-26-000161-index.htm"
  },
  {
   "event_id": "ev_8db1205ad4fa43c2921a",
   "accession": "0001193125-26-393283",
   "cik": "0001372612",
   "ticker": "BOX",
   "company": "BOX INC",
   "form": "4",
   "event_type": "insider_transaction",
   "occurred_at": "2026-09-16T17:41:17",
   "flags": [],
   "score": 0.0,
   "payload": {
    "owner": {
     "cik": "0001204818",
     "name": "EVAN DANA L",
     "is_director": true,
     "is_officer": false,
     "is_ten_percent_owner": false,
     "officer_title": null
    },
    "buy_usd": 0,
    "sell_usd": 215530.0,
    "n_buys": 0,
    "n_sells": 1
   },
   "filing_url": "https://www.sec.gov/Archives/edgar/data/1372612/000119312526393283/0001193125-26-393283-index.htm"
  }
 ],
 "next_cursor": "2026-09-16T17:45:11"
}

sec insider summary

GET /v1/sec/insider/summary · free

Summarize insider activity for one issuer — returns filings, distinct insiders, buy/sell/net USD and largest transactions over a chosen window. Use for a cheap net-buying signal before pulling full transaction lines.

When to use, what you skip, sample response

When to use

Quick per-company insider signal in one call.

When not to use

You need per-line detail — use transactions; or market-wide — use screen.

What you skip building

  • Form 4 aggregation
  • buy/sell math
  • owner dedup

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "window_days": 30,
 "cik": "0000096223",
 "ticker": "JEF",
 "company": "JEFFERIES FINANCIAL GROUP INC.",
 "filings": 3,
 "distinct_insiders": 3,
 "buy_usd": 4500000.0,
 "sell_usd": 0.0,
 "net_usd": 4500000.0,
 "largest_buy_usd": 1500000.0,
 "largest_sale_usd": 0.0
}

sec insider transactions

GET /v1/sec/insider/transactions · free

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.

When to use, what you skip, sample response

When to use

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

When not to use

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

What you skip building

  • EDGAR Atom polling
  • ownershipDocument XML parsing
  • derivative-table handling
  • USD math

Facts

Sample response

{
 "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"
  }
 ]
}
Institutional holdings (13F)7 endpoints · free–$0.05

sec 13f crowding

GET /v1/sec/13f/crowding · $0.05 / call

Institutional breadth in an issuer over the quarters we hold: holders, value and shares per quarter with changes, plus the managers that entered or exited last quarter. Built from accumulated 13F history, not a single snapshot.

When to use, what you skip, sample response

When to use

You need the direction of institutional interest in an issuer over time.

When not to use

The current holder list (/v1/sec/13f/holders) or one manager's book (/v1/sec/13f/manager).

What you skip building

  • fetching every quarter and diffing
  • amendment double-counting
  • per-manager deduplication

Facts

Sample response

{
 "as_of": "2026-09-03T15:30:00Z",
 "issuer_query": "NVIDIA",
 "issuer_matched": "NVIDIA CORP",
 "periods_covered": 2,
 "series": [
  {
   "period": "2025-12-31",
   "holders": 412,
   "total_value_usd": 91200000000.0,
   "total_shares": 640000000.0,
   "holders_change": null,
   "value_change_pct": null
  },
  {
   "period": "2026-03-31",
   "holders": 437,
   "total_value_usd": 99400000000.0,
   "total_shares": 662000000.0,
   "holders_change": 25,
   "value_change_pct": 8.99
  }
 ],
 "new_managers": [
  "Ramiah Capital Group"
 ],
 "exited_managers": [],
 "trend": "building",
 "note": "Holder counts deduplicate amendments to one filing per manager per quarter. 13F is quarterly with the SEC's ~45-day lag, and covers only managers above the $100M threshold, so this is institutional breadth, not total ownership.",
 "disclaimer": "From SEC Form 13F filings (public domain), reported quarterly with a filing lag; not investment advice."
}

sec 13f holders

GET /v1/sec/13f/holders · $0.02 / call

List institutional holders of one issuer from the latest 13F period — manager, value, shares and put/call, ranked by position size. Query by as-filed issuer name or CUSIP; joins by name/CIK only (no identifier mapping).

When to use, what you skip, sample response

When to use

Ownership questions per issuer.

When not to use

Real-time ownership — quarterly with a lag; sub-5% retail holders never appear.

What you skip building

  • scanning millions of 13F rows
  • amendment dedup
  • ranking

Facts

Sample response

{
 "as_of": "2026-08-31T17:00:00Z",
 "periods_held": [
  "2025-12-31",
  "2025-09-30"
 ],
 "period": "2025-12-31",
 "count": 1,
 "holders": [
  {
   "manager_cik": "0001566307",
   "manager_name": "Ramiah Investment Group",
   "value_usd": 500000,
   "shares": 4000,
   "put_call": null,
   "issuer": "NVIDIA CORP",
   "cusip": "67066G104",
   "accession": "0001566307-26-000071"
  }
 ]
}

sec 13f manager

GET /v1/sec/13f/manager · $0.02 / call

Get an institutional manager's reported holdings from its latest 13F-HR — issuer, as-filed CUSIP/FIGI, value and shares, largest first, accession-cited. The dataset gated at competitors' top tiers, priced per call.

When to use, what you skip, sample response

When to use

Per-manager portfolio questions; search view resolves the CIK first.

When not to use

Sub-quarterly freshness — 13F is quarterly with a filing lag.

What you skip building

  • 13F XML/dataset parsing
  • amendment handling
  • ranking

Facts

Sample response

{
 "as_of": "2026-08-31T17:00:00Z",
 "periods_held": [
  "2025-12-31",
  "2025-09-30"
 ],
 "cik": "0001566307",
 "manager_name": "Ramiah Investment Group",
 "period": "2025-12-31",
 "accession": "0001566307-26-000071",
 "total_value_usd": 14970455,
 "positions_reported": 35,
 "count": 1,
 "holdings": [
  {
   "issuer": "COSTAR GROUP INC",
   "class_title": "COM",
   "cusip": "22160N109",
   "figi": null,
   "value_usd": 291134,
   "shares": 7217,
   "share_type": "SH",
   "put_call": null,
   "accession": "0001566307-26-000071"
  }
 ]
}

sec 13f manager changes

GET /v1/sec/13f/changes · $0.05 / call

Get a manager's quarter-over-quarter 13F changes — new, exited, increased and decreased positions with values and shares for both quarters. The premium derived layer at competitors, computed from primary filings in one call.

When to use, what you skip, sample response

When to use

Flow questions per manager; needs the manager CIK.

When not to use

Intra-quarter trades — 13F shows quarter-end snapshots only.

What you skip building

  • two-quarter joins
  • amendment handling
  • diff logic

Facts

Sample response

{
 "as_of": "2026-08-31T17:00:00Z",
 "periods_held": [
  "2025-12-31",
  "2025-09-30"
 ],
 "cik": "0001566307",
 "manager_name": "Ramiah Investment Group",
 "period": "2025-12-31",
 "prev_period": "2025-09-30",
 "count": 1,
 "changes": [
  {
   "issuer": "NVIDIA CORP",
   "cusip": "67066G104",
   "change": "new",
   "value_usd": 500000,
   "prev_value_usd": null,
   "shares": 4000,
   "prev_shares": null
  }
 ]
}

sec 13f new managers

GET /v1/sec/13f/new · free

First-time-ever 13F filers per quarter from our multi-quarter index — newly reporting institutional managers with portfolio size, largest first. Free, no key.

When to use, what you skip, sample response

When to use

You want net-new 13F reporters, not all filers.

When not to use

An existing manager's holdings — /v1/sec/13f/manager.

What you skip building

  • 13F history maintenance
  • threshold-crossing detection

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "period": "2025-12-31",
 "count": 1,
 "managers": [
  {
   "cik": "0001566307",
   "manager_name": "Ramiah Capital Group",
   "state": "WI",
   "first_period": "2025-12-31",
   "holdings_count": 2,
   "value_total_usd": 14970455.0
  }
 ],
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec 13f top managers

GET /v1/sec/13f/top · free

Rank institutional managers by total reported 13F value for the latest quarter, optionally by state — CIK, name, positions and totals in one call from primary filings data.

When to use, what you skip, sample response

When to use

Market-structure and prospecting questions.

When not to use

AUM — 13F reports covered securities only, not total AUM.

What you skip building

  • dataset aggregation
  • ranking
  • state filtering

Facts

Sample response

{
 "as_of": "2026-08-31T17:00:00Z",
 "periods_held": [
  "2025-12-31",
  "2025-09-30"
 ],
 "period": "2025-12-31",
 "count": 1,
 "managers": [
  {
   "cik": "0001566307",
   "manager_name": "Ramiah Investment Group",
   "state": "WI",
   "period": "2025-12-31",
   "holdings_count": 35,
   "value_total_usd": 14970455,
   "accession": "0001566307-26-000071"
  }
 ]
}
Entity graph4 endpoints · $0.02–$0.05

graph auditor clients

GET /v1/graph/auditor · $0.02 / call

Which public companies name a given audit firm in their annual reports — exact- phrase 10-K full-text join per registrant with filing counts and dates. Map auditor concentration and shared-auditor networks in one call.

When to use, what you skip, sample response

When to use

Auditor-concentration or shared-auditor analysis.

When not to use

A definitive engagement record — mentions can include predecessor auditors; it is a text proxy.

What you skip building

  • 10-K full-text infrastructure
  • per-registrant aggregation

Facts

Sample response

{
 "as_of": "2026-09-02T22:00:00Z",
 "auditor": "Deloitte",
 "total_filing_matches": 812,
 "count": 1,
 "companies": [
  {
   "cik": "0000320193",
   "company": "Apple Inc.",
   "filings": 1,
   "forms": [
    "10-K"
   ],
   "latest_filed": "2025-11-01",
   "matched": [
    "Deloitte"
   ]
  }
 ]
}

graph interlocks

GET /v1/graph/interlocks · $0.05 / call

Board and officer interlock map for any public company — the insiders from its SEC ownership filings joined to every other issuer they file for, with roles on both sides. One call replaces entity resolution across Forms 3/4/5.

When to use, what you skip, sample response

When to use

Governance or network analysis anchored on one company.

When not to use

Historical boards predating our ownership index (each response states index_started; coverage compounds daily).

What you skip building

  • Forms 3/4/5 entity resolution
  • ownership-filing parsing
  • role extraction

Facts

Sample response

{
 "as_of": "2026-09-02T22:00:00Z",
 "cik": "0000096223",
 "company": "JEFFERIES FINANCIAL GROUP INC.",
 "index_started": "2026-08-27T00:00:00",
 "insiders_seen": 14,
 "count": 1,
 "interlocks": [
  {
   "cik": "0001745431",
   "ticker": null,
   "company": "Vitesse Energy Inc.",
   "shared_people": [
    {
     "owner_cik": "0001211677",
     "name": "FRIEDMAN BRIAN P",
     "role_at_target": "director",
     "role_at_other": "director",
     "last_seen": "2026-08-29T20:11:03"
    }
   ]
  }
 ]
}

graph person

GET /v1/graph/person · $0.02 / call

Look up an insider by name or owner CIK and get every issuer they file SEC ownership forms for — roles, filing counts, first/last seen. The person node of the entity graph in one call.

When to use, what you skip, sample response

When to use

You have an insider's name or CIK and want their issuer footprint.

When not to use

Activity predating the ownership index (index_started is returned).

What you skip building

  • name matching across filings
  • owner CIK resolution

Facts

Sample response

{
 "as_of": "2026-09-02T22:00:00Z",
 "index_started": "2026-08-27T00:00:00",
 "count": 1,
 "persons": [
  {
   "owner_cik": "0001211677",
   "name": "HANDLER RICHARD B",
   "issuers": [
    {
     "cik": "0000096223",
     "ticker": "JEF",
     "company": "JEFFERIES FINANCIAL GROUP INC.",
     "role": "officer (CEO)",
     "filings": 4,
     "first_seen": "2026-08-27T12:00:00",
     "last_seen": "2026-08-29T20:11:03"
    }
   ]
  }
 ]
}

graph subsidiaries

GET /v1/graph/subsidiaries · $0.05 / call

Subsidiary names and jurisdictions extracted from any public company's latest annual-report Exhibit 21, with the source exhibit URL for verification. One call replaces locating and parsing EX-21 filings.

When to use, what you skip, sample response

When to use

You need the registrant's disclosed subsidiary list and jurisdictions.

When not to use

Complete ownership structures — issuers may omit minor subsidiaries, and parsing is best-effort (source_url is always included).

What you skip building

  • EX-21 location
  • HTML table parsing
  • exhibit format variance

Facts

Sample response

{
 "as_of": "2026-09-02T22:00:00Z",
 "cik": "0000320193",
 "name": "Apple Inc.",
 "accession": "0000320193-25-000123",
 "filed": "2025-11-01",
 "source_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000123/ex21.htm",
 "note": null,
 "count": 1,
 "subsidiaries": [
  {
   "name": "Apple Operations International Ltd.",
   "jurisdiction": "Ireland"
  }
 ]
}
SEC filings & search13 endpoints · free–$0.02

sec 8k items history

GET /v1/sec/8k/history · $0.02 / call

Get a filer's 8-K history with item codes — filter by item (e.g. 5.02 officer changes, 2.02 earnings) and date; includes coverage note. Use instead of paginating submissions and mapping item codes yourself.

When to use, what you skip, sample response

When to use

Per-company 8-K event history questions.

When not to use

Market-wide 8-K feeds — those views run on our index.

What you skip building

  • submissions pagination
  • 8-K item mapping
  • URL building

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028920",
   "form": "8-K",
   "filed": "2026-08-29",
   "report_date": "2026-08-28",
   "items": [
    "1.03"
   ],
   "description": "FORM 8-K",
   "url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ],
 "coverage_note": "SEC 'recent' window for this filer reaches back to 2026-08-29"
}

sec busiest filers

GET /v1/sec/filings/top · $0.02 / call

Rank filers by filing volume over any window up to five years, optionally per form — serial Form D issuers, heaviest 8-K disclosers, most active registrants — from our historical index in one call.

When to use, what you skip, sample response

When to use

Ranked market questions by activity.

When not to use

Salience-ranked events — the digest and screens rank by signal, not volume.

What you skip building

  • market-wide aggregation
  • bulk downloads
  • ranking code

Facts

Sample response

{
 "as_of": "2026-08-31T16:30:00Z",
 "index_from": "2021-07-01",
 "index_to": "2026-08-28",
 "window_days": 90,
 "form": "D",
 "filers": [
  {
   "cik": "0002150620",
   "company": "Upfront Secondary II-C, L.P.",
   "filings": 3
  }
 ]
}

sec filing cadence

GET /v1/sec/filings/cadence · $0.02 / call

Get a filer's year-by-year filing counts per form since 2021 — reporting rhythm, disclosure volume and gaps in one call from our historical index. Use to spot stopped reports or disclosure spikes without listing filings.

When to use, what you skip, sample response

When to use

Rhythm/volume questions per filer.

When not to use

Individual filings — use history or list views.

What you skip building

  • aggregation over filing lists
  • multi-year pagination

Facts

Sample response

{
 "as_of": "2026-08-31T16:30:00Z",
 "index_from": "2021-07-01",
 "index_to": "2026-08-28",
 "cik": "0000320193",
 "company": "APPLE INC",
 "years": [
  {
   "year": "2026",
   "counts": {
    "4": 40,
    "8-K": 9
   },
   "total": 49
  }
 ],
 "total_filings": 49
}

sec filing calendar

GET /v1/sec/calendar · $0.02 / call

Get a filer's reporting cadence — fiscal year end, last 10-K/10-Q dates and naive next-report estimates from historical spacing. Use to time monitoring windows without deriving cadence from raw filings.

When to use, what you skip, sample response

When to use

Timing questions around periodic reports.

When not to use

Earnings-call dates or company guidance — we serve filing cadence only.

What you skip building

  • cadence derivation
  • submissions slicing
  • date math

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "fiscal_year_end": "0927",
 "last_10k_filed": "2025-11-01",
 "last_10q_filed": "2026-08-01",
 "recent_10q_dates": [
  "2026-08-01",
  "2026-05-02",
  "2026-01-31"
 ],
 "expected_next_10q": "2026-10-31",
 "expected_next_10k": "2026-11-01"
}

sec filing documents

GET /v1/sec/filing/documents · free

List every document in one SEC filing — name, type, size and direct URL per document, from the accession number. Use to fetch exactly the exhibit or XML you need instead of scraping the index page.

When to use, what you skip, sample response

When to use

You have an accession and need its documents.

When not to use

Finding filings — use list/search views first.

What you skip building

  • index-page scraping
  • URL construction

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0001045810",
 "accession": "0001045810-26-000021",
 "count": 1,
 "documents": [
  {
   "name": "nvda-20260125.htm",
   "type": "text.gif",
   "size": 1024,
   "url": "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/nvda-20260125.htm"
  }
 ]
}

sec filing volume

GET /v1/sec/volume · free

Daily counts for any SEC form vs its 52-week average and last year's same window, from our multi-year index — filing-volume anomalies in one call. Free, no key.

When to use, what you skip, sample response

When to use

You need volume context — surge or lull detection — for a form type.

When not to use

The filings themselves — /v1/sec/filings/latest or /v1/sec/8k.

What you skip building

  • counting EDGAR pages
  • building your own baseline history

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "form": "8-K",
 "window_days": 30,
 "index_covers_since": "2021-07-01",
 "index_covers_until": "2026-09-02",
 "window_total": 4210,
 "weekly_avg_52w": 982.4,
 "same_window_last_year": 4102,
 "daily": [
  {
   "day": "2026-09-02",
   "filings": 214
  }
 ],
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec filings history

GET /v1/sec/filings/history · free

Get a filer's complete filing history from our 4M-row historical index — accession, form, date and URL per filing, form- and date-filterable, coverage stated. Use when the live 'recent' shard is too shallow and paginating EDGAR is too slow.

When to use, what you skip, sample response

When to use

Per-filer history beyond the recent shard.

When not to use

Pre-2021 history (not yet indexed) or full documents.

What you skip building

  • EDGAR pagination
  • full-index downloads
  • URL construction

Facts

Sample response

{
 "as_of": "2026-08-31T16:30:00Z",
 "index_from": "2021-07-01",
 "index_to": "2026-08-28",
 "cik": "0000320193",
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028920",
   "form": "8-K",
   "filed": "2026-08-29",
   "company": "APPLE INC",
   "url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ]
}

sec filings list

GET /v1/sec/filings · free

List a filer's recent SEC filings — accession, form, filed and report dates, 8-K items and index URL, filterable by form. Use instead of downloading submissions JSON and assembling archive URLs yourself.

When to use, what you skip, sample response

When to use

Any per-filer filing listing need.

When not to use

Market-wide listing — use latest or search views.

What you skip building

  • submissions pagination
  • archive URL construction
  • item parsing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028920",
   "form": "8-K",
   "filed": "2026-08-29",
   "report_date": "2026-08-28",
   "items": [
    "1.03"
   ],
   "description": "FORM 8-K",
   "url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ]
}

sec filings since

GET /v1/sec/filings/since · free

Watch one filer's SEC filings with a date cursor — returns only filings newer than your cursor plus the next cursor, optional form filter. Use as the per-company poll loop instead of refetching submissions JSON.

When to use, what you skip, sample response

When to use

Recurring per-company checks; store next_cursor.

When not to use

Multi-ticker portfolios — the watchlist view batches 25.

What you skip building

  • submissions refetching
  • cursor bookkeeping

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028920",
   "form": "8-K",
   "filed": "2026-08-29",
   "report_date": "2026-08-28",
   "items": [
    "1.03"
   ],
   "description": "FORM 8-K",
   "url": "https://www.sec.gov/Archives/edgar/data/320193/000143774926028920-index.htm"
  }
 ],
 "next_cursor": "2026-08-29"
}

sec form trend

GET /v1/sec/trends/form · $0.02 / call

Get monthly EDGAR-wide volume for any form since 2021 — S-1 as an IPO-pipeline proxy, Form D as private-capital activity, 10-K seasonality — one series, coverage stated. Use instead of counting filings yourself month by month.

When to use, what you skip, sample response

When to use

Market-level cycle and seasonality questions by form.

When not to use

Individual filings or per-filer series.

What you skip building

  • bulk index downloads
  • monthly aggregation
  • seasonality bookkeeping

Facts

Sample response

{
 "as_of": "2026-08-31T16:30:00Z",
 "index_from": "2021-07-01",
 "index_to": "2026-08-28",
 "form": "S-1",
 "points": [
  {
   "month": "2026-07",
   "count": 61
  },
  {
   "month": "2026-08",
   "count": 58
  }
 ],
 "total": 119
}

sec latest filings

GET /v1/sec/filings/latest · free

List the newest EDGAR filings market-wide for any form type — accession, filer, time and URL from the SEC live feed, normalized. Use instead of polling and parsing the getcurrent Atom feed.

When to use, what you skip, sample response

When to use

Market-wide "what was just filed" for one form type.

When not to use

Per-company lists or flagged events — other views are cheaper/richer.

What you skip building

  • Atom feed polling and parsing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "count": 1,
 "filings": [
  {
   "accession": "0002150620-26-000001",
   "cik": "0002150620",
   "company": "Upfront Secondary II-C, L.P.",
   "form": "D",
   "filed": "2026-08-28T17:30:10",
   "items": [],
   "url": "https://www.sec.gov/Archives/edgar/data/2150620/000215062026000001-index.htm"
  }
 ]
}
IPO pipeline5 endpoints · $0.02–$0.05

ipo calendar

GET /v1/ipo/calendar · $0.05 / call

The IPO pipeline staged in one call — just-filed S-1/F-1 issuers, amendments in progress, priced 424(b)(4) offerings and withdrawals for your window, each bucket newest first. Replaces composing four EDGAR form feeds.

When to use, what you skip, sample response

When to use

You brief or monitor the pipeline as a whole, on a schedule.

When not to use

Single-stage feeds — the per-stage endpoints are cheaper.

What you skip building

  • multi-feed composition
  • stage classification
  • dedup across amendments

Facts

Sample response

{
 "as_of": "2026-09-02T23:00:00Z",
 "window_days": 30,
 "filed": [
  {
   "accession": "0001437749-26-028920",
   "cik": "0001999999",
   "company": "EXAMPLE ROBOTICS INC",
   "ticker": null,
   "form": "S-1",
   "filed": "2026-08-29",
   "url": "https://www.sec.gov/Archives/edgar/data/1999999/000143774926028920-index.htm"
  }
 ],
 "amending": [],
 "priced": [],
 "withdrawn": []
}

ipo company

GET /v1/ipo/company · $0.05 / call

One issuer's complete path to going public — registrations, amendments, prospectuses, effectiveness and withdrawals in order with a current stage label, merged live from EDGAR plus our 2021+ index. Look up by CIK or name substring.

When to use, what you skip, sample response

When to use

You follow one candidate and want its full registration history + stage.

When not to use

Market-wide pipeline snapshots — use the calendar.

What you skip building

  • submissions parsing
  • form classification
  • stage logic

Facts

Sample response

{
 "as_of": "2026-09-02T23:00:00Z",
 "cik": "0001999999",
 "company": "EXAMPLE ROBOTICS INC",
 "stage": "priced",
 "count": 2,
 "events": [
  {
   "form": "S-1",
   "filed": "2026-06-10",
   "accession": "0001999999-26-000001",
   "url": "https://www.sec.gov/Archives/edgar/data/1999999/000199999926000001-index.htm"
  },
  {
   "form": "424B4",
   "filed": "2026-08-29",
   "accession": "0001999999-26-000009",
   "url": "https://www.sec.gov/Archives/edgar/data/1999999/000199999926000009-index.htm"
  }
 ]
}

ipo new registrations

GET /v1/ipo/registrations · $0.02 / call

New S-1 and F-1 registration statements filed in the last N days — companies that just started going public, newest first with CIKs and filing links; amendments excluded by default. One call replaces EDGAR form-feed polling.

When to use, what you skip, sample response

When to use

You track newly surfacing IPO candidates.

When not to use

Pricing or completion events — use the priced-offerings endpoint.

What you skip building

  • EDGAR feed polling
  • S-1 vs amendment disambiguation

Facts

Sample response

{
 "as_of": "2026-09-02T23:00:00Z",
 "window_days": 30,
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028920",
   "cik": "0001999999",
   "company": "EXAMPLE ROBOTICS INC",
   "ticker": null,
   "form": "S-1",
   "filed": "2026-08-29",
   "url": "https://www.sec.gov/Archives/edgar/data/1999999/000143774926028920-index.htm"
  }
 ],
 "note": null
}

ipo priced

GET /v1/ipo/priced · $0.02 / call

Offerings that just priced — final 424(b)(4) prospectuses in your window, each flagged likely-IPO when the issuer has no earlier 424(b) in our 2021+ index, separating debuts from follow-ons. One call, minutes-fresh.

When to use, what you skip, sample response

When to use

You act on completed pricings and want debuts distinguished.

When not to use

Registration starts — use the registrations endpoint.

What you skip building

  • 424(b) polling
  • follow-on disambiguation history joins

Facts

Sample response

{
 "as_of": "2026-09-02T23:00:00Z",
 "window_days": 30,
 "count": 1,
 "offerings": [
  {
   "accession": "0001437749-26-028920",
   "cik": "0001999999",
   "company": "EXAMPLE ROBOTICS INC",
   "ticker": "EXRB",
   "form": "424B4",
   "filed": "2026-08-29",
   "url": "https://www.sec.gov/Archives/edgar/data/1999999/000143774926028920-index.htm",
   "likely_ipo": true
  }
 ]
}

ipo withdrawn

GET /v1/ipo/withdrawn · $0.02 / call

Registration statements withdrawn in the last N days (RW and AW filings), newest first with issuer and filing links — the dead-deal list as one call. Covers all registration types, stated in the response.

When to use, what you skip, sample response

When to use

You track failed or pulled offerings as a market signal.

When not to use

Live pipeline state — use the calendar endpoint.

What you skip building

  • RW/AW feed polling

Facts

Sample response

{
 "as_of": "2026-09-02T23:00:00Z",
 "window_days": 60,
 "count": 1,
 "filings": [
  {
   "accession": "0001437749-26-028921",
   "cik": "0001999998",
   "company": "EXAMPLE THERAPEUTICS INC",
   "ticker": null,
   "form": "RW",
   "filed": "2026-08-20",
   "url": "https://www.sec.gov/Archives/edgar/data/1999998/000143774926028921-index.htm"
  }
 ],
 "note": "RW/AW cover withdrawal of any registration statement, not only IPOs."
}
Company fundamentals (XBRL)11 endpoints · free–$0.05

sec company

GET /v1/sec/company · $0.02 / call

Get a one-call SEC snapshot by ticker or CIK — returns identity, recent filings, indexed events, insider activity and key XBRL facts (revenue, income, cash, 8 periods). Use before deeper diligence.

When to use, what you skip, sample response

When to use

You have a ticker or CIK and need cited fundamentals plus recent events in one call.

When not to use

You need private companies, non-US issuers, or real-time prices.

What you skip building

  • XBRL companyfacts parsing
  • submissions pagination
  • Form 4 aggregation
  • ticker-to-CIK mapping

Facts

Sample response

{
 "cik": "0000096223",
 "name": "JEFFERIES FINANCIAL GROUP INC.",
 "tickers": [
  "JEF"
 ],
 "sic": "6199",
 "sic_description": "Finance Services",
 "state_of_incorporation": "NY",
 "fiscal_year_end": "1130",
 "recent_filings": [
  {
   "form": "8-K",
   "filed": "2026-08-29",
   "url": "https://www.sec.gov/..."
  }
 ],
 "events_30d": [],
 "insider_90d": {
  "buys": 2,
  "sells": 5,
  "net_usd": -1250000.0
 },
 "facts": {
  "Revenues": [
   {
    "end": "2026-05-31",
    "value": 1650000000.0,
    "form": "10-Q",
    "fy": 2026,
    "fp": "Q2"
   }
  ]
 },
 "sources": {
  "companyfacts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000096223.json"
 },
 "as_of": "2026-08-30T18:00:00Z"
}

peers industry

GET /v1/peers/industry · $0.02 / call

Every SEC registrant in one SIC industry with total assets and revenue joined from corpus-wide XBRL frames, sorted largest first — the industry map in one call, by SIC code or resolved from any ticker.

When to use, what you skip, sample response

When to use

You want the industry's public players and their scale, fast.

When not to use

Ranked similarity to one company — use the peers endpoint.

What you skip building

  • SIC directory scraping
  • frames joins
  • size aggregation

Facts

Sample response

{
 "as_of": "2026-09-02T21:00:00Z",
 "sic": 3571,
 "frame_year": 2025,
 "count": 1,
 "companies": [
  {
   "cik": "0000320193",
   "ticker": "AAPL",
   "name": "Apple Inc.",
   "assets_usd": 365000000000.0,
   "revenue_usd": 400000000000.0
  }
 ]
}

peers percentile

GET /v1/peers/percentile · $0.05 / call

A company's percentile and rank versus its same-industry XBRL peer group on revenue, assets, net income and margin, with peer median/min/max. One call replaces a peer lookup plus a fundamentals fetch per peer.

When to use, what you skip, sample response

When to use

You need a company's standing relative to comparables, quantitatively.

When not to use

Just the peer list (/v1/peers/similar) or the company's own figures (/v1/sec/xbrl/financials, /v1/sec/xbrl/ratios).

What you skip building

  • N peer fundamentals lookups
  • hand-built percentile math
  • mismatched frame years

Facts

Sample response

{
 "as_of": "2026-09-03T15:00:00Z",
 "target": {
  "cik": "0001045810",
  "ticker": "NVDA",
  "name": "NVIDIA CORP",
  "sic": "3674",
  "sic_description": "Semiconductors & Related Devices",
  "assets_usd": 111601000000.0,
  "revenue_usd": 130497000000.0,
  "margin": 0.5585
 },
 "frame_year": 2025,
 "peer_group_size": 20,
 "peer_selection": "Same-SIC registrants with XBRL frame data, ranked by size/margin distance; the nearest peers form the comparison set (same method as /v1/peers/similar).",
 "metrics": [
  {
   "metric": "margin",
   "definition": "Net income / revenue",
   "higher_is_better": true,
   "value": 0.5585,
   "percentile": 95.0,
   "rank": 1,
   "peers_compared": 20,
   "peer_median": 0.081,
   "peer_min": -0.42,
   "peer_max": 0.5585
  }
 ],
 "method": "sec_peers_rules_v1",
 "note": "Percentile is the share of the peer group at or below the target for that metric, so 50 is typical for the group and 100 is the highest. A metric is null when the target did not report it in the frame year rather than imputed.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

peers similar

GET /v1/peers/similar · $0.05 / call

The most similar public companies to any ticker or CIK — same-industry candidates ranked by log-scale asset/revenue distance and margin from the full SEC XBRL corpus, each peer row carrying the numbers behind the ranking. One call replaces corpus loading and similarity modeling.

When to use, what you skip, sample response

When to use

You need a comparable set — valuation context, benchmarking, screening.

When not to use

Cross-industry similarity or product-market competition — candidates come from the SEC industry (SIC) code.

What you skip building

  • XBRL corpus loading
  • frames API joins
  • similarity model construction
  • SIC lookups

Facts

Sample response

{
 "as_of": "2026-09-02T21:00:00Z",
 "target": {
  "cik": "0000320193",
  "ticker": "AAPL",
  "name": "Apple Inc.",
  "sic": "3571",
  "sic_description": "Electronic Computers",
  "assets_usd": 365000000000.0,
  "revenue_usd": 400000000000.0,
  "margin": 0.25
 },
 "frame_year": 2025,
 "candidates_in_industry": 42,
 "count": 1,
 "peers": [
  {
   "cik": "0001045810",
   "ticker": "NVDA",
   "name": "NVIDIA CORP",
   "assets_usd": 111000000000.0,
   "revenue_usd": 130000000000.0,
   "net_income_usd": 72000000000.0,
   "margin": 0.55,
   "distance": 1.3072,
   "similarity": 0.4334
  }
 ]
}

sec shares outstanding

GET /v1/sec/xbrl/shares · $0.02 / call

Get reported common shares outstanding by period for one filer from XBRL — the series behind dilution and per-share math, deduplicated. Use instead of digging share counts out of companyfacts or cover pages.

When to use, what you skip, sample response

When to use

Share-count questions.

When not to use

Public float — not served yet.

What you skip building

  • companyfacts digging
  • dei tag handling

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "points": [
  {
   "end": "2026-06-28",
   "value": 15000000000.0,
   "form": "10-Q",
   "fy": 2026,
   "fp": "Q3",
   "filed": "2026-08-01"
  }
 ],
 "source": "https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/CommonStockSharesOutstanding.json"
}

sec xbrl compare

GET /v1/sec/xbrl/compare · $0.05 / call

Compare one XBRL metric across up to 10 tickers — latest reported value per company, ranked, with period ends and tags. Use instead of N companyfacts downloads and a fiscal-alignment headache.

When to use, what you skip, sample response

When to use

Peer comparisons on one metric.

When not to use

Whole-market ranking — the frame view covers every filer.

What you skip building

  • N per-company downloads
  • tag mapping
  • ranking code

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "metric": "revenue",
 "count": 2,
 "latest": [
  {
   "ticker": "AAPL",
   "cik": "0000320193",
   "tag": "Revenues",
   "end": "2026-06-28",
   "value": 94000000000.0
  },
  {
   "ticker": "NVDA",
   "cik": "0001045810",
   "tag": "Revenues",
   "end": "2026-07-27",
   "value": 46700000000.0
  }
 ]
}

sec xbrl concept

GET /v1/sec/xbrl/concept · free

Get one as-reported XBRL metric series for a filer — revenue, net income, cash and more, or any us-gaap tag — deduplicated 10-K/10-Q values with periods and source URL. Use instead of downloading companyfacts for one number.

When to use, what you skip, sample response

When to use

One metric, one company.

When not to use

Full statements — use financials; cross-company — use compare/frame.

What you skip building

  • companyfacts download
  • tag hunting
  • dedup across restatements

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "metric": "revenue",
 "tag": "Revenues",
 "unit": "USD",
 "points": [
  {
   "end": "2026-06-28",
   "value": 94000000000.0,
   "form": "10-Q",
   "fy": 2026,
   "fp": "Q3",
   "filed": "2026-08-01"
  }
 ],
 "source": "https://data.sec.gov/api/xbrl/companyconcept/CIK0000320193/us-gaap/Revenues.json"
}

sec xbrl financials

GET /v1/sec/xbrl/financials · $0.02 / call

Get normalized key financials for one filer — revenue, net income, operating cash flow, assets, liabilities, capex, R&D and shares across eight reported periods. Use instead of downloading and normalizing the companyfacts JSON.

When to use, what you skip, sample response

When to use

Multi-metric fundamentals for one company.

When not to use

One metric — concept is cheaper; peers — compare/frame.

What you skip building

  • companyfacts download
  • tag mapping
  • restatement dedup

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "cik": "0000320193",
 "facts": {
  "revenue": [
   {
    "end": "2026-06-28",
    "value": 94000000000.0,
    "form": "10-Q",
    "fy": 2026,
    "fp": "Q3",
    "filed": "2026-08-01"
   }
  ]
 },
 "source": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json"
}

sec xbrl frame

GET /v1/sec/xbrl/frame · $0.05 / call

Rank every SEC filer on one XBRL metric for one period — top-N values with entity names and the total filer count, from the frames API. Use for whole-market screens without a bulk XBRL pipeline; one MCP incumbent exists for xbrl.

When to use, what you skip, sample response

When to use

Whole-market, single-period metric questions.

When not to use

Company histories — concept/financials; small peer sets — compare.

What you skip building

  • bulk XBRL processing
  • frames period quirks
  • ranking

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "metric": "revenue",
 "tag": "Revenues",
 "period": "CY2025Q1",
 "total_filers": 4000,
 "top": [
  {
   "cik": "0000320193",
   "entity": "Apple Inc.",
   "value": 94000000000.0
  }
 ]
}

sec xbrl growth

GET /v1/sec/xbrl/growth · $0.05 / call

Annual XBRL metrics with YoY change and 3y/5y CAGR precomputed per company — revenue, earnings, assets and more. Skips period alignment, restatement duplicates and the growth math.

When to use, what you skip, sample response

When to use

You need multi-year growth rates for one company from filed figures.

When not to use

A single metric's raw points (/v1/sec/xbrl/concept, free) or a cross-company snapshot (/v1/sec/xbrl/compare).

What you skip building

  • companyfacts JSON wrangling
  • period alignment
  • CAGR arithmetic
  • restatement duplicates

Facts

Sample response

{
 "as_of": "2026-09-03T14:00:00Z",
 "cik": "0001045810",
 "metrics": [
  {
   "metric": "revenue",
   "tag": "RevenueFromContractWithCustomerExcludingAssessedTax",
   "unit": "USD",
   "latest_value": 130497000000.0,
   "latest_period_end": "2025-01-26",
   "years_covered": 6,
   "growth_1y_pct": 114.2,
   "cagr_3y_pct": 69.4,
   "cagr_5y_pct": 55.1,
   "annual_points": [
    {
     "period_end": "2025-01-26",
     "value": 130497000000.0,
     "change_pct": 114.2
    }
   ]
  }
 ],
 "unavailable": [],
 "method": "sec_xbrl_growth_rules_v1",
 "note": "Annual (10-K) XBRL points only, deduplicated per fiscal year end; CAGR needs the full span or it is null. Reported figures as filed, not restated.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec xbrl ratios

GET /v1/sec/xbrl/ratios · $0.05 / call

Margins, returns, leverage and R&D/capex intensity for a company from filed XBRL, every ratio period-aligned with its inputs shown and nulled rather than mixed across fiscal years.

When to use, what you skip, sample response

When to use

You need ratios for one company from filed figures, with the inputs auditable.

When not to use

Growth over time (/v1/sec/xbrl/growth) or raw facts (/v1/sec/xbrl/financials, /v1/sec/xbrl/concept).

What you skip building

  • companyfacts wrangling
  • period misalignment across fiscal years
  • ratio arithmetic

Facts

Sample response

{
 "as_of": "2026-09-03T14:30:00Z",
 "cik": "0001045810",
 "period_end": "2025-01-26",
 "period_source": "latest fiscal year end reported on Form 10-K for every input used",
 "ratios": [
  {
   "ratio": "net_margin_pct",
   "value": 55.85,
   "as_multiple": false,
   "numerator_metric": "net_income",
   "denominator_metric": "revenue",
   "numerator_value": 72880000000.0,
   "denominator_value": 130497000000.0,
   "definition": "Net income / revenue"
  }
 ],
 "inputs_missing": [],
 "method": "sec_xbrl_ratios_rules_v1",
 "note": "Every ratio is computed from values sharing one fiscal period end, so a ratio is null when either input was not reported for that period rather than mixed across years. Percentages are percent, debt_to_equity is a multiple. Figures as filed.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}
Private capital (Form D)7 endpoints · free–$0.005

sec formd changes

GET /v1/sec/formd/changes · $0.005 / call

Half-cent poll: ids of Form D filings 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.

When to use, what you skip, sample response

When to use

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

When not to use

Reading the offerings — /v1/sec/formd and its feeds return them. Backfills — cursors are clamped to 7 days; fetch the full feed instead.

What you skip building

  • full-feed polling
  • amendment detection
  • dedup

Facts

Sample response

{
 "as_of": "2026-09-16T12:15:00Z",
 "feed": "sec_formd",
 "changed": 2,
 "added": [
  "0002150620-26-000001"
 ],
 "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/formd/since?since=2026-09-16T12:00:00",
 "coverage_started_at": "2026-08-27T00:00:00",
 "next_endpoints": [
  {
   "path": "/v1/sec/formd/since",
   "url": "/v1/sec/formd/since?since=2026-09-16T12:00:00",
   "description": "The rows themselves",
   "since the same cursor time": null,
   "price_usd": 0.0
  }
 ]
}

sec formd exemptions

GET /v1/sec/formd/exemptions · free

Reg D exemption decoder: 506(b), 506(c), 504 and the 3(c)(1)/3(c)(7) fund exclusions with what each permits (solicitation, investor limits). Free, no key.

When to use, what you skip, sample response

When to use

You need to interpret the exemption on a Form D filing.

When not to use

The filings themselves — /v1/sec/formd and its feeds.

What you skip building

  • reading Reg D rule text
  • exemption confusion

Facts

Sample response

{
 "as_of": "2026-09-03T14:00:00Z",
 "count": 1,
 "exemptions": [
  {
   "code": "06c",
   "name": "Rule 506(c)",
   "description": "Unlimited raise WITH general solicitation; all purchasers must be verified accredited."
  }
 ],
 "note": "Decodes the exemption claimed in a Form D filing; see /v1/sec/formd for filings.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec formd feed

GET /v1/sec/formd · free

List new Reg D private offerings with issuer, state, industry group, offering and sold amounts, investors and exemptions parsed from Form D XML — free. Use instead of fetching and parsing primary_doc.xml per filing.

When to use, what you skip, sample response

When to use

Reading the raw Reg D tape.

When not to use

Derived cuts — funds, large raises and the watch endpoint are separate.

What you skip building

  • Form D XML parsing
  • amount and investor extraction

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "offerings": [
  {
   "accession": "0002150620-26-000001",
   "filed_at": "2026-08-28T17:30:10",
   "cik": "0002150620",
   "company": "Upfront Secondary II-C, L.P.",
   "state": "CA",
   "entity_type": "Limited Partnership",
   "industry_group": "Pooled Investment Fund",
   "is_amendment": false,
   "total_offering_usd": 60000000.0,
   "sold_usd": 10000000.0,
   "remaining_usd": 50000000.0,
   "investors": 3,
   "exemptions": [
    "06b"
   ],
   "minimum_investment": null,
   "first_sale_date": "2026-08-20",
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2150620/000215062026000001-index.htm"
  }
 ]
}

sec formd industries

GET /v1/sec/formd/industries · free

The industry groups a Form D filer selects (pooled investment fund, biotechnology, commercial real estate and the rest) with what each covers. Free, no key.

When to use, what you skip, sample response

When to use

You are classifying or filtering private offerings by industry.

When not to use

The exemption claimed — /v1/sec/formd/exemptions decodes that.

What you skip building

  • reading the Form D instructions
  • inventing industry labels

Facts

Sample response

{
 "as_of": "2026-09-03T14:30:00Z",
 "count": 1,
 "industries": [
  {
   "code": "pooled_investment_fund",
   "name": "Banking & Financial Services \u2014 Pooled Investment Fund",
   "description": "Funds: VC, PE, hedge; usually paired with a 3(c)(1)/3(c)(7) exclusion."
  }
 ],
 "note": "Form D Item 4 industry taxonomy. Codes are the normalized form of the label a filer selects; see /v1/sec/formd and its feeds for the filings themselves.",
 "disclaimer": "Derived from public SEC EDGAR filings; not investment advice."
}

sec formd large raises

GET /v1/sec/formd/large · free

Rank Reg D offerings above a USD threshold — returns issuer, industry, target size, sold and remaining amounts, largest first. Use to spot big private raises without scanning the full Form D feed.

When to use, what you skip, sample response

When to use

Screening for size; adjust min_usd to taste.

When not to use

Fund-vehicle tracking — use the funds view.

What you skip building

  • threshold filtering
  • ranking
  • XML parsing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "offerings": [
  {
   "accession": "0002150620-26-000001",
   "filed_at": "2026-08-28T17:30:10",
   "cik": "0002150620",
   "company": "Upfront Secondary II-C, L.P.",
   "state": "CA",
   "entity_type": "Limited Partnership",
   "industry_group": "Pooled Investment Fund",
   "is_amendment": false,
   "total_offering_usd": 60000000.0,
   "sold_usd": 10000000.0,
   "remaining_usd": 50000000.0,
   "investors": 3,
   "exemptions": [
    "06b"
   ],
   "minimum_investment": null,
   "first_sale_date": "2026-08-20",
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2150620/000215062026000001-index.htm"
  }
 ]
}

sec formd new funds

GET /v1/sec/formd/funds · free

List newly formed VC/PE/hedge vehicles — first-time Form D filings by pooled investment funds with target size, amount sold, state and investors. Use to track new fund formation without parsing the Reg D tape yourself.

When to use, what you skip, sample response

When to use

Tracking fund formation, optionally by state.

When not to use

Operating-company raises — use the feed or large-raises views.

What you skip building

  • industry-group filtering
  • amendment dedup
  • XML parsing

Facts

Sample response

{
 "as_of": "2026-08-31T14:00:00Z",
 "index_started_at": "2026-08-27T00:00:00Z",
 "since": "2026-08-24T00:00:00",
 "count": 1,
 "offerings": [
  {
   "accession": "0002150620-26-000001",
   "filed_at": "2026-08-28T17:30:10",
   "cik": "0002150620",
   "company": "Upfront Secondary II-C, L.P.",
   "state": "CA",
   "entity_type": "Limited Partnership",
   "industry_group": "Pooled Investment Fund",
   "is_amendment": false,
   "total_offering_usd": 60000000.0,
   "sold_usd": 10000000.0,
   "remaining_usd": 50000000.0,
   "investors": 3,
   "exemptions": [
    "06b"
   ],
   "minimum_investment": null,
   "first_sale_date": "2026-08-20",
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2150620/000215062026000001-index.htm"
  }
 ]
}

sec formd since

GET /v1/sec/formd/since · free

Watch Reg D filings with a since cursor — returns only offerings newer than your cursor, parsed, plus the next cursor to store. Use as the cheap poll loop for private-capital monitoring.

When to use, what you skip, sample response

When to use

Recurring checks; store next_cursor between calls.

When not to use

One-off reads — the feed view is free.

What you skip building

  • poller infrastructure
  • cursor bookkeeping
  • dedup

Facts

Sample response

{
 "as_of": "2026-09-16T21:48:08.169Z",
 "index_started_at": "2026-08-30T19:10:24.500Z",
 "since": "2026-09-15T00:00:00",
 "count": 3,
 "offerings": [
  {
   "accession": "0002155845-26-000001",
   "filed_at": "2026-09-16T17:26:13",
   "cik": "0002155845",
   "company": "Porte Arbitrage LP",
   "state": "WY",
   "entity_type": "Limited Partnership",
   "industry_group": "Pooled Investment Fund",
   "is_amendment": false,
   "total_offering_usd": null,
   "sold_usd": 0.0,
   "remaining_usd": null,
   "investors": 0.0,
   "exemptions": [
    "06b",
    "3C",
    "3C.7"
   ],
   "minimum_investment": 10000000.0,
   "first_sale_date": "2026-09-01",
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2155845/000215584526000001/0002155845-26-000001-index.htm"
  },
  {
   "accession": "0002084847-26-000001",
   "filed_at": "2026-09-16T17:25:31",
   "cik": "0002084847",
   "company": "Fencecrete Holdings, LLC",
   "state": "MI",
   "entity_type": "Limited Liability Company",
   "industry_group": "Other",
   "is_amendment": true,
   "total_offering_usd": null,
   "sold_usd": 8900000.0,
   "remaining_usd": null,
   "investors": 7.0,
   "exemptions": [
    "06b"
   ],
   "minimum_investment": 0.0,
   "first_sale_date": "2025-09-08",
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2084847/000208484726000001/0002084847-26-000001-index.htm"
  },
  {
   "accession": "0002149549-26-000001",
   "filed_at": "2026-09-16T17:21:12",
   "cik": "0002149549",
   "company": "Oceans Equity Fund I, LP",
   "state": "FL",
   "entity_type": "Limited Partnership",
   "industry_group": "Pooled Investment Fund",
   "is_amendment": false,
   "total_offering_usd": null,
   "sold_usd": 0.0,
   "remaining_usd": null,
   "investors": 0.0,
   "exemptions": [
    "06b",
    "3C",
    "3C.7"
   ],
   "minimum_investment": 0.0,
   "first_sale_date": null,
   "filing_url": "https://www.sec.gov/Archives/edgar/data/2149549/000214954926000001/0002149549-26-000001-index.htm"
  }
 ],
 "next_cursor": "2026-09-16T17:26:13"
}
Federal regulation21 endpoints · free–$0.05

reg rules

GET /v1/regs/rules · free

Track US federal rules by term or agency — returns Federal Register rules and proposed rules with docket/RIN/CFR ids, effective and comment-close dates, deadline flags and day counts. Use instead of polling federalregister.gov.

When to use, what you skip, sample response

When to use

You need current federal rulemaking activity for a topic or agency — new proposals, imminent effective dates, closing comment windows — as structured JSON in one call.

When not to use

You need full rule text analysis, public-comment contents (regulations.gov), state-level regulation, or legal advice.

What you skip building

  • federalregister.gov API pagination and field selection
  • deadline math
  • significance filtering
  • agency slug lookup

Facts

Sample response

{
 "as_of": "2026-08-30T18:00:00Z",
 "total_matching": 14,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-15872",
   "title": "Regulation Crypto Assets",
   "type": "Proposed Rule",
   "action": "Proposed rule",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-21",
   "effective_on": null,
   "comments_close_on": "2026-10-20",
   "significant": true,
   "abstract": "The Commission proposes a framework for crypto asset securities...",
   "docket_ids": [
    "S7-12-26"
   ],
   "regulation_id_numbers": [
    "3235-AN70"
   ],
   "cfr_references": [
    "17 CFR 230"
   ],
   "topics": [
    "securities"
   ],
   "url": "https://www.federalregister.gov/documents/2026/08/21/2026-15872",
   "flags": [
    "significant",
    "comments_close_soon"
   ],
   "days_to_comment_close": 51,
   "days_to_effective": null
  }
 ]
}

impact cfr citers

GET /v1/impact/cfr · $0.02 / call

Which public companies cite a given CFR title and part in their SEC filings — exact-phrase full-text join aggregated per registrant with filing counts, forms and dates. Screen exposure to specific provisions in one call.

When to use, what you skip, sample response

When to use

Your obligations map to known CFR parts and you want the citing issuers.

When not to use

Broad topic screens — use the rule impact map or regulation search.

What you skip building

  • EDGAR full-text syntax
  • per-registrant aggregation

Facts

Sample response

{
 "as_of": "2026-09-02T20:00:00Z",
 "query": "17 CFR 240",
 "total_filing_matches": 128,
 "count": 1,
 "companies": [
  {
   "cik": "0000320193",
   "company": "Apple Inc.",
   "filings": 2,
   "forms": [
    "10-K"
   ],
   "latest_filed": "2026-08-15",
   "matched": [
    "17 CFR 240"
   ]
  }
 ]
}

impact company rules

GET /v1/impact/company · $0.05 / call

Recent federal rules and proposed rules mapped to one public company via its SEC industry code — curated SIC-to-regulator table plus the agencies' rulemaking with comment and effective-date flags. Industry-level heuristic, one call.

When to use, what you skip, sample response

When to use

You monitor one issuer and want its regulators' recent rulemaking.

When not to use

Firm-specific legal exposure — the mapping is industry-level; pair with the citation views for company-specific evidence.

What you skip building

  • SIC lookups
  • agency mapping
  • Federal Register integration
  • deadline math

Facts

Sample response

{
 "as_of": "2026-09-02T20:00:00Z",
 "cik": "0000320193",
 "name": "Apple Inc.",
 "sic": "3571",
 "sic_description": "Electronic Computers",
 "mapped_agencies": [
  "environmental-protection-agency",
  "occupational-safety-and-health-administration",
  "securities-and-exchange-commission"
 ],
 "total_matching": 3,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}

impact docket citers

GET /v1/impact/docket · $0.02 / call

Which public companies cite a specific agency docket id or RIN in their SEC filings — exact-phrase full-text join per registrant with filing counts and dates. Track who publicly engages with one rulemaking.

When to use, what you skip, sample response

When to use

You track one docket/RIN and want the issuers referencing it.

When not to use

Whole-provision screens — use the CFR citers view.

What you skip building

  • EDGAR full-text syntax
  • per-registrant aggregation

Facts

Sample response

{
 "as_of": "2026-09-02T20:00:00Z",
 "query": "SEC-2026-001",
 "total_filing_matches": 7,
 "count": 1,
 "companies": [
  {
   "cik": "0000320193",
   "company": "Apple Inc.",
   "filings": 1,
   "forms": [
    "8-K"
   ],
   "latest_filed": "2026-08-15",
   "matched": [
    "SEC-2026-001"
   ]
  }
 ]
}

impact rule companies

GET /v1/impact/rule · $0.05 / call

Map a Federal Register rule to the public companies whose SEC filings cite its docket, RIN or CFR part — cross-corpus full-text join, ranked by citation strength with filing counts and dates. One call replaces holding and joining both corpora.

When to use, what you skip, sample response

When to use

You hold a Federal Register document number and need the likely-affected issuer list.

When not to use

Legal determinations of exposure — citations indicate relevance, not obligation.

What you skip building

  • dual-corpus infrastructure
  • EDGAR full-text query syntax
  • identifier extraction

Facts

Sample response

{
 "as_of": "2026-09-02T20:00:00Z",
 "document_number": "2026-12341",
 "title": "Cybersecurity Risk Management Rule",
 "agencies": [
  "Securities and Exchange Commission"
 ],
 "publication_date": "2026-08-30",
 "significant": true,
 "identifiers_searched": [
  "SEC-2026-001",
  "3235-AN00",
  "17 CFR 240"
 ],
 "total_filing_matches": 42,
 "count": 1,
 "companies": [
  {
   "cik": "0000320193",
   "company": "Apple Inc.",
   "filings": 3,
   "forms": [
    "10-K",
    "8-K"
   ],
   "latest_filed": "2026-08-15",
   "matched": [
    "17 CFR 240",
    "SEC-2026-001"
   ]
  }
 ]
}

reg activity

GET /v1/regs/activity · free

Per-agency Federal Register volume with prior-window change and doc-type totals — which regulators are accelerating, in one call instead of a pagination crawl. Free, no key.

When to use, what you skip, sample response

When to use

You want the agency-level activity map or trend, not the documents.

When not to use

The documents themselves — /v1/regs/rules or /v1/regs/agency.

What you skip building

  • paginating the whole Federal Register
  • hand-built agency counts

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "window_days": 90,
 "total_documents": 6949,
 "by_type": {
  "NOTICE": 5492,
  "RULE": 926,
  "PRORULE": 465,
  "PRESDOCU": 66
 },
 "agencies": [
  {
   "slug": "commerce-department",
   "name": "Commerce Department",
   "documents": 765,
   "prior_window": 690,
   "change_pct": 10.9
  }
 ],
 "disclaimer": "Regulatory information from the Federal Register (public domain); not legal advice."
}

reg agency feed

GET /v1/regs/agency · free

Every rule and proposed rule from one US federal agency, newest first, with comment and effective-date day-counts and flags (significant, comments_close_soon, effective_soon). One call replaces Federal Register API integration and deadline math.

When to use, what you skip, sample response

When to use

You track one regulator and want its recent rulemaking with deadlines computed.

When not to use

Cross-agency topic tracking — use the search endpoint.

What you skip building

  • federalregister.gov integration
  • deadline computation
  • agency slug pagination

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 3,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}

reg agency lookup

GET /v1/regs/agencies · free

Resolve a US federal agency name to its Federal Register slug — searches all ~470 agencies, returns slug, display name, short name and parent. Free. The slug is the agency parameter every other AnswerPool regulation endpoint takes.

When to use, what you skip, sample response

When to use

You have an agency name or acronym and need the canonical slug for filtered rule-tracking calls.

When not to use

State or local agencies — the Federal Register covers US federal only.

What you skip building

  • agencies endpoint pagination
  • slug-guessing errors

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "count": 1,
 "agencies": [
  {
   "slug": "securities-and-exchange-commission",
   "name": "Securities and Exchange Commission",
   "short_name": "SEC",
   "parent_slug": null
  }
 ]
}

reg cfr titles

GET /v1/regs/cfr-titles · free

All 50 CFR titles with names, searchable — subject to CFR title number in one call, feeding the CFR-part watch endpoints. Free, no key.

When to use, what you skip, sample response

When to use

You need to map a regulated subject to its CFR title, or decode one.

When not to use

Actual rule documents — /v1/regs/cfr or /v1/regs/rules.

What you skip building

  • govinfo CFR browsing
  • title guessing

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "titles": [
  {
   "title": 10,
   "name": "Energy"
  }
 ],
 "watch_endpoint": "/v1/regs/cfr?title=<n>&part=<m>",
 "disclaimer": "Regulatory information from the Federal Register (public domain); not legal advice."
}

reg cfr watch

GET /v1/regs/cfr · $0.02 / call

Federal rules and proposed rules amending a specific CFR title and part (e.g. 17 CFR 240), newest first with deadline flags. Watch the exact provisions you are subject to instead of whole agencies or topics.

When to use, what you skip, sample response

When to use

Your obligations map to known CFR parts and you react only to those.

When not to use

Exploratory topic tracking — use search; whole-agency views — use the agency feed.

What you skip building

  • CFR citation query syntax
  • cross-referencing affected parts

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 1,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}

reg comment deadlines

GET /v1/regs/comment-deadlines · $0.02 / call

Proposed federal rules whose comment window closes within N days, sorted soonest first with exact day-counts — the actionable comment queue, optionally filtered to one agency or topic. Replaces scanning months of proposed rules and computing dates.

When to use, what you skip, sample response

When to use

You act on comment windows — drafting, alerting, or prioritizing by urgency.

When not to use

Closed dockets or final rules — use the docket tracker.

What you skip building

  • scanning proposed-rule backlogs
  • comment-date math
  • urgency sorting

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 1,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12342",
   "title": "Proposed Amendments to Rule 10b5-1",
   "type": "Proposed Rule",
   "action": "Proposed rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": null,
   "comments_close_on": "2026-09-09",
   "significant": null,
   "abstract": "Proposes amendments to insider trading plan conditions.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12342",
   "flags": [
    "comments_close_soon"
   ],
   "days_to_comment_close": 7,
   "days_to_effective": null
  }
 ]
}

reg daily digest

GET /v1/regs/digest · $0.02 / call

Every federal rule and proposed rule published on one date, significant documents sorted first, with deadline flags and day-counts — optionally one agency. One call gives a briefing agent the whole day's rulemaking, pre-triaged.

When to use, what you skip, sample response

When to use

You brief or triage by publication day and want importance-first ordering.

When not to use

Incremental monitoring across days — use the watch cursor.

What you skip building

  • daily scanning
  • significance triage
  • deadline math

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 3,
 "count": 2,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  },
  {
   "document_number": "2026-12343",
   "title": "Technical Corrections",
   "type": "Rule",
   "action": "Final rule; correction.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-08-28",
   "comments_close_on": null,
   "significant": null,
   "abstract": null,
   "docket_ids": [],
   "regulation_id_numbers": [],
   "cfr_references": [],
   "topics": [],
   "url": "https://www.federalregister.gov/d/2026-12343",
   "flags": [],
   "days_to_comment_close": null,
   "days_to_effective": -5
  }
 ]
}

reg doc types

GET /v1/regs/doc-types · free

Federal Register document types (final rule, proposed rule, notice, presidential) and every AnswerPool regulation flag, with what each implies for deadlines and CFR changes. Free, no key.

When to use, what you skip, sample response

When to use

You need to interpret a document type or a flag on a regulation response.

When not to use

The documents themselves — /v1/regs/rules and the agency feeds.

What you skip building

  • misreading a comment deadline as an effective date
  • guessing flag meanings

Facts

Sample response

{
 "as_of": "2026-09-03T15:00:00Z",
 "count": 2,
 "document_types": [
  {
   "code": "RULE",
   "name": "Final Rule",
   "description": "A binding rule; carries an effective date and amends the CFR."
  }
 ],
 "flags": [
  {
   "code": "comments_close_soon",
   "name": "Comment window closing",
   "description": "The comment deadline is within our watch window \u2014 the last point at which input is possible."
  }
 ],
 "note": "Document types are the Federal Register's own; flags are AnswerPool's, applied consistently across every regulation endpoint.",
 "disclaimer": "Regulatory information from the Federal Register (public domain); not legal advice."
}

reg docket

GET /v1/regs/docket · free

Every Federal Register document in one agency docket — proposal, comments extensions, final rule, corrections — newest first with deadline flags. Follow a single rulemaking's full lifecycle with one call.

When to use, what you skip, sample response

When to use

You hold a docket id and want the rulemaking's history and current status.

When not to use

You only have a topic or agency — search first, then track the docket.

What you skip building

  • docket id query syntax
  • lifecycle reconstruction

Facts

Sample response

{
 "as_of": "2026-09-16T21:32:17Z",
 "total_matching": 4,
 "count": 2,
 "documents": [
  {
   "document_number": "2026-13420",
   "title": "Revised Medical Criteria for Evaluating Cardiovascular Disorders",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Social Security Administration"
   ],
   "publication_date": "2026-07-02",
   "effective_on": "2026-10-30",
   "comments_close_on": null,
   "significant": true,
   "abstract": "We are revising the criteria in the Listing of Impairments that we use to evaluate claims involving cardiovascular disorders in adults and children.",
   "docket_ids": [
    "Docket No. SSA-2019-0013"
   ],
   "regulation_id_numbers": [
    "0960-AI43"
   ],
   "cfr_references": [
    "20 CFR 404",
    "20 CFR 416"
   ],
   "topics": [
    "Disability benefits",
    "Social security"
   ],
   "url": "https://www.federalregister.gov/documents/2026/07/02/2026-13420/revised-medical-criteria-for-evaluating-cardiovascular-disorders",
   "flags": [
    "significant",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 120
  },
  {
   "document_number": "2022-18238",
   "title": "Revised Medical Criteria for Evaluating Cardiovascular Disorders",
   "type": "Proposed Rule",
   "action": "Notice of proposed rulemaking.",
   "agencies": [
    "Social Security Administration"
   ],
   "publication_date": "2022-08-24",
   "effective_on": null,
   "comments_close_on": "2022-10-24",
   "significant": true,
   "abstract": null,
   "docket_ids": [
    "Docket No. SSA-2019-0013"
   ],
   "regulation_id_numbers": [
    "0960-AI43"
   ],
   "cfr_references": [
    "20 CFR 404",
    "20 CFR 416"
   ],
   "topics": [],
   "url": "https://www.federalregister.gov/documents/2022/08/24/2022-18238/revised-medical-criteria-for-evaluating-cardiovascular-disorders",
   "flags": [
    "significant"
   ],
   "days_to_comment_close": null,
   "days_to_effective": null
  }
 ]
}

reg document

GET /v1/regs/document · free

Fetch one Federal Register document by document number — normalized agencies, CFR references, docket ids, effective and comment dates with day-counts and deadline flags. Free. Same schema as all AnswerPool regulation feeds.

When to use, what you skip, sample response

When to use

You have a document number (e.g. from a watch feed) and need full details.

When not to use

Searching by topic or agency — use the search and feed endpoints.

What you skip building

  • federalregister.gov API integration
  • deadline math

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "document": {
  "document_number": "2026-12341",
  "title": "Cybersecurity Risk Management Rule",
  "type": "Rule",
  "action": "Final rule.",
  "agencies": [
   "Securities and Exchange Commission"
  ],
  "publication_date": "2026-08-30",
  "effective_on": "2026-09-12",
  "comments_close_on": null,
  "significant": true,
  "abstract": "Requires registrants to disclose material cybersecurity incidents.",
  "docket_ids": [
   "SEC-2026-001"
  ],
  "regulation_id_numbers": [
   "3235-AN00"
  ],
  "cfr_references": [
   "17 CFR 240"
  ],
  "topics": [
   "Securities"
  ],
  "url": "https://www.federalregister.gov/d/2026-12341",
  "flags": [
   "significant",
   "effective_soon",
   "final_rule_pending_effect"
  ],
  "days_to_comment_close": null,
  "days_to_effective": 10
 }
}

reg effective soon

GET /v1/regs/effective · $0.02 / call

Final federal rules taking effect within the next N days, sorted by effective date with exact day-counts, optionally one agency — the compliance-readiness queue. Replaces effective-date range queries and date math against the Federal Register.

When to use, what you skip, sample response

When to use

You prepare for rules becoming binding — readiness, alerting, scheduling.

When not to use

Proposed rules — they have comment deadlines, not effective dates.

What you skip building

  • effective-date range query syntax
  • date math
  • urgency sorting

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 1,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}

reg executive orders

GET /v1/regs/eo · free

New executive orders, proclamations and presidential memoranda from the Federal Register, newest first, optionally filtered by search term — normalized documents with agencies, topics and links. One call, no EO-section parsing.

When to use, what you skip, sample response

When to use

You track presidential documents — EOs, proclamations, memoranda.

When not to use

Agency rulemaking — use the agency feed or search.

What you skip building

  • presidential document type codes
  • federalregister.gov integration

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 12,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-11111",
   "title": "Executive Order 14999 of August 26, 2026: Strengthening Supply Chains",
   "type": "Presidential Document",
   "action": null,
   "agencies": [
    "Executive Office of the President"
   ],
   "publication_date": "2026-08-28",
   "effective_on": null,
   "comments_close_on": null,
   "significant": null,
   "abstract": null,
   "docket_ids": [],
   "regulation_id_numbers": [],
   "cfr_references": [],
   "topics": [],
   "url": "https://www.federalregister.gov/d/2026-11111",
   "flags": [],
   "days_to_comment_close": null,
   "days_to_effective": null
  }
 ]
}

reg resolve

GET /v1/regs/resolve · free

Any regulatory string in — agency name or acronym, "40 CFR 60", a document number — canonical identifier and the ready-to-call endpoint out. One call instead of picking a lookup. Free, no key.

When to use, what you skip, sample response

When to use

You have a citation, acronym or document number and need the identifier plus where to send it.

When not to use

Full-text search over documents — /v1/regs/search.

What you skip building

  • slug guessing
  • parsing CFR citations by hand
  • choosing among regulation lookups

Facts

Sample response

{
 "as_of": "2026-09-03T15:00:00Z",
 "query": "40 CFR 60",
 "count": 1,
 "matches": [
  {
   "kind": "cfr_citation",
   "value": "40 CFR part 60",
   "label": "40 CFR part 60",
   "next_url": "/v1/regs/cfr?title=40&part=60"
  }
 ],
 "note": "One call for any regulatory string: an agency name or acronym, a CFR citation like '40 CFR 60', a Federal Register document number, or a docket id.",
 "disclaimer": "Regulatory information from the Federal Register (public domain); not legal advice."
}

reg significant rules

GET /v1/regs/significant · $0.02 / call

Only E.O. 12866 significant federal rules and proposed rules — the OIRA-reviewed, economically major subset — newest first with deadline flags, optionally one agency. The high-signal fraction of rulemaking without scanning everything.

When to use, what you skip, sample response

When to use

You want signal over volume — only rulemaking with major economic impact.

When not to use

Comprehensive agency tracking — use the agency feed.

What you skip building

  • significance flag filtering
  • scanning routine documents

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 1,
 "count": 1,
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}

reg watch

GET /v1/regs/watch · free

Incremental feed of newly published federal rules and proposed rules since your ISO date cursor, with a next_since cursor returned for the following poll. Purpose-built for scheduled agents — no state to keep beyond one date string.

When to use, what you skip, sample response

When to use

You poll on a schedule and want only documents you have not seen.

When not to use

One-off historical questions — use search or the agency feed.

What you skip building

  • cursor bookkeeping
  • duplicate handling
  • federalregister.gov integration

Facts

Sample response

{
 "as_of": "2026-09-02T14:00:00Z",
 "total_matching": 3,
 "count": 1,
 "next_since": "2026-09-02",
 "documents": [
  {
   "document_number": "2026-12341",
   "title": "Cybersecurity Risk Management Rule",
   "type": "Rule",
   "action": "Final rule.",
   "agencies": [
    "Securities and Exchange Commission"
   ],
   "publication_date": "2026-08-30",
   "effective_on": "2026-09-12",
   "comments_close_on": null,
   "significant": true,
   "abstract": "Requires registrants to disclose material cybersecurity incidents.",
   "docket_ids": [
    "SEC-2026-001"
   ],
   "regulation_id_numbers": [
    "3235-AN00"
   ],
   "cfr_references": [
    "17 CFR 240"
   ],
   "topics": [
    "Securities"
   ],
   "url": "https://www.federalregister.gov/d/2026-12341",
   "flags": [
    "significant",
    "effective_soon",
    "final_rule_pending_effect"
   ],
   "days_to_comment_close": null,
   "days_to_effective": 10
  }
 ]
}
Federal funding9 endpoints · free–$0.02

funding signals

GET /v1/funding/signals · $0.02 / call

Get the US federal money trail for a technology term — returns USAspending obligations by fiscal year with 3y growth, top recipients, NIH grant counts and recent projects, plus flags. Use instead of joining two federal APIs.

When to use, what you skip, sample response

When to use

You need federal funding momentum, recipients, or NIH activity for a technology in one structured call.

When not to use

You need a full census of a technology (keyword-matched only), classified or state spending, or investment advice.

What you skip building

  • USAspending API filters and pagination
  • RePORTER query syntax
  • fiscal-year growth math
  • recipient aggregation

Facts

Sample response

{
 "as_of": "2026-08-30T18:00:00Z",
 "term": "quantum computing",
 "fiscal_years": [
  2022,
  2023,
  2024,
  2025,
  2026
 ],
 "usaspending_by_fy": [
  {
   "fiscal_year": 2025,
   "total_obligations_usd": 237100000.0,
   "contract_obligations_usd": 180000000.0,
   "grant_obligations_usd": 57100000.0
  }
 ],
 "usaspending_growth_3y": 0.48,
 "top_recipients": [
  {
   "name": "UNIVERSITY OF CALIFORNIA, SAN DIEGO",
   "amount_usd": 44900000.0,
   "uei": "UYTTZT6G9DT1"
  }
 ],
 "nih_projects_by_fy": {
  "2024": 47,
  "2025": 37
 },
 "nih_growth_3y": 0.19,
 "nih_recent_projects": [
  {
   "project_num": "1R01EB035892-01",
   "title": "Quantum sensing for neuroimaging",
   "organization": "MIT",
   "award_amount_usd": 612000.0,
   "fiscal_year": 2026
  }
 ],
 "flags": [
  "partial_current_fy",
  "nih_active"
 ]
}

funding agency directory

GET /v1/funding/agencies · free

US federal toptier agency directory: name/abbreviation search, toptier code and current budget authority, sorted by budget size. One call replaces the agency reference crawl. Free, no key.

When to use, what you skip, sample response

When to use

You need an agency's toptier code, canonical name, or budget scale for spending queries.

When not to use

Federal Register regulatory agencies — that is /v1/regs/agencies (different slug space).

What you skip building

  • agency code guessing
  • budget authority hunting

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "agencies": [
  {
   "toptier_code": "097",
   "name": "Department of Defense",
   "abbreviation": "DOD",
   "budget_authority_usd": 1443341492804.44
  }
 ],
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

funding naics lookup

GET /v1/funding/naics · free

NAICS industry code resolution: text or code prefix in, code + description + retired flag out. The identifier layer for any US federal contracting analysis. Free, no key.

When to use, what you skip, sample response

When to use

You need a NAICS code for a federal-spending query and have only an industry name or partial code.

When not to use

Non-US industry classification (use the relevant national scheme).

What you skip building

  • Census NAICS manual reading
  • guessing codes in award filters

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "matches": [
  {
   "code": "541511",
   "description": "Custom Computer Programming Services",
   "retired": false
  }
 ],
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

funding program lookup

GET /v1/funding/programs · free

Federal assistance-listing (CFDA) resolution: topic or name in, program number + title + popular name out. The identifier for US federal grant analyses. Free.

When to use, what you skip, sample response

When to use

You need the assistance-listing number behind a federal grant program name or topic.

When not to use

Contract (procurement) analysis — use NAICS/PSC lookups instead.

What you skip building

  • sam.gov assistance-listing browsing
  • CFDA number guessing

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "programs": [
  {
   "program_number": "93.398",
   "title": "Cancer Research Manpower",
   "popular_name": "Cancer Manpower Grants"
  }
 ],
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

funding psc lookup

GET /v1/funding/psc · free

Federal Product/Service Code resolution: text in, PSC code + description out. The what-was-bought identifier for US federal award filtering. Free, no key.

When to use, what you skip, sample response

When to use

You need to filter federal awards by what was purchased and have only a description.

When not to use

Industry-of-seller filtering — that is NAICS (/v1/funding/naics).

What you skip building

  • GSA PSC manual PDFs
  • guessing codes

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "matches": [
  {
   "code": "AC13",
   "description": "National Defense R&D Services; Department of Defense - Military; Experimental Development",
   "retired": false
  }
 ],
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

funding recipient lookup

GET /v1/funding/recipients · free

Federal award recipient name resolution: fuzzy name in, deduplicated canonical recipient names (and UEI when available) out. The entity-resolution step before any who-got-federal-money question. Free, no key.

When to use, what you skip, sample response

When to use

You are about to query federal awards by recipient and need the exact name variants the data uses.

When not to use

SEC filer resolution — that is /v1/sec/cik.

What you skip building

  • recipient name variant misses
  • manual USAspending searching

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 2,
 "recipients": [
  {
   "name": "LOCKHEED MARTIN CORPORATION",
   "uei": null
  },
  {
   "name": "LOCKHEED MARTIN CORP",
   "uei": null
  }
 ],
 "note": "Name resolution for award queries; UEI present when USAspending exposes it.",
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

funding resolve

GET /v1/funding/resolve · free

Any federal-spending string in — industry, product, program, recipient or agency — every code space searched at once, each match tagged with the filter parameter it belongs to. One call instead of five lookups. Free, no key.

When to use, what you skip, sample response

When to use

You have one string and do not know which federal code space it belongs to.

When not to use

You already know the space — call that lookup directly for more results.

What you skip building

  • five sequential autocomplete calls
  • picking the wrong code space

Facts

Sample response

{
 "as_of": "2026-09-03T15:00:00Z",
 "query": "cancer",
 "count": 2,
 "matches": [
  {
   "kind": "program",
   "code": "93.398",
   "label": "Cancer Research Manpower",
   "filter_param": "program_number"
  },
  {
   "kind": "naics",
   "code": "621512",
   "label": "Diagnostic Imaging Centers",
   "filter_param": "naics"
  }
 ],
 "next_endpoints": [
  {
   "path": "/v1/funding/signals",
   "url": "/v1/funding/signals?term=cancer",
   "description": "Federal funding trajectory for this term (USAspending + NIH)",
   "price_usd": 0.02
  }
 ],
 "note": "Searches every federal code space at once \u2014 NAICS, PSC, assistance listing, recipient, agency \u2014 so one call replaces guessing which lookup applies.",
 "disclaimer": "Reference data from USAspending.gov (US federal public domain); not procurement advice."
}

nih activity codes

GET /v1/nih/activity-codes · free

NIH grant mechanism decoder: R01, R21, K-series, U-series, P-series, SBIR/STTR activity codes with names and one-line meanings. Free, no key.

When to use, what you skip, sample response

When to use

You have an NIH activity code to decode or want the standard mechanisms for a career stage or program type.

When not to use

Non-NIH agencies (NSF and others use different schemes).

What you skip building

  • NIH grants-policy page reading
  • mechanism confusion

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "R01",
   "name": "Research Project Grant",
   "description": "The standard independent investigator award, usually 3-5 years."
  }
 ],
 "disclaimer": "NIH reference data (US federal public domain); not medical or grant advice."
}

nih institute lookup

GET /v1/nih/institutes · free

All 27 NIH institutes/centers with code, full name and research focus, searchable. One call replaces the NIH org-chart crawl. Free, no key.

When to use, what you skip, sample response

When to use

You have an NIH institute code to decode, or a research area to map to its funding institute.

When not to use

Actual grant/project searches — use /v1/funding/signals (NIH RePORTER data).

What you skip building

  • NIH org-page crawling
  • institute code guessing

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "NCI",
   "name": "National Cancer Institute",
   "description": "Cancer research and training"
  }
 ],
 "disclaimer": "NIH reference data (US federal public domain); not medical or grant advice."
}
US macroeconomy3 endpoints · free

macro indicators

GET /v1/macro/indicators · free

Headline US macro indicators (CPI, unemployment, payrolls, JOLTS, PPI…) mapped to their exact, live-verified BLS series ids with units. The id-resolution layer for macro data. Free, no key.

When to use, what you skip, sample response

When to use

You need the BLS series id or unit behind a headline indicator name.

When not to use

The actual numbers — /v1/macro/series or /v1/macro/snapshot.

What you skip building

  • BLS series-id guessing
  • data-finder crawling

Facts

Sample response

{
 "as_of": "2026-09-03T03:00:00Z",
 "count": 1,
 "indicators": [
  {
   "code": "unemployment_rate",
   "series_id": "LNS14000000",
   "name": "Unemployment rate (SA)",
   "unit": "percent"
  }
 ],
 "series_endpoint": "/v1/macro/series?series_id=<id>",
 "source": "U.S. Bureau of Labor Statistics (api.bls.gov)",
 "disclaimer": "Data from the U.S. Bureau of Labor Statistics, retrieved at as_of. BLS.gov cannot vouch for the data or analyses derived from these data after retrieval. Not investment advice."
}

macro series

GET /v1/macro/series · free

Any BLS time series as normalized JSON with latest value, YoY percent and prior-period change precomputed — inflation and labor data without the period arithmetic. Free, no key.

When to use, what you skip, sample response

When to use

You have a series id (see /v1/macro/indicators) and want clean points + derived stats.

When not to use

All headline indicators at once — /v1/macro/snapshot.

What you skip building

  • BLS response parsing
  • YoY period-matching arithmetic

Facts

Sample response

{
 "as_of": "2026-09-03T03:00:00Z",
 "series_id": "LNS14000000",
 "count": 2,
 "latest": {
  "year": 2026,
  "period": "M07",
  "period_name": "July",
  "value": 4.1
 },
 "yoy_pct": -2.38,
 "change_from_prior_period": -0.1,
 "points": [
  {
   "year": 2026,
   "period": "M07",
   "period_name": "July",
   "value": 4.1
  },
  {
   "year": 2026,
   "period": "M06",
   "period_name": "June",
   "value": 4.2
  }
 ],
 "source": "U.S. Bureau of Labor Statistics (api.bls.gov)",
 "disclaimer": "Data from the U.S. Bureau of Labor Statistics, retrieved at as_of. BLS.gov cannot vouch for the data or analyses derived from these data after retrieval. Not investment advice."
}

macro snapshot

GET /v1/macro/snapshot · free

Eight headline US indicators (CPI YoY, core CPI, unemployment, participation, payrolls, wages, PPI, JOLTS) with derived stats in one call — the macro context object for economic reasoning. Free, no key.

When to use, what you skip, sample response

When to use

You want the current headline macro picture in one request.

When not to use

Deep history of one series — /v1/macro/series.

What you skip building

  • eight separate series fetches
  • YoY arithmetic
  • series-id lookup

Facts

Sample response

{
 "as_of": "2026-09-03T03:00:00Z",
 "count": 1,
 "indicators": [
  {
   "code": "unemployment_rate",
   "name": "Unemployment rate (SA)",
   "unit": "percent",
   "latest_value": 4.1,
   "latest_period": "July 2026",
   "yoy_pct": -2.38,
   "change_from_prior_period": -0.1
  }
 ],
 "source": "U.S. Bureau of Labor Statistics (api.bls.gov)",
 "disclaimer": "Data from the U.S. Bureau of Labor Statistics, retrieved at as_of. BLS.gov cannot vouch for the data or analyses derived from these data after retrieval. Not investment advice."
}
Research momentum6 endpoints · free–$0.05

technology momentum

GET /v1/technology/momentum · $0.05 / call

Score research momentum for any technology from OpenAlex (CC0) — returns momentum_score, acceleration_score, trend_label, growth series, leading institutions and researchers, key works, confidence and provenance. Use before betting a field is accelerating.

When to use, what you skip, sample response

When to use

You need a quantified, source-cited answer to "is this research or technology field accelerating, growing, stable, or declining?" for one named topic, with growth ratios, leaders, and recent influential works, in one call.

When not to use

You need one paper's prospects, a literature review, raw bibliographic records, or a topic OpenAlex does not model (brand names, very new jargon) — the response will report a weak match.

What you skip building

  • dozens of paginated scholarly API searches
  • aggregating thousands of works by year, institution, and author
  • age-normalized citation momentum computation
  • a long-context model call to interpret the aggregates
  • retries and rate-limit handling against upstream sources

Facts

Sample response

{
 "result_id": "res_a1b2c3",
 "topic": "photonic computing",
 "query_match": {
  "mode": "phrase",
  "total_works_10y": 4210,
  "focus_topic_ids": [
   "T10412"
  ]
 },
 "matched_topics": [
  {
   "topic_id": "T10412",
   "name": "Photonic and Optical Computing",
   "works": 2914,
   "share": 0.69
  }
 ],
 "momentum_score": 0.81,
 "acceleration_score": 0.64,
 "trend_label": "accelerating",
 "confidence": 0.72,
 "research_growth": {
  "1y": 0.21,
  "3y": 0.86,
  "5y": 1.7
 },
 "citation_growth": {
  "1y": 0.18,
  "3y": 0.7,
  "5y": 1.2
 },
 "citation_growth_as_of_year": 2024,
 "institution_growth": 0.35,
 "leading_institutions": [
  {
   "id": "I63966007",
   "name": "Massachusetts Institute of Technology",
   "recent_works": 210
  }
 ],
 "leading_researchers": [
  {
   "id": "A5012345678",
   "name": "J. Doe",
   "recent_works": 34
  }
 ],
 "important_recent_works": [
  {
   "id": "W4400000001",
   "title": "On-chip photonic tensor cores",
   "year": 2026,
   "cited_by": 89
  }
 ],
 "rationale": "Publication and top-decile citation growth accelerated over the last 3 years.",
 "key_drivers": [
  "AI inference energy limits"
 ],
 "risks": [
  "fabrication cost"
 ],
 "warnings": [],
 "evidence_count": 412,
 "data_as_of": "2026-08-24",
 "methodology_version": "1.2.0",
 "schema_version": "1",
 "computed_at": "2026-08-30T18:00:00Z"
}

technology emerging

GET /v1/technology/emerging · $0.05 / call

Rank the fastest-accelerating research topics across ~4,500 OpenAlex topics, weekly — returns rank, momentum z-score, growth, acceleration and citation-quality growth per topic, filterable by field. Use to find what is accelerating.

When to use, what you skip, sample response

When to use

You need a ranked, evidence-backed list of accelerating fields (optionally within one discipline) to seed scouting, diligence, or content, and would otherwise scan topic by topic.

When not to use

You already know the topic and want a judgment with leaders and works — use technology_momentum; or you want one topic's numbers — use technology_lookup.

What you skip building

  • thousands of per-topic queries
  • universe-wide normalization
  • weekly recomputation

Facts

Sample response

{
 "scan_id": "scan_2026w35",
 "computed_at": "2026-08-24T06:00:00Z",
 "data_as_of": "2026-08-24",
 "last_full_year": 2025,
 "universe_size": 4516,
 "method_id": "technology_momentum_stat_v1",
 "topics": [
  {
   "topic_id": "T12026",
   "name": "Quantum error correction",
   "field": "Physical Sciences",
   "subfield": "Condensed Matter Physics",
   "rank": 3,
   "momentum_stat": 3.41,
   "growth_1y": 0.38,
   "growth_3y": 1.9,
   "growth_5y": 3.2,
   "acceleration_3y": 0.6,
   "decile_growth_3y": 1.4,
   "works_last_full_year": 1841,
   "works_10y": 6210,
   "is_emerging": true
  }
 ]
}

technology lookup

GET /v1/technology/lookup · free

Look up statistical research momentum for one OpenAlex topic (free) — returns rank among ~4,500 topics, momentum z-score, 1y/3y/5y growth, acceleration and per-year counts. Use to screen a field before paying for a full judgment.

When to use, what you skip, sample response

When to use

You have a topic and want its numbers now, or you are screening many topics.

When not to use

You need leaders, influential works and a reasoned judgment — use technology_momentum.

What you skip building

  • per-year aggregation
  • universe normalization
  • rate-limit handling

Facts

Sample response

{
 "scan_id": "scan_2026w35",
 "computed_at": "2026-08-24T06:00:00Z",
 "data_as_of": "2026-08-24",
 "last_full_year": 2025,
 "universe_size": 4516,
 "method_id": "technology_momentum_stat_v1",
 "topic": {
  "topic_id": "T12026",
  "name": "Quantum error correction",
  "field": "Physical Sciences",
  "subfield": "Condensed Matter Physics",
  "rank": 3,
  "momentum_stat": 3.41,
  "growth_1y": 0.38,
  "growth_3y": 1.9,
  "growth_5y": 3.2,
  "acceleration_3y": 0.6,
  "decile_growth_3y": 1.4,
  "works_last_full_year": 1841,
  "works_10y": 6210,
  "is_emerging": true
 },
 "works_by_year": {
  "2023": 1102,
  "2024": 1490,
  "2025": 1841
 },
 "top_decile_by_year": {
  "2023": 118,
  "2024": 166,
  "2025": 204
 }
}

science fields

GET /v1/science/fields · free

Every research field with tracked-topic count, recent works volume, emerging-topic count and its top-momentum topic — the one-call landscape map. Free, no key.

When to use, what you skip, sample response

When to use

You want the field-level map before topic-level analysis.

When not to use

Topic-level detail — use /v1/science/topics.

What you skip building

  • OpenAlex aggregation queries
  • per-field counting

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "fields": [
  {
   "field": "Computer Science",
   "topics": 312,
   "works_last_full_year": 512044,
   "emerging_topics": 41,
   "top_topic": "Large Language Model Agents"
  }
 ],
 "disclaimer": "Derived from OpenAlex (CC0) by AnswerPool's weekly scan; not investment advice."
}

science topics

GET /v1/science/topics · free

4,500-topic research directory with weekly-computed growth and momentum stats: search by name or field, sort by momentum, works or growth. Raw numbers, no LLM. Free, no key.

When to use, what you skip, sample response

When to use

You need topic resolution or raw growth numbers for research areas — screening before the graded momentum products.

When not to use

Graded assessments with confidence and evidence — that is /v1/technology/momentum ($0.05, LLM-graded).

What you skip building

  • OpenAlex topic pagination
  • hand-rolled growth math
  • inconsistent week-to-week baselines

Facts

Sample response

{
 "as_of": "2026-09-03T02:00:00Z",
 "data_as_of": "2026-08-30",
 "count": 1,
 "topics": [
  {
   "topic_id": "T10320",
   "name": "Quantum Computing Algorithms and Architecture",
   "field": "Computer Science",
   "subfield": "Computational Theory and Mathematics",
   "works_last_full_year": 3175,
   "works_10y": 18402,
   "growth_1y": 0.18,
   "growth_3y": 0.52,
   "momentum_rank": 14,
   "is_emerging": true
  }
 ],
 "note": "Raw weekly-scan statistics; the LLM-graded brief is /v1/technology/emerging.",
 "disclaimer": "Derived from OpenAlex (CC0) by AnswerPool's weekly scan; not investment advice."
}
Weather & alerts3 endpoints · free

weather alerts

GET /v1/weather/alerts · free

Active NWS alerts by state or nationwide with counts by event type, severity and urgency plus a Severe/Extreme total. Replaces paging GeoJSON and tallying. Free.

When to use, what you skip, sample response

When to use

You need what is active now and how it breaks down by type or severity.

When not to use

A point forecast — /v1/weather/forecast.

What you skip building

  • paging alert GeoJSON
  • hand-tallying event types
  • missing the severity split

Facts

Sample response

{
 "as_of": "2026-09-03T16:00:00Z",
 "area": "CA",
 "active_alerts": 4,
 "by_event": [
  {
   "key": "Wind Advisory",
   "count": 3
  },
  {
   "key": "Heat Advisory",
   "count": 1
  }
 ],
 "by_severity": [
  {
   "key": "Moderate",
   "count": 4
  }
 ],
 "by_urgency": [
  {
   "key": "Expected",
   "count": 4
  }
 ],
 "severe_or_extreme": 0,
 "alerts": [
  {
   "event": "Wind Advisory",
   "severity": "Moderate",
   "urgency": "Expected",
   "certainty": "Likely",
   "area": "Santa Barbara County Southwestern Coast",
   "onset": "2026-09-03T11:00:00-07:00",
   "ends": "2026-09-03T20:00:00-07:00",
   "sender": "NWS Los Angeles CA"
  }
 ],
 "note": "Counts are computed over the active-alert set at retrieval time. One weather system produces many alerts across zones, so counts measure alert volume, not storm count.",
 "source": "NOAA National Weather Service (api.weather.gov)"
}

weather forecast

GET /v1/weather/forecast · free

Coordinates to forecast in one call, with high, low, peak precipitation probability and wet-period count computed across the window. Free, no key.

When to use, what you skip, sample response

When to use

You need a point forecast plus its summary numbers.

When not to use

Active warnings — /v1/weather/alerts.

What you skip building

  • the NWS points-then-gridpoints two-step
  • min/max passes over forecast periods

Facts

Sample response

{
 "as_of": "2026-09-03T16:00:00Z",
 "grid": "LWX/97,71",
 "city": "Washington",
 "state": "DC",
 "periods_returned": 2,
 "high_f": 88.0,
 "low_f": 71.0,
 "max_precip_probability_pct": 60.0,
 "periods_with_precip_50pct_plus": 1,
 "periods": [
  {
   "name": "Today",
   "start": "2026-09-03T12:00:00-04:00",
   "is_daytime": true,
   "temperature_f": 88.0,
   "wind": "5 to 10 mph SW",
   "precipitation_probability_pct": 60.0,
   "short_forecast": "Chance Showers And Thunderstorms"
  }
 ],
 "note": "Highs, lows and precipitation aggregates are computed by AnswerPool across the returned periods; the per-period values are as issued by the forecast office.",
 "source": "NOAA National Weather Service (api.weather.gov)"
}

weather point

GET /v1/weather/point · free

Latitude and longitude in, NWS forecast grid, zone, county, timezone and the forecast/observation URLs out. The resolution step every weather call needs. Free.

When to use, what you skip, sample response

When to use

You have coordinates and need NWS identifiers or the city/timezone for them.

When not to use

The forecast itself — /v1/weather/forecast does both steps in one call.

What you skip building

  • two-step NWS grid lookup
  • guessing forecast office codes

Facts

Sample response

{
 "as_of": "2026-09-03T16:00:00Z",
 "latitude": 38.8894,
 "longitude": -77.0352,
 "grid_id": "LWX",
 "grid_x": 97,
 "grid_y": 71,
 "city": "Washington",
 "state": "DC",
 "timezone": "America/New_York",
 "forecast_url": "https://api.weather.gov/gridpoints/LWX/97,71/forecast",
 "hourly_forecast_url": "https://api.weather.gov/gridpoints/LWX/97,71/forecast/hourly",
 "observation_stations_url": "https://api.weather.gov/gridpoints/LWX/97,71/stations",
 "forecast_zone": "https://api.weather.gov/zones/forecast/DCZ001",
 "county": "https://api.weather.gov/zones/county/DCC001",
 "note": "NWS keys forecasts by office grid, not by coordinates; this is the resolution step every other weather call needs first.",
 "source": "NOAA National Weather Service (api.weather.gov)"
}
Vulnerabilities & exploitation2 endpoints · free

kev stats

GET /v1/cyber/kev/stats · free

Aggregates over the CISA KEV catalog: top exploited vendors all-time and recent, additions by month, top CWE weakness types, ransomware share and past-due count. Free, no key.

When to use, what you skip, sample response

When to use

You want the distribution and trend of real-world exploitation.

When not to use

A specific CVE or vendor lookup — /v1/cyber/kev.

What you skip building

  • downloading 1
  • 700 records to group them
  • month bucketing
  • CWE tallying

Facts

Sample response

{
 "as_of": "2026-09-03T16:00:00Z",
 "catalog_version": "2026.09.02",
 "catalog_size": 1694,
 "window_days": 90,
 "added_in_window": 37,
 "ransomware_linked_total": 288,
 "ransomware_share_pct": 17.0,
 "past_due_total": 1602,
 "top_vendors_all_time": [
  {
   "key": "Microsoft",
   "count": 331
  }
 ],
 "top_vendors_in_window": [
  {
   "key": "Cisco",
   "count": 6
  }
 ],
 "additions_by_month": [
  {
   "key": "2026-08",
   "count": 12
  }
 ],
 "top_cwes": [
  {
   "key": "CWE-78",
   "count": 61
  }
 ],
 "note": "Counts are AnswerPool aggregates over the CISA catalog: which vendors' products are most often found exploited, how additions are trending, and how much of the catalog is ransomware-linked. Counts reflect what CISA has catalogued, which is a floor on real exploitation, not a census.",
 "source": "CISA Known Exploited Vulnerabilities catalog"
}
Clinical trials2 endpoints · free

trials pipeline

GET /v1/trials/pipeline · free

Trials and enrollment by phase, status and study type for a condition or sponsor, with leading sponsors and an active-trial count. One call instead of paging and tallying the registry. Free, no key.

When to use, what you skip, sample response

When to use

You want the distribution across a therapeutic area or a sponsor's portfolio.

When not to use

Individual trial records — /v1/trials/search.

What you skip building

  • registry paging
  • phase and status tallying
  • enrollment summing

Facts

Sample response

{
 "as_of": "2026-09-03T16:00:00Z",
 "query": {
  "query.cond": "melanoma"
 },
 "trials_analyzed": 200,
 "by_phase": [
  {
   "key": "PHASE2",
   "trials": 71,
   "enrollment_total": 8420
  }
 ],
 "by_status": [
  {
   "key": "COMPLETED",
   "trials": 96,
   "enrollment_total": 11200
  }
 ],
 "by_study_type": [
  {
   "key": "INTERVENTIONAL",
   "trials": 181,
   "enrollment_total": 19800
  }
 ],
 "top_sponsors": [
  {
   "key": "National Cancer Institute (NCI)",
   "trials": 14,
   "enrollment_total": 2100
  }
 ],
 "active_trials": 63,
 "total_enrollment": 21450,
 "note": "Distributions are computed over the sample of trials matching the query (capped by `sample`), newest registry order \u2014 a shape of the pipeline, not a registry census. Enrollment is the registered target or actual count as submitted.",
 "source": "Source: National Library of Medicine (ClinicalTrials.gov)"
}
FDA safety & recalls3 endpoints · free

fda drug events

GET /v1/fda/drug-events · free

Most-reported reactions for a drug plus the serious/non-serious split from FDA's adverse-event system, with the reporting-bias and non-causality caveats carried in the response. Signal generation only. Free, no key.

When to use, what you skip, sample response

When to use

You want the reported reaction profile for a drug, understanding it is not a rate.

When not to use

Anything requiring incidence, causality or comparison between drugs without exposure data — this data cannot support those.

What you skip building

  • FAERS query construction
  • MedDRA term aggregation

Facts

Sample response

{
 "as_of": "2026-09-03T17:00:00Z",
 "drug": "atorvastatin",
 "reports_matched": 145233,
 "top_reactions": [
  {
   "term": "MYALGIA",
   "count": 8123
  },
  {
   "term": "FATIGUE",
   "count": 6011
  }
 ],
 "by_seriousness": [
  {
   "term": "serious",
   "count": 98211
  },
  {
   "term": "non-serious",
   "count": 47022
  }
 ],
 "interpretation": "These are counts of REPORTS mentioning the drug, not rates and not causal findings. Compare drugs only if you also account for how differently they are prescribed \u2014 otherwise the more common drug always looks worse.",
 "source": "openFDA (US Food and Drug Administration), CC0"
}

fda recalls

GET /v1/fda/recalls · free

Drug, device and food recalls by firm, state, class or window, with FDA's hazard classification and days-since-report. One call instead of openFDA query syntax. Free, no key.

When to use, what you skip, sample response

When to use

You need the recall records themselves for a firm, state or window.

When not to use

The distribution across many recalls — /v1/fda/recall-trends.

What you skip building

  • openFDA Lucene query syntax
  • YYYYMMDD date handling
  • hazard class lookup

Facts

Sample response

{
 "as_of": "2026-09-03T17:00:00Z",
 "category": "drug",
 "window_days": 90,
 "matched": 214,
 "count": 1,
 "class_i_in_page": 0,
 "recalls": [
  {
   "recall_number": "D-0123-2026",
   "classification": "Class II",
   "status": "Ongoing",
   "recalling_firm": "Example Pharma Inc",
   "state": "NJ",
   "country": "United States",
   "product_type": "Drugs",
   "reason": "Lack of Assurance of Sterility",
   "product_description": "Example Injection USP, 10 mg/mL",
   "report_date": "2026-08-12",
   "initiation_date": "2026-07-30",
   "days_since_report": 22,
   "voluntary_or_mandated": "Voluntary: Firm initiated"
  }
 ],
 "note": "Class I means a reasonable probability of serious harm or death, Class II temporary or reversible harm, Class III unlikely harm. Classification is FDA's; day-counts are ours.",
 "source": "openFDA (US Food and Drug Administration), CC0"
}
Entity resolution1 endpoint · free

entity resolve

GET /v1/entity/resolve · free

Any entity name in; Wikidata id, labels, aliases and the external identifiers other datasets key on (SEC CIK, LEI, ticker, NAICS) out, with endpoint URLs where they map. Turns name matching into a key join. Free, no key.

When to use, what you skip, sample response

When to use

You have a name and need identifiers that work in other systems.

When not to use

SEC-only resolution (/v1/sec/resolve is authoritative for CIK) or federal award recipients (/v1/funding/recipients).

What you skip building

  • hand-built identifier mappings
  • name-matching false positives
  • SPARQL

Facts

Sample response

{
 "as_of": "2026-09-03T17:00:00Z",
 "query": "Nvidia",
 "qid": "Q182477",
 "label": "Nvidia",
 "description": "American multinational technology company",
 "aliases": [
  "NVIDIA Corporation"
 ],
 "instance_of": [
  "public company"
 ],
 "industry": [
  "semiconductor industry"
 ],
 "country": [
  "United States of America"
 ],
 "headquarters": [
  "Santa Clara"
 ],
 "external_ids": [
  {
   "key": "sec_cik",
   "label": "SEC Central Index Key",
   "value": "0001045810",
   "our_endpoint": "/v1/sec/entity?cik=0001045810"
  },
  {
   "key": "lei",
   "label": "Legal Entity Identifier",
   "value": "549300S4KLFTLO7GSQ80",
   "our_endpoint": null
  }
 ],
 "other_candidates": [],
 "note": "One lookup, the identifiers several domains key on. When an SEC CIK is present, the crosswalk into our SEC endpoints is a key join rather than a name match.",
 "source": "Wikidata (CC0)"
}
Pricing & payment

Pay per answer. No account, no subscription.

Free tier

80 of 140 endpoints are free at 60 calls/minute per client, no key: every identifier lookup and glossary, the filing and rulemaking feeds, the since cursors you poll, and the macro snapshot. Screen and resolve for free; pay only for the derived analyses. Discovery endpoints (/v1/workloads, /v1/metadata, provenance, /v1/samples) are always free.

Card credits (Stripe)

Buy a prepaid pack — $1 / $5 / $20 / $50 — get an API key once, send Authorization: Bearer <key>. Each call debits the listed price; errors are refunded automatically. Start with $1.

USDC via x402

Crypto-native agents pay per request with USDC on Base: call the endpoint, receive 402 + PAYMENT-REQUIRED, retry with a signed PAYMENT-SIGNATURE. No key, no balance to manage. Settlement happens only after we return an answer.

Trust & provenance

Every answer says where it came from.

Only public-domain and CC0 data

Sources: US Bureau of Labor Statistics (US public domain), CISA Known Exploited Vulnerabilities catalog (US public domain), ClinicalTrials.gov (NIH National Library of Medicine) (US public domain), Federal Register (US public domain), NIH RePORTER (US public domain), NIST National Vulnerability Database (US public domain), NOAA National Weather Service (US public domain), OpenAlex (CC0), openFDA (US Food and Drug Administration) (CC0), SEC EDGAR (US public domain), USAspending (US public domain), Wikidata (CC0). We never scrape, and a source cannot be added without a recorded rights review. The rights test is part of every build.

Provenance on every result

Each response carries a result_id; GET /v1/provenance/r_9f2c41ab7d3e5c608a1b returns the source, dataset version, retrieval time, methodology version, evidence count and evidence hash for that exact answer — free, forever.

Versioned methods, kept history

Every product declares a methodology version; when a method changes, the version changes and old results are kept, not overwritten. Statistical products are deterministic; the one LLM-assisted product returns a grounded confidence with its evidence.

Nothing to sign up for, nothing tracked

No accounts, no cookies, no analytics scripts. We log what a paid API needs (endpoint, parameters, status, a salted hash of the client address). Card payments happen on Stripe; we never see card numbers. Privacy · Terms.

Data freshness and operating facts
Products
140 endpoints, 80 free
SEC EDGAR index
refreshed every 15 minutes; last completed poll 2026-10-15 04:00 UTC
Research universe
~4,500 OpenAlex topics scored weekly; last scan 2026-10-11 03:24 UTC
Payment rails
x402, stripe_credits
Failed calls
never charged (credits auto-refund; x402 settles only after an answer)
Rate limits
free tier 60 calls/minute per client; paid calls limited only by budget
Registry
official MCP registry · io.github.blakeyounger/answerpool
Software version
0.1.0
What AnswerPool is not
  • Not investment, legal or tax advice — outputs are analytical signals computed from public records (terms).
  • Not real-time market data, private-company data or full filing text.
  • Not a scraper or a data reseller: we compute derived answers from sources whose licenses permit it, and publish the license snapshot for each.
For agents and developers

Machine-readable from the first request.

Discovery

MCP server

Streamable HTTP at https://answerpool.io/mcp. Listed in the official MCP registry as io.github.blakeyounger/answerpool. Free tools work without a key; paid tools take your credit key as a bearer token. One-click add to Claude, or use the URL in Cursor, Gemini CLI or any MCP client.

A first call

# free: screen a research field (fuzzy topic match, returns query_match + numbers)
curl "https://answerpool.io/v1/sec/events?ticker=JEF"

# paid: unpaid request returns 402 + PAYMENT-REQUIRED (x402 v2, USDC exact scheme)
curl -i "https://answerpool.io/v1/sec/company?ticker=NVDA"

# paid with prepaid credits (key from https://answerpool.io/v1/credits/checkout)
curl -H "Authorization: Bearer ck_live_..." "https://answerpool.io/v1/sec/company?ticker=NVDA"