SEC EDGAR Financials Revenue & Assets Scraper avatar

SEC EDGAR Financials Revenue & Assets Scraper

Pricing

from $9.23 / 1,000 results

Go to Apify Store
SEC EDGAR Financials Revenue & Assets Scraper

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 hours ago

Last modified

Share

SEC EDGAR Financials Revenue & Assets Scraper

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
tickersstring[]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.
ciksstring[]conditional(empty)SEC Central Index Key numbers. Zero padding is optional, for example 320193 or 0000320193.
conceptsstring[]no["Revenues","Assets","NetIncomeLoss"]XBRL concept tags to extract. Leave empty to extract every reported concept for the company.
taxonomyenumnous-gaapWhich XBRL taxonomy to read: us-gaap, dei (entity facts), or all.
unitsstring[]no(all)Only keep datapoints reported in these units, for example USD, shares, USD/shares.
maxFilingsintegerno10Maximum 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.

FieldTypeDescription
companyNamestringRegistrant name as filed.
tickerstringTicker used to resolve the company, or null when looked up by CIK.
cikstringZero-padded 10-digit SEC CIK.
sicstringSIC industry code, or null.
sicDescriptionstringSIC industry description, or null.
stateOfIncorporationstringState or country of incorporation, or null.
fiscalYearEndstringFiscal year end as MMDD, or null.
exchangesstringListing exchange(s), or null.
filerCategorystringSEC filer category, for example Large accelerated filer.
companyWebsitestringCompany website, or null.
companyPhonestringCompany phone, or null.
conceptstringXBRL concept tag, for example Revenues.
labelstringHuman-readable concept label.
taxonomystringTaxonomy the concept comes from, for example us-gaap, dei.
unitstringUnit of the value, for example USD, shares, USD/shares.
valuenumberThe reported numeric value.
startstringPeriod start date (YYYY-MM-DD), or null for instant values.
endstringPeriod end date (YYYY-MM-DD).
fynumberFiscal year the datapoint was reported in.
fpstringFiscal period, for example FY, Q1.
formstringSource form type, for example 10-K, 10-Q.
filedstringDate the source form was filed (YYYY-MM-DD).
framestringSEC calendar frame, for example CY2007Q3, or null.
accessionNumberstringSEC accession number of the source filing.
filingUrlstringDirect SEC EDGAR link to the source filing index.
descriptionstringFull XBRL concept description.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull 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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.

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.