Identifiers, dates and provenance¶
OpenCorpFilings keeps what each regulator says and does not reinterpret it. IDs are the source's, dates are kept apart, and every object carries a pointer back to the record it came from.
Identifiers¶
| Field | Meaning | Examples |
|---|---|---|
filing.filing_id |
the source's own record ID; nothing is renumbered | SEC accession 0000320193-25-000079; EDINET document ID S100Y8NY; France diffuser:UIN 370:623156_20260408; ESEF index record 24793 |
filing.entity_id |
the source's own issuer ID | CIK, Companies House number, EDINET code, LEI |
document.document_id |
the source's or route's ID for one document | |
filing.jurisdiction |
the market code | US, UK, JP, FR, IT |
filing.provider, filing.regulator |
the route and the regulator behind it | sec / US Securities and Exchange Commission |
filing.source_url |
the filing's record or index page at the source |
The same company can have different IDs on different routes (a CIK on the SEC route, an LEI on the ESEF index) and can be reachable through more than one market. The library does not merge them.
Form type¶
| Field | Meaning |
|---|---|
filing_type_raw |
the source's own form or category code, unchanged: 10-K, AA, 120, 300005, ESEF |
filing_type_normalized |
a conservative convenience category: ANNUAL, QUARTERLY, INTERIM, CURRENT, PROSPECTUS, OWNERSHIP, OTHER (the values of FILING_CATEGORIES), or None when the source cannot justify one |
title |
the source's title or description |
The category only says which form= request selects a filing. It does not
claim that two filings in the same category have the same contents or
accounting meaning. Each market page lists the codes
behind each category.
Dates¶
A date the source does not state is None, never a guess.
| Field | Meaning | Where it comes from |
|---|---|---|
filing_date |
when the regulator received or published the filing | SEC filing date; Companies House filing history date; EDINET submission date; France publication date; None on the ESEF index and Sweden |
published_at |
the source's timestamp, where it gives one | SEC acceptance time; EDINET submission time (JST); France, Finland and Denmark publication time |
period_start, period_end |
the reporting period the filing covers, where the source states it | SEC report date; Companies House "made up to" date; EDINET period; ESEF index period end; Open DART report month; None for France |
index_added_at |
when a secondary index received the record | ESEF index only; never substituted for a filing date |
start=/end= filter on the route's source date for a filing, usually
filing_date; Japan uses EDINET's source file date
(provider_metadata["source_file_date"]). Each collection's
order_basis names the ordering it uses; see
Selecting filings.
Amendments and language¶
| Field | Meaning |
|---|---|
amendment |
True when the source flags the filing as an amendment or correction, False when it flags an original, None when it does not say |
language |
the filing's or document's language where the route knows it, such as en, ja or it; France's source labels are mapped to ISO 639-1 codes (Français → fr) and an unknown label is kept as given |
Category requests exclude amendments by default on routes that flag them; see Amendments.
Provenance¶
Every Entity, Filing, FilingDocument, FilingFact, FilingPage,
FilingTable, FilingSection and archive member has a provenance
attribute holding a Provenance record (on an Entity it can be None):
| Field | Meaning |
|---|---|
provider |
the route, such as sec or france_oam |
regulator |
the regulator or source name |
jurisdiction |
the market code |
source_url |
the exact source record or document the object came from |
source_id |
the source's ID for that record |
retrieved_at |
when the library read it (UTC), where recorded |
raw |
the source record, unchanged |
Derived objects keep pointers to their original: a FilingPage has the
document URL with a page anchor (page.source_location), a fact or table
inside a ZIP keeps the package URL and the member's path chain, and a
FilingSection keeps its document and one-based line span in
filing.text(). Text and facts are transformations of source material; their
provenance does not imply that the regulator produced the transformed
representation.
The library also checks bindings: a listed filing must belong to the
selected issuer, market and provider, and a document whose URL is changed
after selection raises DownloadError rather than attributing bytes to
another source.
Source fields passed through¶
| Attribute | Contents |
|---|---|
filing.provider_metadata |
the source's own fields for the filing, plus a few route keys such as source_file_date (JP) or matched_by (FR) |
filing.raw |
the same mapping: the source's own record, unchanged |
document.provider_metadata, entity.provider_metadata, fact.provider_metadata |
source fields for that object; for inline facts, the original format, scale and sign attributes |
provenance.raw |
the source record behind the object |
These contents are whatever the source returned, so they differ by route and can change when a source changes. They are outside the stability promise; the named fields above are inside it.
JSON and DataFrames¶
| Call | Returns |
|---|---|
filing.metadata |
a dict of the filing fields, dates as date/datetime objects |
filing.to_dict() |
the same fields JSON-safe, plus provenance_source_url and provenance_source_id |
document.to_dict() |
one JSON-safe row describing a document, without its content |
fact.to_dict() |
one JSON-safe row; value stays the filed string |
collection.to_pandas(n) |
the first n filings as a DataFrame (pandas extra) |
filing.facts_to_pandas() |
one row per fact occurrence (pandas extra) |