SEC Data Access GuideSEC 数据接入指南

Build with a free SEC filings API使用免费 SEC 申报文件 API 构建数据流程

Choose official EDGAR or a third-party free tier, distinguish filing indexes, documents, XBRL facts, and form-specific records, and preserve source-linked versions from prototype to production.

比较官方 EDGAR 与第三方免费套餐,区分申报索引、原始文档、XBRL 事实和表单专用记录,并让原型到生产环境的数据始终保留来源与版本。

Free SEC filings API decision board comparing official SEC EDGAR access with third-party free tiers across API keys, quotas, coverage, history, rate limits, source links, and licensing 免费 SEC 申报 API 决策白板,对比官方 SEC EDGAR 与第三方免费套餐的 API 密钥、月度额度、覆盖范围、历史数据、访问限制、来源链接和使用许可

Choose the right free SEC filings API path选择合适的免费 SEC 申报文件 API 路径

A free SEC filings API search usually begins with price, but the decision is really about the answer shape and engineering responsibility. Official SEC sources provide authoritative submission metadata, filing documents, XBRL facts, and downloadable datasets. A third-party free tier may add ticker lookup, full-text or section search, normalized form-specific records, webhooks, bulk exports, or SDKs while imposing account, quota, retention, and licensing rules.

搜索免费 SEC 申报 API 往往从价格开始,但真正的选择取决于结果形态和工程责任。SEC 官方来源提供权威的提交元数据、申报文档、XBRL 事实和可下载数据集;第三方免费套餐可能增加股票代码查询、全文或章节搜索、表单专用标准化记录、webhook、批量导出或 SDK,同时带来账户、额度、保存和许可规则。

Define the job before choosing the endpoint. “Latest filings for a company” needs a submissions index; “revenue by quarter” needs XBRL facts plus taxonomy and period logic; “risk-factor text” needs document retrieval and section extraction; “insider purchase” or “institutional holding” needs ownership-form parsing; “new material event” needs form and item classification. One generic filings endpoint rarely solves all five correctly.

选择端点前,应先定义任务。“查询某公司最新申报”需要 submissions 索引;“按季度获取收入”需要 XBRL 事实、分类标准和期间逻辑;“提取风险因素”需要获取文档并解析章节;“内部人买入”或“机构持仓”需要解析所有权表单;“识别新的重大事件”则需要表单与项目分类。一个通用 filings 端点通常无法同时正确解决这五类问题。

Use official EDGAR when provenance comes first来源权威优先时使用官方 EDGAR

Keep control of ingestion, caching, document retrieval, and normalization while linking every record to the SEC source.自行控制采集、缓存、文档获取与标准化,并让每条记录链接到 SEC 原始来源。

Use a free tier when speed matters快速原型可考虑第三方免费套餐

A provider can reduce setup work with ticker search, consistent schemas, extracted sections, or client libraries.服务商可通过股票代码搜索、统一结构、章节提取或客户端库减少前期工作。

Keep form-specific tasks separate把单表格任务分开处理

A filing index is not the same as normalized 10-K financials, Form 4 transactions, or 13F holdings.申报索引不等同于标准化的 10-K 财务数据、Form 4 交易或 13F 持仓。

Validate before production生产接入前完成验证

Test pagination, amendments, missing tickers, historical files, 429 responses, and source URL persistence.测试分页、修订、缺失股票代码、历史文件、429 响应与来源 URL 保存。

What the official free SEC EDGAR API providesSEC EDGAR 官方免费 API 提供什么

The SEC EDGAR API documentation describes public JSON endpoints on data.sec.gov for submissions history and extracted XBRL data. These endpoints do not require an API key, but automated clients must identify themselves and follow current SEC access and security policies. Filing archives and primary documents live under SEC archive paths and should be linked by CIK, accession, and document name rather than treated as anonymous HTML pages.

SEC EDGAR API 官方文档说明了 data.sec.gov 上的公开 JSON 端点,包括申报历史与提取后的 XBRL 数据。这些端点无需 API 密钥,但自动化客户端必须标识自身并遵守 SEC 当前访问与安全政策。申报档案和主文档位于 SEC archive 路径中,应通过 CIK、申报编号和文档名建立关联,不能把它们当作没有身份的普通 HTML 页面。

Submissions JSON is a filing index, not the filing bodySubmissions JSON 是申报索引,不是申报正文

The company submissions response contains recent form types, filing and report dates, accession numbers, primary documents, and references to older submissions files. A complete backfill must follow those older-file references, handle amendments as separate filings, and preserve the sequence in which filings became public. The index tells you what exists; it does not contain every document, exhibit, inline XBRL fact, or narrative section.

公司 submissions 响应包含近期表单类型、提交与报告日期、申报编号、主文档,以及指向更早 submissions 文件的引用。完整回填必须继续读取这些历史文件引用,把修订作为独立申报处理,并保留文件公开的先后顺序。索引只能说明“有哪些申报”,并不包含所有文档、附件、内联 XBRL 事实或叙述章节。

XBRL endpoints answer fact-level questionsXBRL 端点用于事实级查询

Companyfacts, companyconcept, and frames expose machine-readable facts. They help with standardized metrics, but each fact still has taxonomy, unit, period, form, filed date, accession, and sometimes segment or dimensional context. Selecting “the latest value” without duration-versus-instant logic or amendment handling can mix incompatible facts. XBRL also does not replace narrative sections, exhibits, signatures, or ownership-form fields.

companyfacts、companyconcept 与 frames 提供机器可读事实,但每个事实仍带有分类标准、单位、期间、表单、提交日、申报编号,有时还包含分部或维度语境。如果不区分期间型与时点型事实,也不处理修订,直接选择“最新值”可能混入不可比数据。XBRL 同样不能替代叙述章节、附件、签名或所有权表单字段。

Model a source-linked SEC filing request设计保留来源的 SEC 申报请求模型

1. Resolve ticker to CIK1. 把股票代码解析为 CIK

CIK is the stable SEC entity identifier. Normalize it to the format required by the endpoint and store it alongside the ticker instead of treating ticker symbols as permanent identifiers.

CIK 是稳定的 SEC 实体标识。应按端点要求规范化 CIK,并与股票代码一起保存,不要把股票代码当作永久标识。

2. Filter by form and date2. 按表格与日期筛选

Separate filing date from report period, include amendments deliberately, and decide whether the application needs metadata, the primary HTML document, exhibits, or XBRL facts.

区分申报日期与报告期,明确是否纳入修订,并判断应用需要元数据、主 HTML 文档、附件还是 XBRL facts。

3. Preserve accession number and source URL3. 保留 accession number 与来源 URL

Store the raw response next to normalized fields. The accession number, form, filing date, CIK, retrieval time, and official SEC URL form the minimum useful provenance record.

将原始响应与标准化字段一起保存。accession number、表格类型、申报日期、CIK、获取时间和 SEC 官方 URL 构成最小可用来源记录。

4. Treat documents, exhibits, facts, and extracted sections as separate layers4. 把文档、附件、事实和提取章节分层保存

Store the filing index, raw primary document, exhibit inventory, structured facts, and derived section text independently. Each derived artifact should point to source accession, document, parser version, and extraction range. This prevents a parser update from silently changing the authoritative filing record.

申报索引、原始主文档、附件清单、结构化事实和派生章节文本应分别保存。每个派生产物都要指向来源申报编号、文档、解析器版本和提取范围,避免解析器升级时静默改变权威申报记录。

5. Build point-in-time versions, not one mutable “latest” row5. 建立时点化版本,而不是一条可变的“最新”记录

Keep original filings and amendments in filing-time order, then derive a current view and an as-known-at-time view. Research backtests should see only filings public by the analysis timestamp; production applications can separately expose the latest corrected state.

原始申报与修订应按照公开时间保留,再分别生成当前视图和“当时可知”视图。历史研究只能看到分析时点以前已经公开的文件;生产应用则可另行提供最新更正后的状态。

SEC filing clocks, processing states, and amendment historySEC 申报时间、处理状态与修订历史

A filing record needs more than one date. The report period describes the business period covered; the filing date is a calendar-level filing field; the SEC acceptance timestamp records when the submission entered EDGAR; retrieval time records when your system obtained it. A parsed fact can become available later than the raw document. Keep these clocks separate so an alert, backtest, and current dashboard can each use the correct one.

一条申报记录不能只有一个日期。报告期说明文件覆盖的经营期间;申报日是日历层面的提交字段;SEC 受理时间表示文件何时进入 EDGAR;抓取时间表示系统何时取得文件。结构化事实通常还会晚于原始文档完成解析。只有把这些时间分别保存,提醒、历史研究和当前看板才能使用各自正确的时点。

1. Indexed

Submission metadata identifies the accession, form, dates and document names. This proves an index record exists, not that every artifact has been downloaded.

2. Retrieved

The primary document and required exhibits were fetched, hashed and linked to the accession. A failed exhibit download remains partial, not an empty filing.

3. Parsed

A named parser version produced sections or facts. Store warnings, unsupported tables and source offsets; parser success is not the same as financial validation.

4. Validated

Schema, periods, units, totals, amendment lineage and source links passed explicit checks. Publish the validation state and unresolved exceptions with derived values.

1. 已建立索引

申报元数据已经给出申报编号、表单、日期和文档名。这只能证明索引记录存在,不能证明全部文件已经下载。

2. 已获取原始文件

主文档和所需附件已经下载、计算哈希并关联到申报编号。某个附件下载失败时,状态应为“部分完成”,而不是返回空申报。

3. 已完成解析

指定版本的解析器生成了章节或事实。应保存警告、不支持的表格和来源位置;解析成功不等于财务数据已经验证。

4. 已通过验证

字段结构、期间、单位、合计、修订链和来源链接通过明确检查。派生数值还应同时公开验证状态与未解决异常。

Worked example: keep original and amended values side by side.

A 10-Q accepted on August 1 reports a metric of $120 million. A 10-Q/A accepted on August 20 corrects it to $112 million for the same report period. The as-known view for August 10 must still return $120 million with the original accession; the current corrected view can return $112 million with the amendment accession and a link to the superseded value. Overwriting the original row makes the correction appear knowable nineteen days too early.

修订示例:原始值与更正值需要并存。

某份 10-Q 于 8 月 1 日被 SEC 受理,其中一项指标为 1.20 亿美元;8 月 20 日受理的 10-Q/A 把同一报告期的数值修正为 1.12 亿美元。查询“8 月 10 日当时可知信息”时,仍应返回原始申报编号对应的 1.20 亿美元;当前更正视图可以返回 1.12 亿美元,同时关联修订文件和被替代的旧值。如果直接覆盖原始记录,就等于让这次修正在实际公开前 19 天提前可知。

Compare free SEC filing data API limits比较免费 SEC 申报数据 API 的边界

Decision check检查项Official SEC EDGAR官方 SEC EDGARThird-party free tier第三方免费套餐
Authentication鉴权No API key; identify the client.无需 API 密钥;需标识客户端。Usually account and API key.通常需要账户与 API 密钥。
Data shape数据结构Source JSON, documents, XBRL facts.原始 JSON、申报文档和 XBRL facts。May add normalized records and search.可能提供标准化记录与搜索能力。
Free boundary免费边界Public access under current policy.可按 SEC 当前政策公开访问。Quota, endpoint, history, or trial limits.可能存在调用额度、端点范围、历史数据或试用期限限制。
Must verify必须核对Client identity, caching, pacing, endpoint semantics.客户端标识、缓存策略、请求频率与端点语义。Quota, freshness, provenance, license, export rights.调用额度、数据新鲜度、来源追溯、使用许可和导出权。
Historical completeness历史完整性Recent and older submissions files, archives, amendments, primary documents and exhibits require your ingestion logic.近期与历史 submissions 文件、archive、修订、主文档和附件需要自行采集。Verify oldest date, included forms, amendments, deleted or reprocessed records, and bulk access.核对最早日期、表单范围、修订、删除或重处理记录和批量访问。
Derived content派生内容You own parsing, section boundaries, taxonomy logic, and parser versions.章节解析、边界、分类逻辑和解析器版本由自身负责。Verify extraction method, evidence offsets, correction policy, and whether output is provider-derived.核对提取方法、证据位置、更正规则,以及输出是否由供应商派生。
Source portability来源可迁移性Official identifiers and documents remain available under SEC policy.官方标识和文档可按 SEC 政策访问。Check whether raw filings, source URLs, normalized exports, and cached history can leave the service.检查原始申报、来源 URL、标准化导出和缓存历史能否迁出服务。

Build a resilient SEC filings API Python client用 Python 构建可靠的 SEC 申报 API 客户端

Create one request layer that sets a descriptive User-Agent, timeout, and accepted response type. Add conservative pacing, conditional or immutable caching where appropriate, honor Retry-After, and retry temporary failures with jittered exponential backoff. Treat 403, 404, 429, and 5xx responses as different operational states rather than returning an empty dataset.

建立统一请求层,设置说明性 User-Agent、超时时间与预期响应格式。控制请求节奏,按资源性质使用条件缓存或不可变缓存,遵守 Retry-After,并对临时故障使用带随机抖动的指数退避。应分别处理 403、404、429 和 5xx,而不能一律返回空数据。

  • Resolve and store CIK as a string, with effective-dated ticker mappings rather than a permanent ticker assumption.
  • Ingest recent submissions and referenced older files, then reconcile accessions, forms, filing dates, report dates, and primary documents.
  • Fetch and hash raw filing artifacts before parsing; keep parser and taxonomy versions with every derived record.
  • Use bounded queues and global pacing across workers so parallel backfills still respect current access policy.
  • Reconcile daily additions and amendments, and alert on unexplained accession disappearance, document changes, or parser row loss.
  • Publish source URL, accession, form, filed date, report period, retrieval time, and derivation status with downstream answers.
  • 把 CIK 以字符串保存,并使用带有效期的股票代码映射,不能假设 ticker 永久不变。
  • 采集近期 submissions 和其引用的历史文件,再核对申报编号、表单、提交日、报告期和主文档。
  • 解析前先获取并计算原始申报产物的哈希;每条派生记录都应带解析器与分类版本。
  • 即使并行回填,也要通过有界队列和全局节奏控制遵守当前访问政策。
  • 每日核对新增与修订,并对申报编号异常消失、文档变化或解析行丢失发出提醒。
  • 下游回答应附带来源 URL、申报编号、表单、提交日、报告期、获取时间和派生状态。

For form-specific implementation details, use the QVeris guides for 10-K data, 10-Q data, and 8-K events.

如需单表格实现细节,请参考 QVeris 的 10-K 数据10-Q 数据8-K 事件指南。

Use QVeris to inspect SEC data capabilities使用 QVeris 检查 SEC 数据能力

QVeris helps developers and AI agents discover available capabilities before making a call. Open the QVeris tool details by job—submissions metadata, filing documents, company facts, filing sections, ownership records, or event alerts—then inspect CIK and ticker inputs, form and date filters, source evidence, historical coverage, amendments, pagination, derivation status, limits, and provider terms. The QVeris documentation explains the discovery and calling flow.

QVeris 帮助开发者和 AI Agent 在调用前发现可用能力。可在 QVeris 工具详情中按照任务搜索 submissions 元数据、申报文档、公司事实、申报章节、所有权记录或事件提醒,再检查 CIK 与 ticker 参数、表单与日期筛选、来源证据、历史覆盖、修订、分页、派生状态、限额和供应商条款。发现与调用流程请参考 QVeris 文档

FAQ

Is there a free API for SEC filings?

Yes. The SEC publishes public submissions and XBRL APIs without an API key, along with filing archives and datasets. Third-party free tiers differ in normalization, search, quotas, and rights.

Does the official EDGAR API require an API key?

Public data.sec.gov endpoints do not require one. Automated clients should identify themselves, follow current SEC access policies, pace requests, and cache responsibly.

Can I query filings by ticker?

Resolve ticker to CIK and retain an effective-dated mapping. Third parties may automate this, but CIK, accession, form and document identity should remain in stored records.

Is submissions JSON the full filing?

No. It is an index containing metadata and document references. Fetch the primary document and required exhibits separately; follow older-submission references for complete history.

Are XBRL company facts the same as financial statements?

No. They are tagged facts with taxonomy, unit, period, form and source context. Statement presentation, narrative, custom tags, dimensions, and amendment logic require additional work.

How should amendments be stored?

Keep each accession and raw artifact in filing-time order, then derive current and point-in-time views. Never overwrite the original filing with the amended result.

How do I compare free SEC filing APIs?

Test metadata, full documents, an amendment, an older filing, XBRL facts, form-specific records, provenance, pagination, latency, exports, licensing, and failure behavior.

SEC 申报文件有免费 API 吗?

有。SEC 提供无需 API 密钥的公开 submissions 与 XBRL 接口、申报 archive 和数据集;第三方免费套餐在标准化、搜索、额度和权限上各不相同。

EDGAR 官方 API 需要密钥吗?

公开 data.sec.gov 端点无需密钥。自动化客户端应标识自身、遵守当前 SEC 访问政策、控制请求节奏并合理缓存。

可以按股票代码查询申报吗?

应先把 ticker 解析为 CIK,并保留带有效期的映射。第三方可以自动处理,但记录中仍应保存 CIK、申报编号、表单和文档身份。

Submissions JSON 是完整申报吗?

不是。它属于包含元数据与文档引用的索引。主文档和所需附件需另行获取;完整历史还要继续读取其引用的早期 submissions 文件。

XBRL company facts 等于财务报表吗?

不等于。它们是带分类、单位、期间、表单和来源语境的标签事实;报表展示、叙述、自定义标签、维度和修订仍需额外处理。

修订申报应该怎样保存?

按照公开时间保留每个申报编号和原始产物,再生成当前视图与时点化视图,不能用修订结果覆盖原文件。

如何比较免费 SEC 申报 API?

应测试元数据、完整文档、修订、历史申报、XBRL 事实、表单专用记录、来源、分页、延迟、导出、许可和失败行为。