SEC XBRL Taxonomy Explained for Investors
By Chad Hartman
Published · Last updated
Every fundamental data platform on the market ultimately traces back to the same source: the XBRL-tagged financial statements companies submit to SEC EDGAR. That part is universal. What differs is the vocabulary question sitting underneath it — which tag a company picked, whether that tag still means what it meant three years ago, and whether anything downstream still shows it to you.
Every reported figure in a modern 10-K or 10-Q carries a specific XBRL tag identifying what it is, drawn from a published vocabulary called a taxonomy. Apple's stock buyback figure, for instance, is not one number; it is two separately tagged line items, Payments For Repurchase Of Common Stock and Payment Related To Tax Withholding For Share Based Compensation. Whether a provider keeps that structure intact, collapses it into something else, or never shows it to you at all determines how far a number on screen actually is from what the company filed.
Table of Contents
- The SEC's Own Free XBRL Tools
- Why Two Sites Show Different Numbers for the Same Company
- What Happens When the Taxonomy Changes
- When a Filer Invents Its Own Tag
- GeminIQ: The Tag Stays Attached
- Choosing Based on What You Actually Need
- Frequently Asked Questions
The SEC's Own Free XBRL Tools
The most complete XBRL data source is also the least used, because it requires the most manual work. The SEC's Inline XBRL viewer, reachable from the "Interactive Data" link on any filing's index page, lets you click a single reported value and see its exact tag, its period, and its as-filed amount. The CompanyFacts API returns every value one company has ever reported under a single tag as JSON; the Frames API flips that query, returning one tag across every filer for a single period. The SEC's Financial Statement Data Sets go further still, publishing the entire quarter's XBRL submissions as bulk downloadable files.
All of it is free, all of it is authoritative, and none of it is assembled into anything resembling a research workflow. Getting a five-year statement history for one company means either a dozen manual lookups in the Inline XBRL viewer or writing code against the API — which carries its own set of traps around CIK formatting, rate limits, and restated periods. The SEC built the ground truth. It did not build the tool that makes the ground truth usable, and that gap is what every commercial provider below exists to fill, in one direction or another.
Why Two Sites Show Different Numbers for the Same Company
Two research sites can show a different revenue, buyback, or debt figure for the same company and the same quarter without either one being wrong, and without either one having made an error. The difference is upstream of both screens: each has run the filing's tags through its own data normalization layer, and the templates disagree about which tagged items belong on which line. Every serious platform runs data normalization software financial filings must pass through before a single number reaches a screen, and no two implementations of it make identical choices — which is the whole reason the problems with third-party data show up as disagreement rather than as visible error.
What separates the platforms is not really price or coverage but how many normalization layers sit between the filing and the screen, and each layer is one more place the original tag structure gets left behind. Four tiers cover almost the entire market, and a platform's tier predicts what happens to the tag far better than its price does. A genuine head-to-head on pricing, coverage, and interface is a different question from this one, covered in SEC Filing Analysis Tools Compared and, for the institutional end of the market, in the S&P Capital IQ comparison.
| Tier | What happens to the tag | Platforms |
|---|---|---|
| Institutional normalizers | Filings mapped into a proprietary taxonomy built for cross-company comparability rather than filing fidelity | Bloomberg Terminal, S&P Capital IQ, FactSet |
| Licensed re-packagers | The same Capital IQ / S&P Global data with a new interface — normalization decisions inherited, not made | TIKR, Koyfin, YCharts, Fiscal.ai, StockAnalysis.com |
| Score and rating layers | Standardized figures compressed further into a rating, score, or rank | Morningstar, GuruFocus, Simply Wall St, Value Line, Zacks |
| Extraction with citation | Modeled figures with a source hyperlink attached — closer to the filing, still a modeled figure rather than the tag | Daloopa, Finbox, Wisesheets |
StockAnalysis.com is the most transparent about where it sits: its own data-sources documentation names the licensed providers behind its numbers and tells users to verify critical figures against the original filing. That is a tacit admission that the platform itself is a step removed from the tag.
What Happens When the Taxonomy Changes
The US GAAP Financial Reporting Taxonomy is not fixed. It is maintained by FASB, revised on an annual cycle, and accepted by the SEC for use in filings, which means the vocabulary companies tag against is a moving target rather than a permanent dictionary. Each revision adds elements for new accounting standards, deprecates elements that no longer fit, and in some cases replaces one element with a successor that means almost, but not exactly, the same thing. A company still reporting the same economic item has to move to the replacement element once the old one is retired.
Revenue is the clearest worked example, because the change touched nearly every filer at once. us-gaap:SalesRevenueServicesNet — the element that carried service revenue on countless income statements — was deprecated in the 2018 taxonomy alongside the arrival of ASC 606, the revenue recognition standard, and superseded by RevenueFromContractWithCustomerExcludingAssessedTax. Nothing about the underlying business changed. The element name carrying the number did. Anything querying the old element for periods after the switch finds nothing; anything querying the new element for periods before it finds nothing either, and neither result looks like an error.
Companies also change tags for reasons of their own, independent of the annual revision. A line item gets reclassified, its contents change, or a filer moves between a standard taxonomy element and a custom extension element created for a disclosure the standard vocabulary does not cover. The result in every one of these cases looks the same from the outside: one continuous economic series in the business, sitting under two different tags across two filings.
That is where providers have to make a choice nobody sees them make. A platform can stitch the old tag and the new tag into a single unbroken series, or it can keep them apart as two series with a discontinuity between them. Both are defensible. Stitching produces a clean decade-long line that quietly hides a definitional change in the middle of it; keeping them apart produces a series that appears to break for no reason a chart can explain. Neither choice is visible on the screen unless the tag behind each value is still there to inspect, which is the whole argument for keeping it attached. When it goes wrong in a way that is actually visible, it looks like Microsoft's FY2017 Revenues tag.
When a Filer Invents Its Own Tag
Deprecation is not the only way a standard element stops being where a number lives. A standard tag comes from one of a small number of taxonomies the SEC recognizes: us-gaap for U.S. GAAP concepts, dei for entity-level disclosure information, srt for a smaller set of standardized industry-specific concepts, and ifrs-full for foreign private issuers reporting under IFRS. Every element in these taxonomies is defined once, centrally, and updated on a predictable annual cycle. A custom tag — sometimes called an extension — is anything a filer defines itself, inside its own company-specific taxonomy extension, because none of the standard elements fit the line item being disclosed.
The rule governing when this is actually permitted is narrow. Under 17 CFR 232.405(c)(1)(iii)(B), "an electronic filer must create and use a new special element if and only if an appropriate tag does not exist in the standard list of tags for reasons other than or in addition to an inappropriate standard label." A custom tag is meant to be the exception a filer reaches for when the taxonomy has no equivalent at all, not a substitute for finding the right standard one.
What happens after the filing is where it becomes a data problem. us-gaap:Revenues means the same thing wherever it appears, so a query for it returns exactly the values it is supposed to. A custom tag has no such guarantee: every platform that wants to include a custom-tagged value in a standardized field has to decide, on its own, which standard concept that custom tag corresponds to — a mapping the SEC never defines and the filer never confirms. XBRL US's own published case study of this problem, built for Liberty Mutual Surety, documents what doing it properly costs. An automated tool ran the initial classification of custom extension tags against the standard taxonomy, and that automated output still required "a manual review... to make further refinements" before the mapping could be trusted. An organization with the resources to build a dedicated normalization framework still needed a human to check the algorithm's guesses. A platform without that review step publishes the algorithm's first guess as fact.
GeminIQ: The Tag Stays Attached
GeminIQ is built around the opposite default: every reported value keeps its XBRL tag attached, and nothing gets combined, relabeled, or standardized away before it reaches the screen. When Apple's two buyback-related cash flow items appear on GeminIQ, they appear as two line items, because that is how they were filed, not as a single "buybacks" figure that a template decided to merge.
Financial Statements display each company's own reported captions rather than a generic template's line items. Calculated Metrics, including ROIC, Free Cash Flow, and Net Debt, compute from those same as-filed, tagged inputs, so a metric traces back through its formula to the specific tags that fed it. A Free plan carries this same tag-level traceability at no cost, with 3 years of history and 24 calculated metrics; the paid Annual and Monthly plans extend it to 17-plus years and 90-plus metrics, plus the Stock Screener. The scope is narrower than an institutional terminal on purpose. What it buys instead is that the number on screen and the number in the filing are never two different things to reconcile.
Choosing Based on What You Actually Need
Tag-level traceability is not the right requirement for every job, and it would be dishonest to pretend otherwise. Screening a universe fast, getting oriented on an unfamiliar name, or comparing valuation across a peer group is well served by the licensed platforms above, and their standardization is a feature for that specific job, not a flaw. The moment the question becomes "is this the number the company actually reported," the standardization stops helping and starts being the obstacle.
At that point there are exactly two options that keep the tag intact: doing the extraction yourself against the SEC's own free tools, or using a platform built to preserve that structure automatically. Everything in between, however useful for its own purpose, has already made the substitution that a filing-level check exists to catch.
Frequently Asked Questions
What is the SEC XBRL taxonomy?
It is the vocabulary of elements companies tag their reported figures against when they file with the SEC. The core of it is the US GAAP Financial Reporting Taxonomy, maintained by FASB and revised annually, with SEC-specific taxonomies covering cover-page and document data alongside it. Filers can also create custom extension elements for disclosures the standard vocabulary does not cover. Because the taxonomy is revised each year, an element that carried a figure in one filing can be deprecated or replaced by the next, which is the mechanic behind most tag changes an investor runs into.
Why do two financial websites show different numbers for the same company?
Almost always because they mapped the same filing differently, not because one of them has bad data. Each platform maps the filing's tags into its own standardized template, and the templates disagree about which tagged items belong on which line, so an item one provider folds into a total another leaves out. Tag changes across filings compound it: if a company switches elements between periods, one provider may stitch the old and new tags into a continuous series while another keeps them apart. The only way to settle which is which is to look at the tag behind each value, which is what the as-filed approach preserves and the standardized approach discards.
Are custom XBRL tags allowed by the SEC?
Yes, under specific conditions. Rule 17 CFR 232.405(c)(1)(iii)(B) permits a custom tag only when no appropriate standard element exists for the disclosure — not as a substitute for using an available standard tag with a label the filer does not like. A custom tag is invisible to any query built on the standard element it should logically roll up into, which is why a screen that looks complete can silently exclude a company.
Which financial data providers show the actual XBRL tag?
Very few. The SEC's own Inline XBRL viewer and its CompanyFacts and Frames APIs expose the tag directly but require manual work or code to use at scale. Among commercial platforms, GeminIQ keeps the tag attached to every value; most licensed platforms standardize the figure into their own template and do not expose the originating tag to the user.
Are the SEC's XBRL APIs free to use?
Yes. The CompanyFacts API, the Frames API, and the Financial Statement Data Sets are all free and require no registration. They are also unformatted for research use, returning raw JSON or bulk delimited files rather than a browsable research interface.
Is GeminIQ's XBRL data free?
In part. GeminIQ's Free plan provides tag-level traceability at no cost, covering 3 years of financial history and 24 calculated metrics. The full 17-plus years of history, 90-plus metrics, and the Stock Screener are available on the paid Annual or Monthly plan.
Wall Street's data. Main Street's price.
Institutional terminals charge thousands a year for as-filed accuracy. GeminIQ gives you the same thing for a fraction of the cost: financials built directly from raw SEC EDGAR filings, not third-party APIs, with full XBRL traceability back to the original 10-K or 10-Q. No normalized guesswork, just calculated metrics, charts, screeners, and watchlists built on numbers exactly as the company reported them. Start researching now at GeminIQ.com.
Data Used / Sources
- Fundamental data sourced from XBRL-tagged SEC filings via GeminIQ.
- Apple's XBRL tag structure referenced from Apple Inc.'s SEC filings via SEC EDGAR.
- SEC Inline XBRL viewer, CompanyFacts API, Frames API, and Financial Statement Data Sets are official SEC.gov resources; endpoint behavior described as documented at data.sec.gov.
- Custom extension tag rule quoted from 17 CFR 232.405(c)(1)(iii)(B) (Regulation S-T).
- Custom-tag mapping case study and quoted language from XBRL US's published Liberty Mutual Surety custom data collection case study.
us-gaap:SalesRevenueServicesNet,RevenueFromContractWithCustomerExcludingAssessedTax, and the 2018 taxonomy / ASC 606 transition referenced from the FASB US GAAP Financial Reporting Taxonomy release notes.- Category placements and figures for Bloomberg Terminal, S&P Capital IQ, FactSet, TIKR, Koyfin, YCharts, Fiscal.ai, Morningstar, GuruFocus, Simply Wall St, Value Line, Zacks, StockAnalysis.com, Daloopa, Finbox, and Wisesheets are drawn from GeminIQ's own published comparison research on each platform (linked above), reviewed August 2, 2026 from each platform's public materials.
- GeminIQ Free, Annual, and Monthly plan features, limits, and pricing confirmed directly from https://www.geminiq.com/pricing, retrieved August 7, 2026.
Disclaimer: The content in this blog is for educational and entertainment purposes only and does not constitute financial, legal, or tax advice. Investing involves risk, including the loss of principal. The views expressed are my own and not intended as financial advice or a guarantee of future performance.