SEC filing report (what the company just filed)
POST /v1/filing-reportName a US ticker and get one cited report on what the company just filed with the SEC: every filing in EDGAR's index for the window (8-K, 10-Q, 10-K, S-1, 424B4, DEF 14A and the rest, minus any form you exclude), the primary documents of the most consequential ones read in full and explained in plain language, and what changed versus the prior period where the filing itself says so, with a downloadable filings appendix. Not investment advice. Not cached.
Input
| Field | Type | Description |
|---|---|---|
ticker | string | US stock ticker, e.g. AAPL (or pass cik). |
cik | string | SEC CIK of the company (alternative to ticker). |
days | number | Lookback window in days, 1-365 (default 30). |
forms | string | Optional allowlist of form types, comma-separated or an array, e.g. "8-K,10-Q". Omit for every form. |
exclude | string | Form types to ignore, comma-separated or an array, e.g. "4,3,5" to drop insider ownership forms. |
focus | string | Optional accession numbers to read in full first, comma-separated or an array (e.g. the filing that just landed). |
Example output
{
"report": "# SEC Filing Report: Example Corp (EXMP)\n\n**Last 30 days** · 4 filings (8-K x2, 10-Q x1, 4 x1) · 3 primary documents read in full\n\n## Snapshot\n...\n\n## Sources\n[1] 8-K filed 2026-08-20 - Example Corp - SEC EDGAR - https://www.sec.gov/Archives/edgar/data/42/000000000000000000/ex8k.htm",
"company": "Example Corp",
"ticker": "EXMP",
"cik": "0000000042",
"sources": [
{
"n": 1,
"title": "8-K filed 2026-08-20 - Example Corp - SEC EDGAR",
"url": "https://www.sec.gov/Archives/edgar/data/42/000000000000000000/ex8k.htm"
}
],
"tables": [
{
"name": "filings",
"label": "SEC filings in the window",
"columns": [
"Filed",
"Form",
"Form meaning",
"Period",
"Description",
"Accession",
"Read in full",
"URL"
],
"rows": [
[
"2026-08-20",
"8-K",
"current report (material event)",
"2026-08-19",
"8-K",
"0000000042-26-000011",
"yes",
"https://www.sec.gov/Archives/edgar/data/42/000000000000000000/ex8k.htm"
]
]
}
],
"meta": {
"tier": "filing-report",
"company": "Example Corp",
"ticker": "EXMP",
"cik": "0000000042",
"window_days": 30,
"filings": 4,
"documents_read": 3,
"sources_cited": 5,
"synthesis_model": "anthropic/claude-opus-5",
"disclaimer": "SEC filings as filed with the Commission (public domain); summary of public documents, not investment advice."
}
}
Try it - see the 402 challenge (free)
curl -i -X POST https://agent402.tools/v1/filing-report \
-H "Content-Type: application/json" \
-d '{"ticker":"AAPL","days":30}'
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
Paid call (JavaScript agent)
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/v1/filing-report", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"ticker": "AAPL",
"days": 30
}),
});
Related tools
Chat completions - nano tier
POST /v1/nano/chat/completionsOpenAI-compatible chat completions, nano tier: gpt-4.1-nano, gpt-5-nano, gemini flash-lite, small llama/ministral/qwen, …
try in playground →Chat completions - auto tier (eval-ranked routing)
POST /v1/auto/chat/completionsOpenAI-compatible chat completions with server-side model choice: omit "model" (or send "auto") and the gateway routes t…
try in playground →Grounded chat (web search, OpenAI-compatible)
POST /v1/grounded/chat/completionsOpenAI-compatible chat completions GROUNDED in a live web search on every call: the gateway runs an Exa search (up to 5 …
try in playground →