SEC EDGAR Financial Data & Company Screener (XBRL) avatar

SEC EDGAR Financial Data & Company Screener (XBRL)

Pricing

Pay per usage

Go to Apify Store
SEC EDGAR Financial Data & Company Screener (XBRL)

SEC EDGAR Financial Data & Company Screener (XBRL)

Screen every US public company by any financial metric, or pull one company's history. Official SEC XBRL data, every figure linked to its filing.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ground Truth

Ground Truth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Screen every US public company by any financial metric, or pull one company's full reported history — with every figure linked back to the SEC filing it came from.

Built on the SEC's official XBRL data at data.sec.gov. No API key, no scraping, no third-party data vendor.


The thing sec.gov can't do

EDGAR serves filings one company at a time. There is no way on sec.gov to ask "which public companies had revenue over $100 billion last year" or "rank every filer by cash on hand."

The data exists. The SEC's frames API returns one metric across all 5,849 filers in a single call — but it comes back as raw XBRL with tags like RevenueFromContractWithCustomerExcludingAssessedTax, and getting the period format wrong returns an empty result that looks like "no data" rather than "you asked wrong."

This tool closes that gap.

Two modes

Screen — one metric, every company

mode: screen
metric: revenue
period: CY2023
min_value: 100000000000
{
"company": "Walmart Inc.",
"cik": 104169,
"metric": "revenue",
"xbrl_tag": "Revenues",
"value": 648125000000,
"unit": "USD",
"period_end": "2023-12-31",
"period_type": "annual",
"accession": "0000104169-26-000055",
"verify_url": "https://www.sec.gov/Archives/edgar/data/104169/..."
}

Company — one company's history

mode: company
company: AAPL
metric: net_income
period_type: annual

Returns Apple's net income for every fiscal year it has reported, deduplicated, with the form and filing date on each.

Three traps this handles for you

Raw SEC data will mislead you in three specific ways. Each is silent — you get a plausible-looking number that's wrong.

1. Quarterly figures mixed with year-to-date. A 10-Q reports the quarter and the cumulative year-to-date figure, both with the same end date. Comparing "net income" across filings silently mixes a three-month number with a nine-month one. Every record here carries period_type and period_days, and you can filter on it.

2. The same fact repeated with different values. This year's 10-K restates last year's figures as comparatives, and amendments repeat earlier periods. Ask for annual net income and you get some years two or three times. This tool keeps one record per period, from the most recent filing — which is what the SEC treats as authoritative after a restatement.

3. Balance-sheet metrics need a different period format. Assets is measured at a point in time and needs CY2024Q1I; Revenues is measured over a period and must not have the suffix. Get it wrong and you get an empty result with no error. Handled automatically — ask for assets and CY2024 and it does the right thing.

Every figure is verifiable

Each record carries a verify_url to the exact filing. Open it, find the line item, compare.

That matters most when an AI is in the loop: when an assistant reports a company's revenue, you should be able to check it against the filing rather than trust the chain.

Metrics

revenue · net_income · gross_profit · operating_income · assets · liabilities · equity · cash · inventory · long_term_debt · goodwill · current_assets · current_liabilities · operating_cash_flow · capex · dividends_paid · rd_expense · sga_expense · interest_expense · income_tax · eps_basic · eps_diluted · shares_outstanding

Any raw XBRL tag also works — Revenues, NetIncomeLoss, and so on — for callers who know the taxonomy.

Companies file the same concept under different tags, so each friendly name tries several in order until one returns data.

Configuration

InputTypeDefaultDescription
modestringscreenscreen (all companies) or company (one company's history)
metricstringrevenueFriendly name or raw XBRL tag
companystringRequired in company mode. Ticker or CIK
periodstringCY2024screen mode. CY2024 or CY2024Q1
period_typestringanyquarterly, half_year, nine_month, annual, instant
min_value / max_valuenumberValue bounds. Negatives are legal — losses are real
orderstringdescdesc or asc
limitinteger501–200

Honest limits

  • XBRL coverage starts around 2009. Older filings exist on EDGAR but not as structured data.
  • Only what companies actually tagged. A company that didn't file a concept won't appear for it, and smaller filers tag less.
  • It reports; it does not compute. No ratios, growth rates, or derived metrics — those would be our arithmetic rather than the company's filing, and you couldn't verify them against the source.
  • One metric per run. The SEC endpoints are shaped that way.
  • Not investment advice. It's a data-reformatting tool.

FAQ

Where does the data come from? data.sec.gov, the SEC's official structured-data API. The same numbers as the filings themselves.

Is this scraping? No. Documented public API, no key, no login, no bot evasion. SEC requires a descriptive User-Agent on requests, which this sends.

How current is it? As current as EDGAR. A figure appears once the company files it.

Why does a company show a value I don't recognise? Check period_type and xbrl_tag. It's usually a year-to-date figure being read as a quarter, or a company using a different tag.

Can I get a growth rate or ratio? Not directly, by design — pull the periods you need and compute it yourself, so the arithmetic is yours and every input is verifiable.

Source and licence

Data: SEC EDGAR, US Securities and Exchange Commission. Public domain.