📊 SEC XBRL Financial Frames — Peer Comparison
Pricing
from $50.00 / 1,000 heroku bill estimate + multi-host comparisons
📊 SEC XBRL Financial Frames — Peer Comparison
Pull one XBRL financial concept (revenue, net income, assets, EPS, etc.) across ALL SEC filers for a given period — instant cross-company peer benchmarking. For quant and fundamental analysts.
Pricing
from $50.00 / 1,000 heroku bill estimate + multi-host comparisons
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Pay-per-result cross-filer fundamentals — $0.10 per company-value record. Pull one XBRL financial concept (revenue, net income, total assets, EPS, and hundreds more) reported by every SEC filer for a single period, in one call. Instant peer benchmarking from the official SEC data, no Bloomberg seat required.
Most financial data tools are built to answer "what did this company report?" The SEC's XBRL "frames" API flips that question on its head: it answers "what did every company report for this concept, in this period?" The SEC XBRL Financial Frames actor wraps that capability into a clean, paginated, filterable feed. Pick a us-gaap concept — Revenues, NetIncomeLoss, Assets, EarningsPerShareBasic, or any of the hundreds of standardized XBRL tags companies file — pick a period like CY2025Q1 or CY2024, and get back one record per filer that reported that exact concept for that exact frame. The result is an instant cross-company benchmark table assembled straight from machine-readable SEC filings.
This is the dataset behind sector screens, peer-multiple analysis, and "show me every company that reported revenue above X last quarter" research — sourced from the same XBRL filings the SEC stores, with no terminal subscription and no manual filing-by-filing extraction.
Why use this
Pulling one metric across the whole filing universe sounds simple until you try it against raw SEC infrastructure. The XBRL frames endpoint requires an exact taxonomy/concept/unit/period quadruple, returns unsorted JSON with no value filtering, demands a properly-formatted contact User-Agent on every request or it blocks you, and mixes duration concepts (revenue) with instant concepts (assets) that take different period syntaxes. This actor smooths all of that:
- One concept, every filer, one call. You don't loop over thousands of CIK numbers — you ask for the concept once and the SEC returns every company that tagged it for the period.
- Value filtering built in. Set
minValueto drop the long tail of micro-filers and keep only companies above a materiality threshold, so a "$1B+ revenue" peer set is one parameter. - Period syntax handled. Annual (
CY2024), quarterly (CY2025Q1), and instant (CY2025Q1I) frames are all supported — the actor passes them through correctly so you don't have to memorize the SEC's frame grammar. - Compliant by construction. The SEC requires a contact User-Agent; the actor sends one on every request, so you stay inside the SEC's fair-access policy.
- Audit-grade provenance. Every record carries the exact
formandfileddate the value came from, so a benchmark figure traces back to a specific filing.
What you get
Each record is one filer's reported value for the requested concept and period, with the following real output fields:
entityName— the filer's company name as registered with the SECconcept— the us-gaap XBRL concept the value represents (e.g.Revenues,NetIncomeLoss,Assets,EarningsPerShareBasic)period— the frame period the value belongs to (e.g.CY2025Q1,CY2024)value— the reported numeric value, in the requested unit (USD, USD-per-share, etc.)form— the SEC form the value was filed on (e.g.10-K,10-Q)filed— the date the filing that contained this value was submitted to the SEC
Every value comes directly from the company's own XBRL-tagged filing as stored by the SEC — no estimates, no consensus, no proprietary normalization beyond the SEC's standardized taxonomy.
Use cases
- Instant peer benchmarking. Pull
RevenuesforCY2024withminValueset to your sector floor, and you have every comparable company's annual revenue in one table — no manual filing pulls. - Sector revenue / profitability screens. Rank all filers by
NetIncomeLossfor a quarter to find the most (and least) profitable names, then drill into the outliers. - Cross-company multiple construction. Combine two runs —
NetIncomeLossand a share-count or EPS concept — to build trailing P/E or margin comparisons across an entire industry. - Macro / sector aggregation. Sum
Revenuesacross all filers for successive quarters to build a bottom-up, filing-sourced read on aggregate corporate revenue trends. - Anomaly and restatement detection. Trend one company's reported concept across periods (run the actor for each period) to spot restatements or unusual swings against the peer distribution.
- Quant fundamental factor pipelines. Use cross-sectional concept values as raw inputs to value, quality, or growth factors without licensing a fundamentals vendor.
- Research and journalism. Answer "which companies reported the highest [concept] last quarter?" directly from the primary source, with each figure linked to its form and filing date.
- Data-quality and coverage checks. Use the frames feed to see which filers did and did not tag a given concept in a period — a coverage map of XBRL reporting practice.
Sample output
A single record returned by the actor:
{"entityName": "APPLE INC.","concept": "Revenues","period": "CY2024","value": 391035000000,"form": "10-K","filed": "2024-11-01"}
An EPS example (unit USD-per-shares):
{"entityName": "MICROSOFT CORPORATION","concept": "EarningsPerShareBasic","period": "CY2025Q1","value": 3.24,"form": "10-Q","filed": "2025-04-30"}
Input parameters
| Parameter | Label | Description |
|---|---|---|
concept | Concept (XBRL tag) | The us-gaap concept to pull, e.g. Revenues, NetIncomeLoss, Assets, EarningsPerShareBasic. |
taxonomy | Taxonomy | The XBRL taxonomy (default us-gaap). |
unit | Unit | The reporting unit, e.g. USD, USD-per-shares. |
period | Period | Frame period: CY2025Q1 (quarter), CY2024 (annual), CY2025Q1I (instant). |
minValue | Min value | Only return filers whose reported value is greater than or equal to this. |
maxResults | Max results | Maximum number of filers to return. |
userAgentContact | SEC User-Agent contact | Contact string (the SEC requires a User-Agent with contact info on every request). |
How to use
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("nexgendata/sec-xbrl-financial-frames").call(run_input={"concept": "Revenues","taxonomy": "us-gaap","unit": "USD","period": "CY2024","minValue": 1000000000,"maxResults": 500,"userAgentContact": "Your Name your@email.com"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["entityName"], item["value"], item["form"], item["filed"])
cURL
curl -X POST "https://api.apify.com/v2/acts/nexgendata~sec-xbrl-financial-frames/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"concept": "Revenues","taxonomy": "us-gaap","unit": "USD","period": "CY2024","minValue": 1000000000,"maxResults": 500,"userAgentContact": "Your Name your@email.com"}'
Schedule it quarterly via Apify's built-in scheduler — once a reporting season's 10-Qs and 10-Ks are filed and XBRL-indexed, a run for the new period rebuilds your peer table. Export as JSON, JSONL, CSV, or Excel, or push to your warehouse for a period-over-period fundamentals store.
Pricing
This actor runs on Apify's pay-per-event (PPE) model — you pay only for the company-value records returned, never for run-time:
- $0.10 per company-value record (the primary event — one charge per filer value pushed to the dataset)
- A negligible actor-start cost per run (sub-cent at typical memory)
No subscription, no minimum. A run that returns zero rows (e.g. a minValue higher than any filer reported) costs nothing for results.
Cost worked example
- Top 100 filers by revenue for a year → 100 × $0.10 = $10.00 per run
- 500-filer peer set above a $1B floor → 500 × $0.10 = $50.00 per run
- A 4-concept fundamentals pull (revenue, net income, assets, EPS) at 200 filers each → 800 × $0.10 = $80.00
- Quarterly schedule of a 100-name sector screen → 100 × $0.10 × 4/year = $40.00/year
You know the cost from the row count before the run starts — no compute or storage add-ons.
How this compares to Bloomberg
| Bloomberg Terminal | SEC XBRL Financial Frames | |
|---|---|---|
| Cross-company concept comparison | Yes (EQS / FA screens) | Yes (one concept across all filers) |
| Source | Aggregated / normalized vendor data | Filers' own SEC XBRL filings (primary source) |
| Annual cost | ~$24,000 / seat / year | Pay-per-record, no subscription |
| Programmatic API | BLPAPI (seat-locked) | Apify REST + webhooks |
| Provenance per figure | Vendor-normalized | Exact form + filed date per value |
| Best for | Full cross-asset workstation | Filing-sourced peer screens & factor pipelines |
Bloomberg gives you a polished, normalized fundamentals layer with global coverage and a full workstation around it — and you pay ~$24k/seat/year for the whole thing. This actor does one thing the terminal does, the same way an analyst would if they read the filings themselves: it pulls a concept across every filer straight from the source XBRL, with each value traceable to a specific form and filing date. For a peer screen, a sector aggregate, or a quant factor input, that's a 95%+ cost saving and arguably cleaner provenance, because every number points back to a real filing rather than a vendor's normalization.
FAQ
Q: What concepts can I request?
A: Any standardized us-gaap XBRL tag companies file — Revenues, NetIncomeLoss, Assets, Liabilities, EarningsPerShareBasic, StockholdersEquity, and hundreds more. Pass the exact tag in concept.
Q: What's the difference between annual, quarterly, and instant periods?
A: Duration concepts (revenue, net income) use annual (CY2024) or quarterly (CY2025Q1) frames. Balance-sheet "instant" concepts (assets, equity) measured at a point in time use the instant frame syntax with a trailing I (e.g. CY2025Q1I). Match the period type to the concept.
Q: Why do I have to supply a User-Agent contact?
A: The SEC's fair-access policy requires every automated request to identify itself with a contact (name/email). The actor sends your userAgentContact so the SEC can reach the operator if needed — it's a condition of using the SEC's data programmatically.
Q: Why might a company I expect be missing from the results?
A: A filer only appears if it tagged that exact concept, in that exact unit, for that exact frame. Companies that use a different (but economically similar) tag, report in a different period, or filed late may not be in a given frame — that's a property of XBRL tagging practice, not a gap in the actor.
Q: Are the values normalized or adjusted?
A: No. Values are exactly as the company reported them in XBRL, in the requested unit. The SEC's taxonomy provides standardization; the actor applies no further adjustment.
Q: Can I build trailing or multi-period comparisons?
A: Yes — run the actor once per period and join on entityName. Each record's period, form, and filed fields keep the time dimension explicit.
Schema stability & versioning
This actor follows NexGenData's additive-only schema contract. New fields may be added over time as new keys, absent on older runs. The existing fields (entityName, concept, period, value, form, filed) are never renamed or removed without a major-version bump and advance changelog notice, and their semantics (the value is the as-reported XBRL figure in the requested unit) are never silently changed. Build period-over-period fundamentals pipelines on this actor with confidence.
Compliance & legal
- The actor reads the SEC's public XBRL frames data — machine-readable structured data the SEC publishes from filers' own EDGAR submissions. No authentication, no anti-bot evasion, no private endpoints.
- Corporate financial filings are public disclosure mandated by the federal securities laws; the SEC publishes the XBRL data explicitly for researchers and market participants.
- Every request identifies itself with the contact User-Agent you supply, per the SEC's fair-access policy, and is paced politely.
- You are responsible for ensuring your downstream use complies with the SEC's terms and your jurisdiction's rules. Read-only research, benchmarking, and factor-modeling use of public filing data is widely accepted; consult counsel before bulk commercial redistribution.
Related NexGenData actors
Part of NexGenData's SEC / disclosure intelligence cluster — pair this actor with:
- SEC Form 4 Insider Monitor — corporate-insider buys and sells
- SEC 8-K Event Monitor — material corporate events
- SEC Exec Comp Proxy Tracker — executive-compensation disclosures from proxy filings
- SEC Activist Proxy Solicitation Tracker (DFAN14A) — dissident proxy-solicitation filings
- Stock Buyback Announcement Tracker — repurchase-program announcements
- SEC IPO Prospectus Tracker — registration and prospectus filings
Explore the full catalog of 200+ buyer-intent actors at https://apify.com/nexgendata?fpr=2ayu9b.