SEC bulk XBRL data¶
Source¶
The SEC publishes the Financial Statement and Notes Data Sets as periodic bulk downloads. Each release contains tab-separated, normalized tables extracted from the XBRL submitted with SEC filings. A mounted example is available at /data/2025q1_notes/.
The source is relational rather than a single firm-year panel. Facts, filing identity, concepts, dimensions, and presentation/calculation relationships are stored separately and are linked primarily through the accession number (adsh) and concept identifier (tag, version).
Raw tables¶
| SEC table | Grain | Main content |
|---|---|---|
sub.tsv |
Filing (adsh) |
Submission, issuer, form, reporting-period, filing-date, and acceptance metadata. |
num.tsv |
Numeric XBRL fact | Numeric value and its original XBRL context, including concept, date, duration, unit, dimensions, and footnote fields. |
txt.tsv |
Text XBRL fact | Text fact and its original XBRL context. |
tag.tsv |
Concept (tag, version) |
Standard/custom status, data type, labels, documentation, and accounting attributes. |
pre.tsv |
Filing presentation relationship | How a fact is presented in a filing: report, line, statement, label, and role. |
cal.tsv |
Filing calculation arc | Parent-child calculation relationships and weights/sign information. |
dim.tsv |
Dimension hash | Human-readable segment and dimensional members associated with dimh. |
ren.tsv |
Filing report | Report, statement, and role names that enrich presentation records. |
Keys and reporting contexts¶
adsh identifies a specific SEC submission, rather than a company or reporting period. cik identifies the SEC registrant. A single filing can contain many facts, and the same firm/reporting-date combination can appear in a later amendment or another filing.
The XBRL fact context is essential:
tagandversionidentify the concept;ddateis the end date reported by the fact;qtrsis the duration in quarters for duration facts;uomis the unit, such as USD or shares;dimh,dimn, andcoregdescribe the dimensional context;iprx,durp,datp, anddcmlpreserve additional instant/duration, data-type, and decimal attributes.
filed and accepted come from the submission table and measure when the SEC received the filing. They are not substitutes for ddate.
Standard and custom concepts¶
US-GAAP concepts generally use a us-gaap/... taxonomy version. A filer can also define custom concepts, whose tags, labels, documentation, and relationships are supplied in the filing data. Custom tags therefore require filing-specific interpretation; the same spelling need not represent an identical economic construct across issuers or years.
Tags versus labels¶
A tag is the machine-readable XBRL concept identifier, such as AdvertisingExpense. Together, tag and version identify the taxonomy concept applied to a fact. Tags are the stable fields used to join numeric facts, text facts, concept definitions, presentation relationships, and calculation relationships.
A label is human-readable text associated with a concept. Labels need not match a tag's camel-case name, and they are not necessarily unique. Several kinds of labels are relevant in the SEC data:
| Field | Source | Meaning |
|---|---|---|
tlabel |
tag.tsv / concepts.parquet |
The taxonomy's standard label for a concept. |
doc |
tag.tsv / concepts.parquet |
The taxonomy or filer documentation/definition. |
plabel |
pre.tsv / presentation.parquet |
The display label used at a particular filing presentation location. |
longname, shortname |
ren.tsv / presentation.parquet |
Names for the report or presentation role in which a concept appears. |
Thus, a fact tagged AdvertisingExpense may appear to readers under a filing-specific label such as “Marketing and advertising,” and two different tags can be displayed with similar labels. A label is useful evidence about presentation and economic meaning, but it does not replace the tag as the fact identifier. The final project data retain both concept metadata and the available filing presentation labels for this reason.
Axes, members, and segments¶
An XBRL fact can be reported for the consolidated company or for a more specific dimensional context. A dimension consists of an axis and one or more members. For example, an issuer may report revenue by a product axis with product members, or assets by a geographical axis with country members.
Business segments are one common dimensional use, but they are not synonymous with all XBRL dimensions. Dimensions can also identify products, geographies, major customers, legal entities, classes of stock, or other filer-specific breakdowns. A fact with a segment-like label should therefore be interpreted from its full axis/member context rather than from the word “segment” alone.
Marketing and advertising examples¶
The following are common XBRL patterns an analyst could encounter. They illustrate the structure of a fact; they do not imply that every issuer uses the same axis or that the reported amounts are comparable without reviewing the filing.
| Fact tag | Axis | Member | Illustrative meaning |
|---|---|---|---|
AdvertisingExpense |
StatementBusinessSegmentsAxis |
ConsumerProductsSegmentMember |
Advertising expense reported for the consumer-products business segment rather than for the consolidated company. |
MarketingAndAdvertisingExpense |
GeographicAreasAxis |
UnitedStatesMember |
Marketing and advertising expense attributed to the United States geographic area. A second fact for another country is not necessarily a complete global breakdown. |
SellingAndMarketingExpense |
ProductOrServiceAxis |
CloudServicesMember |
A selling-and-marketing subtotal assigned to a particular product or service line. This is broader than advertising alone. |
AdvertisingExpense |
custom AdvertisingChannelAxis |
custom DigitalAdvertisingMember |
A filer-defined breakdown of advertising by channel, such as digital, television, or print. Both the axis and members may be custom concepts. |
MarketingExpense |
custom CustomerTypeAxis |
DirectToConsumerMember |
A filer-defined distinction between direct-to-consumer and business-to-business marketing. |
StatementBusinessSegmentsAxis, GeographicAreasAxis, and ProductOrServiceAxis illustrate common standard taxonomy patterns; a preparer may instead use a different standard axis or a custom axis. The last two rows are deliberately custom examples: advertising-channel and customer-type detail is often issuer-specific rather than a standard US-GAAP breakdown.
For example, an issuer can report a consolidated AdvertisingExpense fact of $100 and also two segment facts of $60 and $40. Those three rows are overlapping views of the same disclosure, not three expenses totaling $200. Conversely, the issuer could report only one segment fact, or could use a broad SellingAndMarketingExpense tag for its segment facts and a narrower advertising tag only at the consolidated level. The researcher must use the tag, axis/member context, unit, duration, and filing presentation together.
The SEC data preserve this context as follows:
| Field | Meaning |
|---|---|
dimh |
Hash identifying the fact's dimensional context. |
dim.tsv |
Lookup from the dimension hash to readable dimensional/segment information in the bulk download. |
dimn, coreg |
Additional dimensional and co-registrant context carried with the fact. |
segments, segt |
Readable segment/dimension information added by the pre-project Parquet normalization. |
Dimensioned facts should not be mechanically added to consolidated facts or to each other. The same filing may contain a consolidated amount, a set of disaggregated amounts, and other overlapping contexts for the same tag and date. The project retains all original contexts and leaves any aggregation or selection rule to the researcher.
Why relationships matter¶
The raw numeric table does not by itself say whether a custom tag is an advertising expense, a marketing subtotal, or an unrelated measure. pre.tsv provides presentation evidence, while cal.tsv can connect a custom concept to standard accounting concepts. The project additionally uses canonical US-GAAP taxonomy relationships because filers do not necessarily restate standard arcs in their own calculation tables.