API reference

Base URL https://secfeedapi.com. Authenticate with Authorization: Bearer YOUR_KEY or ?token=YOUR_KEY. Get a key from your dashboard. Responses are JSON unless noted.

Python SDK

Stdlib only, Python 3.8+.

from secfeed import Client
sf = Client("YOUR_KEY")
sf.filings('ticker:AAPL AND formType:"10-K"')
sf.insider_trades(ticker="NVDA", code="P")
for filing in sf.stream(form_types=["8-K"]):
    print(filing["companyName"], filing["formType"])

MCP setup

Add SecFeed to Claude Desktop, Cursor or any MCP client over HTTP:

{"mcpServers": {"secfeed": {"url": "https://secfeedapi.com/mcp",
  "headers": {"Authorization": "Bearer YOUR_KEY"}}}}

Search & retrieve

GET|POST/v1/filings

Search every EDGAR filing since 1993 with a Lucene-style query over ticker, cik, formType, filedAt, companyName, accessionNo, sic, state, items (8-K) and periodOfReport.

Parameters: query, from, size (max 200), sort=asc|desc

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/filings?query=ticker:AAPL AND formType:"10-K"&size=5"
GET/v1/filings/csv

Filing search results as CSV (up to 200 rows).

Parameters: query, size

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/filings/csv?query=formType:"S-1" AND filedAt:[2026-09-01 TO 2026-09-30]"
GET/v1/stream

Server-Sent Events: each new filing the moment EDGAR publishes it.

Parameters: formTypes, ciks

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/stream?formTypes=8-K,4"
GET/v1/stream/latest

The latest filings seen by the stream, each with seenAt and latencyMs.

Parameters: size

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/stream/latest?size=20"
GET/v1/stream/latency

Measured delivery latency (p50, p90, p99) from EDGAR acceptance to SecFeed, last N hours.

Parameters: hours

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/stream/latency?hours=24"
POST/v1/webhooks

Push new filings to your HTTPS endpoint.

Parameters: JSON body: {"url", "formTypes": [], "ciks": []}

curl -X POST -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/webhooks" -d '{...}'
GET/v1/ingestion-log

Filings EDGAR published on a day, counted by form type.

Parameters: date

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/ingestion-log?date=2026-10-09"
GET/v1/files

Every file in a filing: documents, exhibits, XBRL, images.

Parameters: cik, accessionNo

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/files?cik=320193&accessionNo=0000320193-26-000020"
GET/v1/download

Any EDGAR archive file as filed.

Parameters: url

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/download?url=https://www.sec.gov/Archives/edgar/data/320193/000032019326000020/0000320193-26-000020-index.htm"
GET/v1/pdf

Any filing or exhibit rendered to PDF.

Parameters: url

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/pdf?url=https://www.sec.gov/Archives/edgar/data/1045810/000104581026000078/0001045810-26-000078-index.htm"
GET/v1/bulk

Catalog of bulk datasets and months.

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/bulk"
GET/v1/bulk/download

A dataset month as gzipped JSON Lines.

Parameters: dataset, month, formType

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/bulk/download?dataset=insider-transactions&month=2026-10"

Extraction & financials

GET/v1/extractor

One item of a 10-K (1, 1A, 7...), 10-Q (part1item2, part2item1a...) or 8-K (2-2, 5-2...) as text or html.

Parameters: url, item, type=text|html

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/extractor?url=https://www.sec.gov/Archives/edgar/data/1045810/000104581026000021/0001045810-26-000021-index.htm&item=1A"
GET/v1/xbrl-to-json

Every statement of a filing from its XBRL, in the company's order, plus the cover page.

Parameters: accessionNo | htmUrl | xbrlUrl, cik, notes=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/xbrl-to-json?accessionNo=0000320193-26-000020&cik=320193"
GET/v1/financial-statements

Income statement, balance sheet, cash flow (totals) for the latest n 10-K or 10-Q.

Parameters: ticker | cik, formType, n

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/financial-statements?ticker=NVDA&formType=10-K"
GET/v1/financial-statements/xlsx

One filing's statements as an Excel workbook: a sheet per statement, periods as columns.

Parameters: accessionNo, cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/financial-statements/xlsx?accessionNo=0000320193-26-000020&cik=320193"
GET/v1/xbrl/company-facts

Every XBRL fact a company has reported.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/xbrl/company-facts?ticker=MSFT"
GET/v1/xbrl/company-concept

One concept over time for a company.

Parameters: ticker | cik, concept, taxonomy

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/xbrl/company-concept?ticker=AAPL&concept=Revenues"
GET/v1/xbrl/frames

One concept across all companies for a period.

Parameters: concept, period (CY2025, CY2025Q4I), unit

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/xbrl/frames?concept=Assets&period=CY2025Q4I"

Ownership & insiders

GET/v1/insider-trading

Forms 3, 4, 5: every transaction and holding with owners, roles, prices, footnotes, 10b5-1 flag.

Parameters: ticker, cik, owner, code (P,S,A,M...), minValue, startDate, endDate, formType, table, from, size

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/insider-trading?code=P&minValue=100000"
GET/v1/form-144

Proposed sales of restricted and control securities: flat fields (seller, relationship, shares, market value, broker, sale date, past 3 months of sales).

Parameters: cik, startDate, endDate, flat.<field>=value, fields=flat

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-144?flat.aggregateMarketValue__gte=1000000&fields=flat"
GET/v1/form-13f

13F-HR cover pages and information tables (every field).

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-13f?cik=1067983"
GET/v1/form-13f/holdings

13F positions as rows: issuer, CUSIP, value, shares, put/call, voting authority.

Parameters: cusip, cik, period

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-13f/holdings?cusip=037833100"
GET/v1/form-13d-13g

Schedules 13D and 13G: issuer, CUSIPs, each reporting person's voting and dispositive power and percent of class, purpose of transaction.

Parameters: cik, startDate, endDate, formType, flat.maxPercentOfClass__gte, fields=flat

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-13d-13g?formType=SCHEDULE 13D&flat.maxPercentOfClass__gte=10"

Material events (8-K)

GET/v1/form-8k

8-K filings classified by item, with item text on request.

Parameters: item (1.01...9.01), cik, startDate, endDate, text=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k?item=1.05&text=true"
GET/v1/form-8k/material-agreements

8-K Item 1.01 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/material-agreements"
GET/v1/form-8k/agreement-terminations

8-K Item 1.02 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/agreement-terminations"
GET/v1/form-8k/bankruptcy

8-K Item 1.03 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/bankruptcy"
GET/v1/form-8k/cybersecurity-incidents

8-K Item 1.05 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/cybersecurity-incidents"
GET/v1/form-8k/acquisitions

8-K Item 2.01 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/acquisitions"
GET/v1/form-8k/earnings-results

8-K Item 2.02 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/earnings-results"
GET/v1/form-8k/delisting-notices

8-K Item 3.01 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/delisting-notices"
GET/v1/form-8k/auditor-changes

8-K Item 4.01 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/auditor-changes"
GET/v1/form-8k/restatements

8-K Item 4.02 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/restatements"
GET/v1/form-8k/executive-changes

8-K Item 5.02 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/executive-changes"
GET/v1/form-8k/shareholder-votes

8-K Item 5.07 feed with the item text.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-8k/shareholder-votes"

Company data

GET/v1/executive-compensation

Summary Compensation Table from the latest proxy: salary, bonus, awards, total by executive and year.

Parameters: ticker | cik, accessionNo

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/executive-compensation?ticker=MSFT"
GET/v1/directors

Board members: director compensation, age, director since.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/directors?ticker=NVDA"
GET/v1/audit-fees

Audit, audit-related, tax and other fees by year.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/audit-fees?ticker=NVDA"
GET/v1/auditor

Auditor name, location, PCAOB firm ID.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/auditor?ticker=AAPL"
GET/v1/subsidiaries

Subsidiaries and jurisdictions from Exhibit 21.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/subsidiaries?ticker=AAPL"
GET/v1/shares-outstanding

Shares outstanding and public float over time.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/shares-outstanding?ticker=TSLA"
GET/v1/pay-vs-performance

Pay versus performance by fiscal year (PEO and other NEO pay, compensation actually paid, TSR, net income, company-selected measure) plus insider-trading-policy and award-timing disclosures.

Parameters: ticker | cik, accessionNo

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/pay-vs-performance?ticker=NVDA"
GET/v1/equity-dilution

Shares authorized, issued, outstanding, treasury, basic vs diluted, stock comp, buybacks, equity plan capacity.

Parameters: ticker | cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/equity-dilution?ticker=AAPL"
GET/v1/shareholder-meetings

Annual meeting date, record date, ballot items, and the 8-K 5.07 vote results.

Parameters: ticker | cik, accessionNo

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/shareholder-meetings?ticker=AAPL"
GET/v1/mergers-acquisitions

Merger proxies, S-4/F-4, 425 communications, tender offers, 14D-9, going-private filings.

Parameters: ticker | cik, formType, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mergers-acquisitions?startDate=2026-10-01"
GET/v1/entities

EDGAR entity profile: SIC, addresses, state, fiscal year end, former names.

Parameters: cik (or ticker)

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/entities?cik=NVDA"

Offerings

GET/v1/ipo

S-1, F-1, S-11, 424B4 with offering terms: shares, price, ticker, exchange, proceeds, underwriters.

Parameters: formType, cik, startDate, endDate, terms

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/ipo?formType=424B4"
GET/v1/form-d

Reg D private placements: flat fields (issuer, industry, offering and sold amounts, investors, exemptions, related persons) plus every original field.

Parameters: cik, startDate, endDate, flat.<field>=value, flat.<field>__gte/__lte, data.<path>=value, fields=flat

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-d?flat.totalOfferingAmount__gte=10000000&fields=flat"
GET/v1/form-c

Reg CF crowdfunding offerings and reports.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-c"
GET/v1/reg-a

Reg A: 1-A offerings, 1-K annual, 1-Z exit reports.

Parameters: cik, startDate, endDate, formType

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/reg-a"

Funds, advisers & broker-dealers

GET/v1/n-port

Fund portfolio holdings (N-PORT, every field).

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/n-port?startDate=2026-10-01"
GET/v1/n-cen

Fund annual census (N-CEN).

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/n-cen"
GET/v1/n-px

Proxy voting records (N-PX).

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/n-px"
GET/v1/form-adv/firms

Investment adviser firms: search, or one firm by CRD with registration, offices, filings, brochures.

Parameters: query | crd

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-adv/firms?crd=105958"
GET/v1/form-adv/individuals

Investment adviser representatives.

Parameters: query | crd

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/form-adv/individuals?query=john smith"
GET/v1/fund-fees

Fee tables for every series and share class: management fee, 12b-1, total and net expense ratios, sales charges, expense examples.

Parameters: cik (trust), accessionNo

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/fund-fees?cik=36405"
GET/v1/x-17a-5

Broker-dealer annual reports: cover data and the audited report PDF.

Parameters: cik, startDate, endDate

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/x-17a-5"

Enforcement & regulatory

GET/v1/enforcement/litigation-releases

SEC civil actions filed in federal court.

Parameters: page, details=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/enforcement/litigation-releases"
GET/v1/enforcement/administrative-proceedings

SEC administrative orders and proceedings.

Parameters: page, details=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/enforcement/administrative-proceedings"
GET/v1/enforcement/aaer

Accounting and Auditing Enforcement Releases.

Parameters: page, details=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/enforcement/aaer"
GET/v1/enforcement/press-releases

SEC press releases, including enforcement actions.

Parameters: page, details=true

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/enforcement/press-releases"
GET/v1/enforcement/sro-filings

SRO rule filings: FINRA, MSRB, DTC, exchanges, clearing agencies. Omit org to list them.

Parameters: org, page

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/enforcement/sro-filings?org=finra"

Reference

GET/v1/mapping/ticker

Ticker to CIK, name, exchange.

Parameters: ticker

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/ticker?ticker=BRK-B"
GET/v1/mapping/cik

CIK to tickers.

Parameters: cik

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/cik?cik=320193"
GET/v1/mapping/cusip

CUSIP to issuer and ticker.

Parameters: cusip

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/cusip?cusip=743315103"
GET/v1/mapping/name

Company name search.

Parameters: name

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/name?name=apple"
GET/v1/mapping/exchange

Every listed company on an exchange.

Parameters: exchange (NYSE, Nasdaq, CBOE, OTC)

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/exchange?exchange=NYSE"
GET/v1/mapping/sic

Companies by SIC industry code.

Parameters: sic, from

curl -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/v1/mapping/sic?sic=3674"

AI agents

POST/mcp

MCP server over HTTP (JSON-RPC). Or run locally over stdio: python3 -m fw.mcp. 18 tools covering every API above.

Parameters: JSON-RPC body

curl -X POST -H "Authorization: Bearer $FW_KEY" "https://secfeedapi.com/mcp" -d '{...}'