As-reported XBRL facts
The normalized statements carry a fixed set of metrics, mapped and validated so they compare across companies. A filer tags far more than that. These endpoints return what the filer tagged, exactly as filed: every concept, the filer's own extension concepts, and every value broken out by segment, product, geography or any other axis.
Two ways in
- By company, across every filing: every concept in the us-gaap, ifrs-full, dei, srt and invest taxonomies, consolidated values only. Use it to follow one concept over time.
- By filing: every numeric fact in one filing, including the filer's extension concepts and every breakdown. Use it for segments, products, geographies and anything the filer defined for itself.
Find a concept
curl -X GET "https://api.arche.fi/v1/edgar/companies/AAPL/facts/concepts?search=ResearchAndDevelopment" \
-H "X-Api-Key: $ARCHE_API_KEY" \
-H "X-Request-ID: $(uuidgen)" \
-H "Accept: application/json"
Representative response:
{
"page": 1,
"page_size": 50,
"total": 1,
"items": [
{
"concept": "us-gaap:ResearchAndDevelopmentExpense",
"taxonomy": "us-gaap",
"label": "Research and Development Expense",
"description": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge ...",
"units": ["USD"],
"fact_count": 234,
"first_period_end": "2007-09-29",
"last_period_end": "2026-06-27"
}
]
}
Without search, the listing returns every concept the company has reported
(505 for Apple). Narrow by taxonomy to see only dei or ifrs-full.
Read its values
curl -X GET "https://api.arche.fi/v1/edgar/companies/AAPL/facts?concepts=us-gaap:ResearchAndDevelopmentExpense&filing_types=10-K" \
-H "X-Api-Key: $ARCHE_API_KEY" \
-H "X-Request-ID: $(uuidgen)" \
-H "Accept: application/json"
{
"concept": "us-gaap:ResearchAndDevelopmentExpense",
"unit": "USD",
"value": "34550000000",
"period_start": "2024-09-29",
"period_end": "2025-09-27",
"accession_id": "0000320193-25-000079",
"filing_type": "10-K",
"filing_date": "2025-10-31",
"fiscal_year": 2025,
"fiscal_period": "FY",
"frame": "CY2025"
}
- Name
value- Type
- string
- Description
The value exactly as reported, as a decimal string.
- Name
fiscal_year- Type
- integer
- Description
The fiscal year of the filing that reported the value, not of the value itself. A 10-K also reports the two prior years as comparatives, so read the period from
period_startandperiod_end.
- Name
frame- Type
- string
- Description
Set when SEC chose this value to represent a calendar period, such as
CY2025,CY2025Q4, orCY2025Q4Ifor a point in time. A value a later filing reported again appears once per filing; keep only framed values to get one value per concept, unit and period.
Narrow by concepts (repeatable; a bare name like Revenues matches any
taxonomy), units, filing_types and period_end_from / period_end_to.
as_of returns only values filed on or before a date, so a backtest sees what
was public then.
Everything in one filing
Take an accession_id from
the filing list
and read the filing whole:
curl -X GET "https://api.arche.fi/v1/edgar/companies/AAPL/filings/0000320193-25-000079/facts?axes=srt:ProductOrServiceAxis" \
-H "X-Api-Key: $ARCHE_API_KEY" \
-H "X-Request-ID: $(uuidgen)" \
-H "Accept: application/json"
{
"concept": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
"unit": "USD",
"value": "209586000000",
"decimals": -6,
"period_start": "2024-09-29",
"period_end": "2025-09-27",
"dimensions": [
{ "axis": "srt:ProductOrServiceAxis", "member": "aapl:IPhoneMember" }
]
}
dimensions lists the axes and members a value is broken out by, and is empty
for the consolidated company. Apple's FY2025 10-K carries 880 numeric facts:
407 are breakdowns, by product, by country, by segment and more, and 70 use
Apple's own aapl: concepts.
Filter with axes, taxonomies (a concept prefix: aapl keeps only Apple's
extension concepts) and dimensioned (false for consolidated values only).
The first read of a filing fetches it from SEC and can take a few seconds. Later reads are immediate.
As filed, not normalized
These values are the filer's tags. They are not mapped, validated or adjusted, and they do not feed the normalized statements. Segment names, extension concepts and even the choice of standard concept differ from company to company, so compare across companies with the normalized statements, and use these endpoints for everything the normalized metrics leave out.
Next steps
Company identity
Resolve tickers to full issuer records, search by name, and read mapping validity.
Time series
Pull a metric across a whole reporting history, point-in-time or as-reported.
Fundamentals
Read panels across many companies, name a statement by its identity, and pull the approved macro context.