# Search and read SEC EDGAR filings with x402stock's API

x402stock's API answers four SEC filing questions with four GET requests: full-text search across EDGAR filings since 2001, one company's recent filings, a structured summary of its latest 10-K, 10-Q or 8-K, and its recent disclosure picture in one call. Each request is priced on its own, from $0.01 per request for a filing list to $0.05 per request for the dossier. Send a GET request to the endpoint and pay the price it quotes; [the buyer skill](https://agents.x402stock.xyz/zcj/q1i80za635gx/SKILL.md) has the payment steps.

## At a glance

- **Endpoints:** `GET /api/v1/filing-search`, `GET /api/v1/filings/{ticker}`, `GET /api/v1/filing-summary/{ticker}`, `GET /api/v1/dossier/{ticker}`
- **Inputs:** query parameters only. Search needs `q`. The other three take an uppercase US ticker in the path.
- **Price per request:** search $0.02 per request, filing list $0.01 per request, summary $0.03 per request, dossier $0.05 per request
- **Payment:** per request, in USDC over x402 or MPP. No account or API key.
- **Response:** JSON. Each filing carries its form, accession number, dates and a link to the document on sec.gov.
- **Limits:** `limit` caps search and list results at 100. One ticker per request.
- **Full purchase flow:** [the buyer skill](https://agents.x402stock.xyz/zcj/q1i80za635gx/SKILL.md)

## Pick the call for the job

| You need | Request | Price |
| --- | --- | --- |
| Filings from any filer that mention a word or phrase | `/api/v1/filing-search?q=...` | $0.02 per request |
| One company's recent filings | `/api/v1/filings/{ticker}` | $0.01 per request |
| A summary of its latest 10-K, 10-Q or 8-K | `/api/v1/filing-summary/{ticker}?type=...` | $0.03 per request |
| Its recent disclosures, all in one call | `/api/v1/dossier/{ticker}` | $0.05 per request |

Start with the narrowest call that answers the question. Each call stands alone.

## Search, list and summarize filings

1. Search full text. Put an exact phrase in URL-encoded quotes, and narrow with `forms` (comma-separated, such as `10-K,8-K`), `ticker`, `startdt` and `enddt` (`YYYY-MM-DD`). `limit` defaults to 10.

   ```bash
   curl -s "https://agents.x402stock.xyz/zcj/q1i80za635gx/api/v1/filing-search?q=%22supply%20chain%22&forms=10-K&limit=3"
   ```

   This example paid $0.02. The response reports `total_matches` and returns up to `limit` results, each with `accession`, `form`, `filing_date`, `period_ending`, `filer`, `cik`, `description` and `url`:

   ```json
   {"source": "sec_edgar", "query": "\"supply chain\"", "forms": "10-K", "ticker": null, "total_matches": 10000, "count": 3,
    "results": [{"accession": "0000931763-02-002489", "form": "10-K", "filing_date": "2002-07-19", "period_ending": "2002-05-31", "filer": "FEDEX CORP  (FDX)  (CIK 0001048911)", "url": "https://www.sec.gov/[path]"}]}
   ```

2. List one company's filings. Filter to one form with `type` (such as `10-K`, `10-Q`, `8-K` or `4`). `limit` defaults to 20.

   ```bash
   curl -s "https://agents.x402stock.xyz/zcj/q1i80za635gx/api/v1/filings/MSFT?limit=3"
   ```

   This example paid $0.01. Each filing carries `form`, `accession`, `filing_date`, `report_date`, `description`, the 8-K `items` codes, `primary_document` and `url`:

   ```json
   {"ticker": "MSFT", "data": {"cik": "0000789019", "company": "MICROSOFT CORP", "count": 3,
    "filings": [{"form": "4", "accession": "0000789019-26-000226", "filing_date": "2026-10-14", "report_date": "2026-10-13", "items": [], "primary_document": "form4.xml", "url": "https://www.sec.gov/[path]"}]}}
   ```

3. Summarize the latest filing of one type. Set `type` to `10-K`, `10-Q` or `8-K`. A request without `type` summarizes the latest 10-K.

   ```bash
   curl -s "https://agents.x402stock.xyz/zcj/q1i80za635gx/api/v1/filing-summary/MSFT?type=10-K"
   ```

   This example paid $0.03. The response identifies the filing (`form`, `accession`, `filing_date`, `report_date`, `filing_url`) and adds `summary`, `business_overview`, lists of `risk_factors` and `mda_highlights`, `guidance` (which can be `null`) and a `sentiment` label of `positive`, `neutral` or `negative`:

   ```json
   {"ticker": "MSFT", "data": {"form": "10-K", "accession": "0001193125-26-323660", "filing_date": "2026-07-29", "report_date": "2026-06-30", "risk_factors": ["Dynamic and competitive market", "…"], "guidance": null}}
   ```

4. Get the dossier. It takes no query parameters and returns four sections: the filings index, Form 4 insider transactions, 8-K material events by item code, and Form 3 initial holdings.

   ```bash
   curl -s "https://agents.x402stock.xyz/zcj/q1i80za635gx/api/v1/dossier/MSFT"
   ```

   This example paid $0.05. Read `sections` first. Each section reports its own status, so one section can fail while the others still return. In this example every section reported `ok`:

   ```json
   {"ticker": "MSFT", "source": "x402stock", "sections": {"filings": "ok", "insider_trades": "ok", "material_events": "ok", "form_3": "ok"},
    "material_events": {"data": {"count": 20, "events": [{"form": "8-K", "filing_date": "2026-09-02", "items": [{"code": "7.01", "label": "Regulation FD Disclosure"}]}]}}}
   ```

## Limits

- Search and list return filing metadata and a sec.gov link, not the filing text. To read the document, fetch its `url`.
- The summary covers only the latest filing of the chosen `type`. It takes no accession number, and it is AI-generated from the filing.
- Each request takes one ticker. There is no batch request.
- `limit` changes how many results come back, not the price. Each request is billed once.
- Nothing is charged until you pay the 402, so the quote is a safe place to stop. After payment, errors come from the upstream API in its own status and body.

## Errors

| Response | Meaning | Action |
| --- | --- | --- |
| `402` with a `payment` block | The price quote. Nothing has been charged. | Pay it and retry the same request, or stop |
| `settlement_failed` | The payment did not settle. `settlementReason` gives the cause, such as `insufficient_funds`. | Fund the wallet, then send the request again for a fresh quote |
| `payment_request_mismatch` | A payment was reused for a different request | Request a fresh 402 for each call |

## Frequently asked questions

### Does x402stock's SEC filings API need an API key?

No. Each request is paid on its own over x402 or MPP, so there is no signup, account or key.

### Can I search SEC filings for an exact phrase?

Yes. Wrap the phrase in quotes inside `q`, URL-encoded as `%22`. Combine it with `forms`, `ticker`, `startdt` and `enddt` to narrow the results. The search covers EDGAR filings since 2001.

### How much does a summary of a company's latest 10-K cost?

One request to `/api/v1/filing-summary/{ticker}?type=10-K` costs $0.03 per request. The 402 states the exact amount before you pay. The full document stays available at the returned `filing_url`.

### How does the dossier compare with separate calls?

The dossier is one request at $0.05 per request. The same four sections bought as separate filings, insider-trade, material-event and Form 3 requests come to $0.09. Use the dossier when you need all four sections, and the filing list when you need only the index.

### Can I pay for these calls by card?

A single call can be paid by card only when it is priced at $0.50 or more, and no SEC filings call is. To pay by card, buy prepaid Credits with an agent credential, as [the buyer skill](https://agents.x402stock.xyz/zcj/q1i80za635gx/SKILL.md) sets out.

## Keep reading

- [Buyer skill](https://agents.x402stock.xyz/zcj/q1i80za635gx/SKILL.md): the full purchase flow
- [SEC Filings & Ownership API reference](https://agents.x402stock.xyz/zcj/q1i80za635gx/services/sec-filings/openapi.json): every parameter and response field
- [SEC Filings & Ownership prices](https://agents.x402stock.xyz/zcj/q1i80za635gx/services/sec-filings): every meter by plan
- [How to pay](https://agents.x402stock.xyz/zcj/q1i80za635gx/payment.md): rails, Credits and top-ups
- [Error reference](https://agents.x402stock.xyz/zcj/q1i80za635gx/errors.md): every error code and how to respond

---

Updated 2026-10-16. All x402stock guides: https://agents.x402stock.xyz/guides.md. Storefront: https://agents.x402stock.xyz/zcj/q1i80za635gx/llms.txt.
