Quant Agent Shop

SEC filings

SEC EDGAR filings lookup. Send a US ticker, CIK or company name, optionally with form types such as 10-K, 10-Q, 8-K or 4; returns the company, its CIK and SIC code, and its latest matching filings (about the last 1,000) with form, filing date, period and direct links to the document and index, the window searched, and provenance (source URLs, retrieval times, SHA-256). Filing metadata and links only; read a filing with /v1/fetch-page. Typical response under 1 s. Failed calls are not charged.

$0.0013per successful call
USDC on Basepaid over x402
Freewhen a call fails

Try one call free

5 free calls a day per address, no payment. Demo inputs travel in the web address, which logs can record, so use the paid route for anything private.

The result appears here.

Example

Request body for POST /v1/sec-filings:

{
  "ticker": "AAPL",
  "forms": [
    "10-K"
  ],
  "limit": 1
}

Response:

{
  "company": "Apple Inc.",
  "cik": "0000320193",
  "tickers": [
    "AAPL"
  ],
  "sic": "3571",
  "sic_description": "Electronic Computers",
  "filings": [
    {
      "form": "10-K",
      "filed": "2025-10-31",
      "period": "2025-09-27",
      "accession": "0000320193-25-000079",
      "description": "10-K",
      "primary_doc_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
      "index_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm"
    }
  ],
  "status": "found",
  "search_window": {
    "filings_scanned": 1000,
    "oldest_filed": "2021-11-02"
  },
  "other_matches": [],
  "source": "SEC EDGAR",
  "provenance": {
    "sources": [
      {
        "url": "https://data.sec.gov/submissions/CIK0000320193.json",
        "retrieved_at": "2026-10-22T09:00:00+00:00",
        "sha256": "ddc6e2b224d0fd821669202258386936fc9ce2899e215eec6322b95f8dd96d6a"
      },
      {
        "file": "company_tickers.json",
        "url": "https://www.sec.gov/files/company_tickers.json",
        "retrieved_at": "2026-10-22T03:15:04+00:00",
        "sha256": "55a4bc5be68ea5c30cbe4d07e3bf951163b5a207dfd628ea53a2eb21072a9f3b"
      }
    ],
    "freshness": "filings read live from EDGAR and cached up to 10 minutes; ticker list downloaded daily"
  }
}

Call it with x402

Any x402 client works: call, read the price in the 402, pay, call again. With curl you see the terms:

curl -i -X POST https://quantagentshop.com/v1/sec-filings \
  -H 'content-type: application/json' \
  -d '{"ticker": "AAPL", "forms": ["10-K"], "limit": 1}'

HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: (the terms below, base64)

{"x402Version": 2, "error": "payment_required", "accepts": [{"scheme": "exact", "network": "eip155:8453", "amount": "1300", "payTo": "0x4d8d8D4f04512029172e0176744Eec4AE5238309", ...}], ...}

# amount is in millionths of a USDC. Pay one of accepts, then send the same request again with the PAYMENT-SIGNATURE header.

In JavaScript, @x402/fetch pays and retries for you:

// npm install @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // a wallet holding a little USDC
const client = new x402Client().register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);

const res = await fetchWithPayment("https://quantagentshop.com/v1/sec-filings", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"ticker": "AAPL", "forms": ["10-K"], "limit": 1}),
});
console.log(await res.json());

Use it over MCP

Add the remote MCP server, then call quantagentshop_sec_filings. The free quantagentshop_quote tool gives the price and pay-to address and checks your arguments before you pay.

{
  "mcpServers": {
    "quantagentshop": {
      "url": "https://quantagentshop.com/mcp"
    }
  }
}

Terms, privacy and sources are on the policies page; live figures on the status page.