📊 SEC XBRL Financial Frames — Peer Comparison avatar

📊 SEC XBRL Financial Frames — Peer Comparison

Pricing

from $50.00 / 1,000 heroku bill estimate + multi-host comparisons

Go to Apify Store
📊 SEC XBRL Financial Frames — Peer Comparison

📊 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

NexGenData

Maintained by Community

Actor 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 minValue to 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 form and filed date 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 SEC
  • concept — 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 Revenues for CY2024 with minValue set 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 NetIncomeLoss for a quarter to find the most (and least) profitable names, then drill into the outliers.
  • Cross-company multiple construction. Combine two runs — NetIncomeLoss and a share-count or EPS concept — to build trailing P/E or margin comparisons across an entire industry.
  • Macro / sector aggregation. Sum Revenues across 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

ParameterLabelDescription
conceptConcept (XBRL tag)The us-gaap concept to pull, e.g. Revenues, NetIncomeLoss, Assets, EarningsPerShareBasic.
taxonomyTaxonomyThe XBRL taxonomy (default us-gaap).
unitUnitThe reporting unit, e.g. USD, USD-per-shares.
periodPeriodFrame period: CY2025Q1 (quarter), CY2024 (annual), CY2025Q1I (instant).
minValueMin valueOnly return filers whose reported value is greater than or equal to this.
maxResultsMax resultsMaximum number of filers to return.
userAgentContactSEC User-Agent contactContact string (the SEC requires a User-Agent with contact info on every request).

How to use

Python (apify-client)

from apify_client import ApifyClient
client = 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 TerminalSEC XBRL Financial Frames
Cross-company concept comparisonYes (EQS / FA screens)Yes (one concept across all filers)
SourceAggregated / normalized vendor dataFilers' own SEC XBRL filings (primary source)
Annual cost~$24,000 / seat / yearPay-per-record, no subscription
Programmatic APIBLPAPI (seat-locked)Apify REST + webhooks
Provenance per figureVendor-normalizedExact form + filed date per value
Best forFull cross-asset workstationFiling-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.

  • 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.

Part of NexGenData's SEC / disclosure intelligence cluster — pair this actor with:

Explore the full catalog of 200+ buyer-intent actors at https://apify.com/nexgendata?fpr=2ayu9b.