SEC XBRL Company Facts Scraper
Pricing
from $3.00 / 1,000 results
SEC XBRL Company Facts Scraper
Pull structured financial facts from SEC EDGAR by ticker or CIK number. Each row carries the company name, GAAP concept, reported value, unit, fiscal year and period, form type, and filing date. Useful for building fundamentals histories, equity research, and audit checks.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

📊 SEC XBRL Company Facts Scraper
🚀 Pull structured financial facts straight from SEC EDGAR in seconds. One run on Apple returned 1,562 fact observations across 8 core concepts, each tagged with fiscal year, period, form, and filing date.
🕒 Last updated: 2026-06-04 · 📊 16 fields per record · keyless SEC source · 10,000+ U.S. public companies covered
The SEC XBRL Company Facts Scraper reads the official structured financial data the U.S. Securities and Exchange Commission publishes for every public company that files in XBRL. Give it a list of tickers or CIK numbers, pick the financial concepts you care about, and it returns one clean row per reported fact observation. Each row carries the company name, the us-gaap concept, the reported value and unit, the fiscal year and period, the form type (10-K or 10-Q), and the exact date the figure was filed.
Coverage spans every company with XBRL filings in SEC EDGAR, more than 10,000 active tickers mapped to their CIK. Tickers are resolved to CIK automatically using the SEC company ticker map, so you can mix symbols like AAPL and MSFT with raw CIK numbers in the same run. Results are sorted newest first by filing date.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Financial analysts and equity researchers | Building company financial time series |
| Fintech and data engineering teams | Feeding fundamentals into models and dashboards |
| Accountants and auditors | Cross-checking reported figures by filing |
| Investors and quants | Backtesting on revenue, net income, and EPS |
📋 What the SEC XBRL Company Facts Scraper does
This Actor calls the SEC EDGAR XBRL company facts endpoint for each company you request, then flattens the nested taxonomy into a tidy row per observation. It handles the mandatory SEC contact User-Agent header on every request, resolves tickers to CIK, filters by concept and form, and emits records ordered by filing date with the most recent figures first.
- Accepts tickers (AAPL) or CIK numbers (320193 or 0000320193).
- Pulls all reported us-gaap fact observations for each company.
- Filters to a default set of key metrics or any concepts you name.
- Returns value, unit, fiscal year, fiscal period, form, and filing date per fact.
🎬 Full Demo (🚧 Coming soon)
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
companies | array | yes | Tickers or CIK numbers to pull facts for. Prefilled with AAPL. |
concepts | array | no | us-gaap concept names. Defaults to a key set of 8 metrics. |
forms | array | no | Filter by form type, for example 10-K or 10-Q. Empty means all. |
maxItems | integer | no | Free users limited to 10 items. Paid users up to 1,000,000. |
Example input pulling Apple with the default concept set:
{"companies": ["AAPL"],"maxItems": 50}
Example input pulling two companies, only annual reports, for revenue and net income:
{"companies": ["MSFT", "320193"],"concepts": ["Revenues", "NetIncomeLoss"],"forms": ["10-K"],"maxItems": 200}
⚠️ Good to Know: SEC EDGAR requires a descriptive User-Agent with contact info on every request. This Actor sends one automatically, so you never get blocked for a missing header. The
framefield is present only on observations the SEC has assigned a reporting frame, so it is populated on some rows and empty on others by design.
📊 Output
| Field | Description |
|---|---|
| 🆔 cik | 10-digit zero-padded SEC CIK, prefixed CIK |
| 🏢 entityName | Registered company name |
| 📚 taxonomy | Reporting taxonomy (us-gaap) |
| 📐 concept | XBRL concept name |
| 🏷 label | Human readable concept label |
| 📏 unit | Reporting unit (USD, USD/shares) |
| 💲 value | Reported numeric value |
| 📅 fiscalYear | Fiscal year of the observation |
| 🗓 fiscalPeriod | Fiscal period (FY, Q1, Q2, Q3) |
| 📄 form | SEC form type (10-K, 10-Q) |
| 🗂 filed | Date the figure was filed |
| ⏱ periodStart | Start of the reporting period (duration facts) |
| ⏳ periodEnd | End of the reporting period |
| 🖼 frame | SEC reporting frame when assigned |
| 🔖 accession | Filing accession number |
| 🕒 scrapedAt | Timestamp the record was collected |
Three real sample records from a live run on AAPL:
{"cik": "CIK0000320193","entityName": "Apple Inc.","taxonomy": "us-gaap","concept": "Assets","label": "Assets","unit": "USD","value": 371082000000,"fiscalYear": 2026,"fiscalPeriod": "Q2","form": "10-Q","filed": "2026-05-01","periodStart": null,"periodEnd": "2026-03-28","frame": "CY2026Q1I","accession": "0000320193-26-000013","scrapedAt": "2026-06-04T20:05:11.029Z","error": null}
{"cik": "CIK0000320193","entityName": "Apple Inc.","taxonomy": "us-gaap","concept": "CashAndCashEquivalentsAtCarryingValue","label": "Cash and Cash Equivalents, at Carrying Value","unit": "USD","value": 45572000000,"fiscalYear": 2026,"fiscalPeriod": "Q2","form": "10-Q","filed": "2026-05-01","periodStart": null,"periodEnd": "2026-03-28","frame": "CY2026Q1I","accession": "0000320193-26-000013","scrapedAt": "2026-06-04T20:05:11.030Z","error": null}
{"cik": "CIK0000320193","entityName": "Apple Inc.","taxonomy": "us-gaap","concept": "EarningsPerShareBasic","label": "Earnings Per Share, Basic","unit": "USD/shares","value": 1.65,"fiscalYear": 2026,"fiscalPeriod": "Q2","form": "10-Q","filed": "2026-05-01","periodStart": "2025-12-28","periodEnd": "2026-03-28","frame": "CY2025Q1","accession": "0000320193-26-000013","scrapedAt": "2026-06-04T20:05:11.030Z","error": null}
✨ Why choose this Actor
- Reads the official SEC source, not a scraped or resold copy.
- Sends the mandatory SEC User-Agent on every request, so no 403 surprises.
- Resolves tickers to CIK for you using the live SEC ticker map.
- One flat row per fact observation, ready for analysis.
- Newest filings first, so the latest figures sit at the top.
📈 How it compares to alternatives
| Approach | Setup effort | Official source | Per-fact rows |
|---|---|---|---|
| This Actor | Paste tickers and run | Yes, SEC EDGAR XBRL | Yes |
| Manual EDGAR browsing | High, file by file | Yes | No, you read filings |
| Generic finance APIs | Sign up and key wrangling | Often resold data | Varies |
🚀 How to use
- Create a free Apify account using this sign-up link.
- Open the SEC XBRL Company Facts Scraper in the Apify Console.
- Enter one or more tickers or CIK numbers in
companies. - Optionally narrow the run with
conceptsandforms, and setmaxItems. - Click Start, then download your results when the run finishes.
💼 Business use cases
Equity research
| Need | How this helps |
|---|---|
| Build a revenue history | Pull Revenues and RevenueFromContractWithCustomerExcludingAssessedTax across years |
| Track profitability | Follow NetIncomeLoss and EarningsPerShareBasic by quarter |
Risk and credit
| Need | How this helps |
|---|---|
| Assess balance strength | Compare Assets, Liabilities, and StockholdersEquity |
| Monitor liquidity | Track CashAndCashEquivalentsAtCarryingValue over time |
Fintech products
| Need | How this helps |
|---|---|
| Power a fundamentals widget | Feed clean per-fact rows into your app |
| Map symbols to filings | Use the built-in ticker to CIK resolution |
Audit and compliance
| Need | How this helps |
|---|---|
| Verify a reported figure | Trace value, form, and accession back to the filing |
| Reconcile periods | Use fiscalYear, fiscalPeriod, and filed date together |
🔌 Automating SEC XBRL Company Facts Scraper
Connect the Actor to your stack so fresh financial facts flow where you need them.
- Make and Zapier: trigger a run on a schedule and route results onward.
- Slack: post a summary of new filings to a channel.
- Airbyte: load the dataset into your warehouse.
- GitHub and Google Drive: archive run outputs automatically.
🌟 Beyond business use cases
- Research: study reporting patterns across sectors and years.
- Personal: track the fundamentals of companies you follow.
- Non-profit: support transparency and financial literacy projects.
- Experimentation: prototype models on clean, official fundamentals.
🤖 Ask an AI assistant
Paste a dataset row into your favorite assistant and ask it to interpret the figures.
❓ Frequently Asked Questions
Q: Do I need an SEC API key? No. SEC EDGAR XBRL data is keyless. The Actor sends the required contact User-Agent header for you.
Q: Can I use tickers instead of CIK numbers? Yes. Tickers are resolved to CIK automatically using the official SEC company ticker map. You can mix tickers and CIK numbers in one run.
Q: What concepts are pulled by default? Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, NetIncomeLoss, Assets, Liabilities, StockholdersEquity, CashAndCashEquivalentsAtCarryingValue, and EarningsPerShareBasic.
Q: Can I request other concepts?
Yes. Put any us-gaap concept names in the concepts field and only those are returned.
Q: How are results ordered? Newest first by filing date, then by fiscal year.
Q: Why is the frame field empty on some rows? The SEC assigns a reporting frame only to certain observations. Rows without an assigned frame leave it empty by design.
Q: Why is periodStart empty sometimes? Instant or point in time facts, such as a balance sheet figure, have an end date but no start date.
Q: Can I filter by form type?
Yes. Use the forms field, for example 10-K for annual reports or 10-Q for quarterly reports.
Q: How many companies can I include?
As many as you like. Each company is fetched in turn, and the overall maxItems cap applies across all of them.
Q: What does a value represent? The reported numeric figure for that concept in the given unit, fiscal year, and period.
Q: Is the data official? Yes. It comes directly from the SEC EDGAR XBRL company facts endpoint.
Q: What is the difference between fiscalYear and the filed date? fiscalYear is the company reporting year the figure belongs to. filed is the calendar date the filing was submitted to the SEC.
🔌 Integrate with any app
Every run produces a structured dataset you can pull through the Apify API or connect to thousands of apps through the integrations above. Schedule runs to keep a rolling history of financial facts.
🔗 Recommended Actors
- SEC Form 4 Scraper — insider trading transactions from SEC Form 4 filings.
- SEC 13F Holdings Scraper — institutional investment manager holdings.
- SEC Forms Scraper — filing index and metadata across SEC form types.
- FRED Scraper — economic time series from the Federal Reserve.
- US Treasury Fiscal Data Scraper — federal fiscal and debt datasets.
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: This is an independent tool, not affiliated with or endorsed by the U.S. Securities and Exchange Commission. Only publicly available data is collected.