get_frames#
- async AsyncAPI.get_frames(taxonomy, tag, unit, period, instantaneous)#
Get frames for a period.
Retrieve aggregated XBRL facts across multiple companies for a specific period.
- Parameters:
taxonomy (str) – A non-custom taxonomy identifier (e.g. ‘us-gaap’, ‘ifrs-full’, ‘dei’, or ‘srt’).
tag (str) – The specific disclosure concept tag to retrieve (e.g. ‘AccountsPayableCurrent’, ‘Assets’).
unit (str) – Unit of measurement for the requested data. Default is ‘pure’. Denominated units are separated by ‘-per-’ (e.g. ‘USD-per-shares’), non-denominated units are specified directly (e.g. ‘USD’).
period (str | datetime) – The reporting period as a datetime object or a string in the formats: “YYYY-MM-DD” or Annual (365 days ±30 days): CY#### (e.g. ‘CY2019’), Quarterly (91 days ±30 days): CY####Q# (e.g. ‘CY2019Q1’), Instantaneous: CY####Q#I (e.g. ‘CY2019Q1I’).
instantaneous (bool) – Whether the period is instantaneous (e.g. ‘CY2019Q1I’).
- Returns:
An object containing facts from multiple companies for the specified concept and period.
- Return type:
- Raises:
ValueError – If the request fails or the response is not valid JSON format.
Example
>>> from edgar_sec import EdgarAPI >>> import asyncio >>> async def main(): >>> api = EdgarAPI() >>> frame = await api.Async.get_frames("us-gaap", "AccountsPayableCurrent", "USD", "CY2019Q1I") >>> for i, disclosure in enumerate(frame.data[:3]): >>> print(f"{disclosure.entity_name}: ${disclosure.val}") >>> asyncio.run(main())
Note
Due to varying company fiscal calendars, the frame data is assembled using the dates that best align with calendar periods. Be mindful that facts in a frame may have different exact reporting start and end dates.