SEC EDGAR XBRL Frames (One Metric Across Every Filer for One Period)
secedgar/frames
One financial metric for every company that reported it in a single period, in one request: the value, the filer's name and CIK, its state or country of incorporation, the accession number of the filing and the period the figure covers. Use it to compare, rank or screen public companies on a reported number instead of fetching each company separately. Taken directly from the SEC's EDGAR XBRL frames API. The period form is strict: balances take the instantaneous form (CY2024Q1I) and flows take the duration form (CY2024Q1 or CY2024).
Price
$0.00273 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
SEC EDGAR
Data from SEC EDGAR (U.S. Securities and Exchange Commission), public information per sec.gov/about/privacy-information.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "secedgar/frames" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "secedgar/frames" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "secedgar/frames", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "secedgar/frames", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.00273 |
- Updated
- Oct 19, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"tag",
"period"
],
"properties": {
"tag": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$",
"description": "The XBRL concept, case-sensitive and spelled exactly as the taxonomy spells it: Assets, Liabilities, StockholdersEquity, Revenues, NetIncomeLoss, EarningsPerShareBasic, or a narrow one such as OilAndGasPropertySuccessfulEffortMethodGross. A lowercase spelling is a not-found error, as is a concept the SEC publishes no frame for."
},
"unit": {
"type": "string",
"default": "USD",
"pattern": "^[A-Za-z0-9-]{1,40}$",
"description": "The unit of measure, as the SEC spells it in a URL: USD for money, shares for share counts, USD-per-shares for a per-share figure. A slash cannot appear in a path segment, so the SEC writes -per- where the unit has one; the response echoes the real spelling (USD/shares) in its uom field. Case-sensitive: usd is a not-found error."
},
"period": {
"type": "string",
"pattern": "^CY[0-9]{4}(Q[1-4])?I?$",
"description": "The calendar period, and the form matters. A balance (a point-in-time concept such as Assets) exists only in the instantaneous form, which ends in I: CY2024Q1I. A flow (a concept measured over time such as Revenues or EarningsPerShareBasic) exists only in the duration form, which does not: CY2024Q1 for a quarter, CY2024 for a year. The wrong form returns the same not-found error as a concept that does not exist. Annual instantaneous frames (CY2024I) are not published; use a quarter."
},
"taxonomy": {
"enum": [
"us-gaap",
"dei"
],
"type": "string",
"default": "us-gaap",
"description": "The XBRL taxonomy the concept belongs to. us-gaap holds the financial statement concepts; dei holds cover-page facts such as shares outstanding and public float. Case-sensitive. The SEC's frames index did not answer for ifrs-full or srt in any combination sampled, so only these two are offered."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"taxonomy",
"tag",
"ccp",
"uom",
"pts",
"data"
],
"properties": {
"ccp": {
"type": "string",
"description": "The calendar period of the frame, echoed back: an instantaneous frame ends in I, a duration frame does not."
},
"pts": {
"type": "integer",
"description": "How many filers reported the concept in this period, equal to the length of data in every frame sampled. It is not a fixed market size: an early frame or the quarter still being filed holds far fewer rows than a settled recent one."
},
"tag": {
"type": "string",
"description": "The concept, as requested."
},
"uom": {
"type": "string",
"description": "The unit every val is in, in the SEC's own spelling, which uses a slash where the URL used -per- (USD/shares, not USD-per-shares)."
},
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"accn",
"cik",
"entityName",
"end",
"val"
],
"properties": {
"cik": {
"type": "integer",
"description": "The filer's SEC Central Index Key as a plain number, not zero-padded. Pad it to ten digits to use it with the other EDGAR tools."
},
"end": {
"type": "string",
"description": "Last day of the period the figure covers, YYYY-MM-DD. This is the filer's own fiscal period end, so it varies from row to row inside one frame."
},
"loc": {
"type": "string",
"description": "Where the filer is located, as an ISO 3166 code pair such as US-IL. The subdivision half can be empty for a non-US filer, leaving a trailing hyphen (HK-)."
},
"val": {
"type": "number",
"description": "The reported figure, in the unit named by uom."
},
"accn": {
"type": "string",
"description": "Accession number of the filing the figure was taken from."
},
"start": {
"type": "string",
"description": "First day of the period the figure covers, YYYY-MM-DD. Present on a duration frame only; a balance has no start."
},
"entityName": {
"type": "string",
"description": "The filer's registered name."
}
},
"additionalProperties": true
},
"description": "One row per filer, ordered by CIK. Rows in one frame do not share an end date: the SEC assigns each filer's nearest-fitting fiscal period to the calendar frame."
},
"label": {
"type": "string",
"description": "The concept's human-readable name."
},
"taxonomy": {
"type": "string",
"description": "The taxonomy the concept belongs to."
},
"description": {
"type": "string",
"description": "The concept's formal definition."
}
},
"description": "The SEC's frame document: what the concept is, how many filers reported it in this period, and one row per filer.",
"additionalProperties": true
}