openapi: 3.1.0
info:
title: SEC EDGAR Submissions & Company Facts XBRL API
description: The SEC EDGAR data APIs provide free, authenticated-free access to company filing metadata, XBRL financial data, and full-text search across all SEC submissions. APIs are hosted at data.sec.gov and efts.sec.gov and require a descriptive User-Agent header per SEC fair-access policy.
version: 1.0.0
contact:
name: SEC Developer Resources
url: https://www.sec.gov/developer
license:
name: Public Domain (U.S. Government Work)
url: https://www.sec.gov/privacy.htm
servers:
- url: https://data.sec.gov
description: SEC EDGAR Data API
- url: https://efts.sec.gov
description: SEC EDGAR Full-Text Search
tags:
- name: XBRL
description: Structured XBRL financial data
paths:
/api/xbrl/companyfacts/CIK{cik}.json:
get:
operationId: getCompanyFacts
summary: Get all XBRL facts for a company
description: Returns all structured financial data reported in XBRL-tagged SEC filings for a company. Covers all US-GAAP and DEI taxonomy concepts across all filings. Data is organized by concept with historical values per period.
tags:
- XBRL
parameters:
- name: cik
in: path
required: true
description: 10-digit CIK with leading zeros
schema:
type: string
pattern: ^\d{10}$
example: 0000320193
responses:
'200':
description: All XBRL company facts
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyFacts'
'404':
description: Company not found
/api/xbrl/companyconcept/CIK{cik}/{taxonomy}/{concept}.json:
get:
operationId: getCompanyConcept
summary: Get a single XBRL concept for a company
description: Returns all historical values reported for a specific XBRL concept by a company. For example, retrieve all reported values of AccountsPayableCurrent from the us-gaap taxonomy across all filings.
tags:
- XBRL
parameters:
- name: cik
in: path
required: true
schema:
type: string
pattern: ^\d{10}$
example: 0000320193
- name: taxonomy
in: path
required: true
description: XBRL taxonomy namespace
schema:
type: string
enum:
- us-gaap
- ifrs-full
- dei
- srt
example: us-gaap
- name: concept
in: path
required: true
description: XBRL concept name (camelCase)
schema:
type: string
example: AccountsPayableCurrent
responses:
'200':
description: Historical values for the specified concept
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyConcept'
'404':
description: Company or concept not found
/api/xbrl/frames/{taxonomy}/{concept}/{unit}/{period}.json:
get:
operationId: getXBRLFrames
summary: Get all company values for a concept in a period
description: Returns values for a given XBRL concept across all companies for a specific period. Useful for cross-company financial data comparisons and benchmarking.
tags:
- XBRL
parameters:
- name: taxonomy
in: path
required: true
schema:
type: string
enum:
- us-gaap
- ifrs-full
- dei
- srt
example: us-gaap
- name: concept
in: path
required: true
schema:
type: string
example: AccountsPayableCurrent
- name: unit
in: path
required: true
description: Unit of measure (USD, shares, pure)
schema:
type: string
example: USD
- name: period
in: path
required: true
description: 'Period identifier. For annual instant: CY{year}Q{quarter}I. For annual duration: CY{year}.'
schema:
type: string
example: CY2023Q4I
responses:
'200':
description: Cross-company values for the concept
content:
application/json:
schema:
$ref: '#/components/schemas/XBRLFrames'
components:
schemas:
CompanyFacts:
type: object
properties:
cik:
type: integer
entityName:
type: string
facts:
type: object
description: Nested object of taxonomy > concept > unit > data
additionalProperties:
type: object
description: Taxonomy namespace (e.g., us-gaap, dei)
additionalProperties:
type: object
description: XBRL concept
properties:
label:
type: string
description:
type: string
units:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/XBRLFact'
CompanyConcept:
type: object
properties:
cik:
type: integer
taxonomy:
type: string
tag:
type: string
label:
type: string
description:
type: string
entityName:
type: string
units:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/XBRLFact'
XBRLFact:
type: object
properties:
end:
type: string
format: date
description: Period end date for duration facts; instant date for point-in-time facts
val:
type: number
description: Reported value
accn:
type: string
description: Accession number of filing
fy:
type: integer
description: Fiscal year
fp:
type: string
description: Fiscal period (FY, Q1, Q2, Q3, Q4)
form:
type: string
description: Form type
filed:
type: string
format: date
frame:
type: string
description: XBRL frame identifier
start:
type: string
format: date
description: Period start date (for duration facts)
XBRLFrames:
type: object
properties:
taxonomy:
type: string
tag:
type: string
ccp:
type: string
description: Concept-currency-period identifier
uom:
type: string
description: Unit of measure
label:
type: string
description:
type: string
pts:
type: integer
description: Number of data points
data:
type: array
items:
type: object
properties:
accn:
type: string
cik:
type: integer
entityName:
type: string
loc:
type: string
description: Country/state code
end:
type: string
format: date
val:
type: number