Methodology: US SEC Filings & Financial Data
Companies and filings come from the SEC's EDGAR submissions data and financial metrics from its XBRL companyfacts data, both loaded nightly from the SEC's bulk archives. Values are as filed: each metric is taken from a fixed, ordered list of XBRL concepts, the latest filed value wins, and the first reported value is kept when it was restated. A release is published only after format, uniqueness, unit and benchmark checks pass.
By New Odyssey · Published · Markdown
Sources
| Dataset | Source | Release | Refresh |
|---|---|---|---|
delphi.companies | EDGAR submissions (nightly bulk archive; JSON API for selected companies), U.S. Securities and Exchange Commission | As of the archive build date (source_date) | Nightly; stale after 3 days |
delphi.filings | EDGAR submissions | As of the archive build date | Nightly; stale after 3 days |
delphi.financial_metrics | XBRL companyfacts (nightly bulk archive; JSON API for selected companies) | As filed; latest filed value, with the first reported value on restatement | Nightly; stale after 3 days |
How values are produced
- Filings: 10-K, 10-K/A, 10-Q and 10-Q/A metadata only (no document text), each with its EDGAR filing index as evidence.
- Metrics: eight metrics, each mapped to an ordered list of
us-gaapordeiconcepts; for each period the first concept with a value wins and is returned inconcept. The full mapping is in Get SEC financial statements as JSON. - Periods are identified by their dates, not by the filing's fiscal-year tags, because a 10-K also carries earlier years as comparatives. Annual values must cover 350 to 380 days, quarterly values 80 to 100 days; quarterly operating cash flow falls back to the year-to-date value (
is_ytd: true). - Restatements: the fact from the latest filing wins; the earliest one is kept in
first_reported, withis_restatedwhen they differ. - Nothing is derived: no Q4 from annual minus quarters, no liabilities from assets minus equity.
- EIN and LEI are kept only where EDGAR publishes a valid one; the EIN is filer supplied and not verified by the SEC.
Validation checks
Every release runs the dataset's required checks before it can become active. A blocking check that fails stops the release, and the previous one keeps serving. Records that did not change keep their original published_at, and every record carries a provenance block with its source_url, the source snapshot it was read from and the validation status of its release.
| Check | What it guards |
|---|---|
row_count_range, row_count_vs_previous | Row counts within bounds, and no drop of more than 10% against the active release |
unique_record_id, required_fields_present | One row per record key; no missing required fields |
cik_format, accession_format, form_allowed, dates_not_future | Identifiers and forms are well formed; no dates in the future |
rejected_records, parse_errors | Rejected or unparseable source records stay under a small share (facts with mistyped future period ends are rejected and counted) |
metric_unit_sanity | Each metric is in its unit (USD, USD/shares, shares) |
benchmark_accuracy | Reviewed annual revenue and net income values for benchmark companies must match on value, unit, fiscal year and period end (99% or better) |
ticker_uniqueness | Tickers shared by several companies stay within a tolerance |
metric_value_sanity | Non-blocking: flags implausible values for review |
Known limits
- As filed: XBRL tagging errors in a filing are passed through; check
evidence_url. - No Q4 values; quarterly operating cash flow is usually year-to-date.
- A company that tags none of a metric's concepts returns an empty series for it.
- Periods older than a company's first XBRL filing are not covered.
- Not included: real-time filing streams, full-text search of filings, insider trading (Forms 3, 4 and 5), ownership, analyst recommendations or estimates.
Data from SEC EDGAR. Olympus is not affiliated with or endorsed by the U.S. Securities and Exchange Commission.
Sources
- U.S. Securities and Exchange Commission: EDGAR Application Programming Interfaces (APIs)