Tools · finance
SEC filings by ticker (EDGAR)
A US-listed company's latest SEC filings by ticker or CIK - 10-K, 10-Q, 8-K with its item codes, insider Form 4, proxy statements - each with its date and a direct link to the document on sec.gov, plus the company's CIK, exchanges and industry. Filter by form type. Pay-per-call via x402.
$0.0027 per call, paid in USDC on Base or Solana with x402 — no account, no API key. POST https://fiatdock.com/v1/sec/filings (or GET with the same fields as query parameters) · MCP tool sec_filings. An answer the tool cannot produce is refused with 4xx/5xx and is not charged.
Inputs
| Field | Type | Description | Example |
|---|---|---|---|
ticker | string | Stock ticker (AAPL, MSFT, BRK-B) or a CIK number. Omit the whole body to get the published example (AAPL) | "AAPL" |
forms | string | Only these form types (e.g. 10-K,10-Q,8-K,4,DEF 14A). Omit for all (comma-separated, or a JSON array) | "8-K,10-Q" |
limit | integer | How many filings, newest first, 1-100 (default 20) | 20 |
Example
Request body
{"ticker":"AAPL","forms":"8-K,10-Q"}
Answer (the published example)
{"company":{"name":"Apple Inc.","cik":"0000320193","tickers":["AAPL"],"exchanges":["Nasdaq"],"sic":"3571","sicDescription":"Electronic Computers","fiscalYearEnd":"0926"},"filings":[{"form":"8-K","filingDate":"2026-07-31","reportDate":"2026-07-31","accessionNumber":"0000320193-26-000070","description":"8-K","items":"2.02,9.01","url":"https://www.sec.gov/Archives/edgar/data/320193/000032019326000070/aapl-20260731.htm"}],"count":1,"source":"SEC EDGAR (data.sec.gov submissions)","asOf":"2026-10-05T00:00:00.000Z","note":"Newest first, from EDGAR's recent-filings list."}
Call it
curl
# 1) ask: an unpaid call answers 402 with the exact price (free)
curl -i -X POST https://fiatdock.com/v1/sec/filings -H 'content-type: application/json' -d '{"ticker":"AAPL","forms":"8-K,10-Q"}'
# 2) pay: any x402 client signs that 402 and resends — see Node or Python below
Node
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const pay = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:*", client: new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_PRIVATE_KEY)) }],
});
const r = await pay("https://fiatdock.com/v1/sec/filings", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({"ticker":"AAPL","forms":"8-K,10-Q"}),
});
console.log(r.status, await r.json());
Python
# pip install "x402[httpx,evm]"
import asyncio, json, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client
async def main():
client = register_exact_evm_client(x402Client(), Account.from_key(os.environ["AGENT_PRIVATE_KEY"]))
async with x402HttpxClient(client) as http:
r = await http.post("https://fiatdock.com/v1/sec/filings", json=json.loads("{\"ticker\":\"AAPL\",\"forms\":\"8-K,10-Q\"}"))
print(r.status_code, r.json())
asyncio.run(main())
MCP (Claude, Cursor, any MCP client)
{"mcpServers":{"fiatdock":{"command":"npx","args":["-y","fiatdock-mcp"],"env":{"AGENT_PRIVATE_KEY":"0x<your agent wallet key>"}}}}
// then call the tool "sec_filings" — the package pays each call from that wallet
The wallet needs USDC on Base. Prefer no install? The remote server https://fiatdock.com/mcp answers the 402 as tool output for an agent that signs its own payments.
Related tools
- Token safety check — $0.0045
- Token report (price + safety) — $0.0045
- Stablecoin supply and peg — $0.002
- Perp market + funding (Hyperliquid, Binance, Bybit) — $0.001
- Prediction markets (Polymarket) — $0.0045
- Best DeFi yields by chain and token (DefiLlama) — $0.001
Machine-readable: OpenAPI · tools.json · llms.txt · /.well-known/x402