SEC EDGAR Financials Revenue & Assets Scraper
Pricing
from $9.23 / 1,000 results
SEC EDGAR Financials Revenue & Assets Scraper
Scrape reported financial figures from SEC EDGAR XBRL data by ticker or CIK. Get Revenues, Assets, NetIncomeLoss and any us-gaap concept with value, unit, fiscal year, period and source filing. Export to JSON, CSV or Excel.
Pricing
from $9.23 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
Share
SEC EDGAR Financials Revenue & Assets Scraper
Here is one real result, with every field the actor returns:
{"companyName": "MICROSOFT CORPORATION","ticker": "MSFT","cik": "0000789019","sic": "7372","sicDescription": "Services-Prepackaged Software","stateOfIncorporation": "WA","fiscalYearEnd": "0630","exchanges": "Nasdaq","filerCategory": "Large accelerated filer","companyWebsite": null,"companyPhone": "425-882-8080","concept": "Revenues","label": "Revenues","taxonomy": "us-gaap","unit": "USD","value": 13762000000,"start": "2007-07-01","end": "2007-09-30","fy": 2010,"fp": "FY","form": "10-K","filed": "2010-07-30","frame": "CY2007Q3","accessionNumber": "0001193125-10-171791","filingUrl": "https://www.sec.gov/Archives/edgar/data/789019/000119312510171791/0001193125-10-171791-index.htm","description": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).","observedAt": "2026-08-10T14:41:07.048Z","error": null}
The most complete SEC EDGAR financials scraper available. It returns every XBRL financial datapoint a company reports (revenue, assets, net income, and thousands more concepts), each enriched with the full company profile (industry/SIC, exchange, incorporation, filer status, contact) and a direct link to the source filing, so you get analysis-ready facts without extra parsing.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
Give the actor one or more companies by ticker or SEC CIK. It resolves each company on SEC EDGAR, reads its XBRL company facts, and writes one record per financial datapoint to the run's dataset. Each record is a single reported value (for example Microsoft's revenue for a fiscal period) with its concept, label, unit, period start and end, fiscal year and period, form type, filing date, and accession number, plus a direct link to the source filing. Every datapoint is enriched with the company profile: industry (SIC), state of incorporation, fiscal year end, exchange, filer category, and contact.
You control which facts come back with concepts (specific XBRL tags such as Revenues, Assets, NetIncomeLoss), taxonomy (us-gaap, dei, or all), and units (for example USD, shares). Leave concepts empty to extract every reported concept for the company.
Quickstart
Open the actor, paste this into the input, and press Run. It returns revenue, assets, and net income datapoints for Apple and Microsoft.
{"maxFilings": 10,"tickers": ["AAPL", "MSFT"],"concepts": ["Revenues", "Assets", "NetIncomeLoss"],"taxonomy": "us-gaap"}
Provide companies by tickers and/or ciks. Narrow the output with concepts, taxonomy, and units, or leave concepts empty to pull every reported concept.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
tickers | string[] | conditional | ["AAPL","MSFT"] | Stock ticker symbols to look up, for example AAPL, MSFT. Each is resolved to its SEC CIK. Required unless ciks is set. |
ciks | string[] | conditional | (empty) | SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193. |
concepts | string[] | no | ["Revenues","Assets","NetIncomeLoss"] | XBRL concept tags to extract. Leave empty to extract every reported concept for the company. |
taxonomy | enum | no | us-gaap | Which XBRL taxonomy to read: us-gaap, dei (entity facts), or all. |
units | string[] | no | (all) | Only keep datapoints reported in these units, for example USD, shares, USD/shares. |
maxFilings | integer | no | 10 | Maximum number of datapoints (facts) to collect across all companies. |
Provide at least one tickers or ciks entry. Filters combine with logical AND.
Output reference
One dataset item per financial datapoint. Types: string, number, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
companyName | string | Registrant name as filed. |
ticker | string | Ticker used to resolve the company, or null when looked up by CIK. |
cik | string | Zero-padded 10-digit SEC CIK. |
sic | string | SIC industry code, or null. |
sicDescription | string | SIC industry description, or null. |
stateOfIncorporation | string | State or country of incorporation, or null. |
fiscalYearEnd | string | Fiscal year end as MMDD, or null. |
exchanges | string | Listing exchange(s), or null. |
filerCategory | string | SEC filer category, for example Large accelerated filer. |
companyWebsite | string | Company website, or null. |
companyPhone | string | Company phone, or null. |
concept | string | XBRL concept tag, for example Revenues. |
label | string | Human-readable concept label. |
taxonomy | string | Taxonomy the concept comes from, for example us-gaap, dei. |
unit | string | Unit of the value, for example USD, shares, USD/shares. |
value | number | The reported numeric value. |
start | string | Period start date (YYYY-MM-DD), or null for instant values. |
end | string | Period end date (YYYY-MM-DD). |
fy | number | Fiscal year the datapoint was reported in. |
fp | string | Fiscal period, for example FY, Q1. |
form | string | Source form type, for example 10-K, 10-Q. |
filed | string | Date the source form was filed (YYYY-MM-DD). |
frame | string | SEC calendar frame, for example CY2007Q3, or null. |
accessionNumber | string | SEC accession number of the source filing. |
filingUrl | string | Direct SEC EDGAR link to the source filing index. |
description | string | Full XBRL concept description. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed lookup a single item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"tickers":["AAPL","MSFT"],"concepts":["Revenues","Assets","NetIncomeLoss"],"taxonomy":"us-gaap","maxFilings":10}). The description is trimmed here for length; the full text is shown in the hero record above.
{"companyName": "MICROSOFT CORPORATION","ticker": "MSFT","cik": "0000789019","sic": "7372","sicDescription": "Services-Prepackaged Software","stateOfIncorporation": "WA","fiscalYearEnd": "0630","exchanges": "Nasdaq","filerCategory": "Large accelerated filer","companyPhone": "425-882-8080","concept": "Revenues","label": "Revenues","taxonomy": "us-gaap","unit": "USD","value": 13762000000,"start": "2007-07-01","end": "2007-09-30","fy": 2010,"fp": "FY","form": "10-K","filed": "2010-07-30","frame": "CY2007Q3","accessionNumber": "0001193125-10-171791","filingUrl": "https://www.sec.gov/Archives/edgar/data/789019/000119312510171791/0001193125-10-171791-index.htm","description": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process.","observedAt": "2026-08-10T14:41:07.048Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-edgar-financials-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"tickers":["AAPL"],"concepts":["Revenues","NetIncomeLoss"],"units":["USD"],"maxFilings":100}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~sec-edgar-financials-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"ciks":["0000320193"],"taxonomy":"all","maxFilings":500}'
Apify CLI:
apify call scrapers_lat/sec-edgar-financials-scraper \--input '{"tickers":["AAPL","MSFT"],"concepts":["Revenues","Assets","NetIncomeLoss"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per datapoint returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a lookup fails, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxFilings.
FAQ and troubleshooting
A company could not be resolved. Why?
The ticker or CIK did not match an EDGAR filer, or the company has no XBRL company facts. Check the symbol, or pass the exact CIK. The failed lookup writes an error item and is not charged.
How do I get every reported number for a company?
Leave concepts empty and set taxonomy to all. Raise maxFilings to cover the full set (a large company reports thousands of datapoints).
Why are there many rows for one concept?
XBRL reports each concept once per period and unit. Revenues alone has a row for every fiscal period and frame the company filed, which is what makes time-series analysis possible.
What does frame mean?
It is the SEC calendar frame (for example CY2007Q3) that aligns a datapoint to a standard calendar period across companies. It can be null when no frame applies.
Is this an official SEC tool? No. This actor is independent and has no affiliation with the SEC. It reads only data that is publicly available through the SEC EDGAR XBRL API.
Related scrapers
- SEC 13F Institutional Holdings Scraper: institutional equity positions.
- SEC Form 4 Insider Trades Scraper: insider buys and sells.
- SEC Form D Private Placements Scraper: private securities offerings.
- SEC EDGAR Full-Text Search Scraper: full-text search across SEC filings.
- FDIC Bank Records Scraper: US bank institutions and financials.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the SEC or EDGAR. Accesses only publicly available SEC EDGAR XBRL data.
