?>
ESC to close

Financial Metrics List API

Maintained by Piyush Arora

Last updated:

Retrieve the complete catalog of metrics the API supports, so you never have to hard-code a field name or guess whether one exists. There are two separate catalogs behind a single endpoint — 795 screener metrics identified by full name and grouped by statement, and 1,257 time-series metrics identified by slug and grouped by reporting period. They overlap but are not interchangeable: 758 metric names appear in both, and each catalog carries several hundred the other does not. The API is free to use.

Three catalog views available:

screener 795 Filterable Metrics historic 1,257 Time-Series Metrics historic-detailed Per-Ticker Coverage
GET https://data.businessquant.com/metadata?table={table}&api_key={api_key}

Where these metrics are used: Names from the screener catalog go into the conditions and preferred_columns of the Stock Screener API. Slugs from the historic catalog go into the slug parameter of the Historical Financial Metrics API. For the securities these metrics can be requested against, see the List of Securities API.

1. Request Parameters

One required parameter selects the catalog. Values are case insensitive, so table=SCREENER and table=screener behave identically. Every response is cached server side for 24 hours.

Parameter Description
api_key
Required
Your unique API key for authentication.
table
Required
Which catalog to return. Exactly one of screener, historic, or historic-detailed. Any other value returns 400 listing the three valid options.
Format: table=screener
ticker
Conditional
Comma separated tickers. Required only when table=historic-detailed, and ignored by the other two catalogs, which are company independent. Omitting it on the detailed route returns 400; supplying a ticker with no coverage returns 404.
Format: ticker=AAPL,MSFT
Example cURL Request (Screener Catalog)
curl -X GET "https://data.businessquant.com/metadata?table=screener&api_key=YOUR_API_KEY"
Example cURL Request (Time-Series Catalog)
curl -X GET "https://data.businessquant.com/metadata?table=historic&api_key=YOUR_API_KEY"
Example cURL Request (Per-Ticker Coverage)
curl -X GET "https://data.businessquant.com/metadata?table=historic-detailed&ticker=AAPL&api_key=YOUR_API_KEY"

2. Screener Metrics Catalog

795 metrics, returned as a flat array with no envelope. This catalog has no slug field — the screener identifies a metric by its full name, so the value of metric_full is what you paste into a conditions string. Names are unique across the whole catalog, so a name is a safe key. The excerpt below shows a spread across all seven statement groups.

Screener Catalog — Excerpt

Total in catalog: 795  •  Statement groups: 7  •  Showing 42 rows

Metric Full Metric Short Datatype Statement
Consolidated Net Income (Annual) Consol Net Inc. (Yr) int Income Statement
Consolidated Net Income (Quarter) Consol Net Inc. (Qtr) int Income Statement
Consolidated Net Income (TTM) Consol Net Inc. (TTM) int Income Statement
Depreciation & Amortization - Total (Annual) Dep. & Amort. (Tot) (Yr) int Income Statement
Depreciation & Amortization - Total (Quarter) Dep. & Amort. (Tot) (Qtr) int Income Statement
Depreciation & Amortization - Total (TTM) Dep. & Amort. (Tot) (TTM) int Income Statement
Accounts Payables (Annual) Accounts Payables (Yr) int Balance Sheet
Accounts Payables (Quarter) Accounts Payables (Qtr) int Balance Sheet
Accounts Payables (TTM) Accounts Payables (TTM) int Balance Sheet
Assets (Annual) Assets (Yr) int Balance Sheet
Assets (Quarter) Assets (Qtr) int Balance Sheet
Assets (TTM) Assets (TTM) int Balance Sheet
Acquisitions (Annual) Acquisitions (Yr) int Cash Flow Statement
Acquisitions (Quarter) Acquisitions (Qtr) int Cash Flow Statement
Acquisitions (TTM) Acquisitions (TTM) int Cash Flow Statement
Amortization (Quarter) Amort. (Qtr) int Cash Flow Statement
Amortization (TTM) Amort. (TTM) int Cash Flow Statement
Amortizatization of Intangibles (Annual) Amortizatization of Intangibles (Yr) int Cash Flow Statement
Asset Utilization Ratio (Annual) Asset Util. (Yr) int Ratios
Asset Utilization Ratio (Quarter) Asset Util. (Qtr) int Ratios
Asset Utilization Ratio (TTM) Asset Util. (TTM) int Ratios
Assets Average (Annual) Assets Avg. (Yr) int Ratios
Assets Average (Quarter) Assets Avg. (Qtr) int Ratios
Assets Average (TTM) Assets Avg. (TTM) int Ratios
Assets (QoQ) Assets (QoQ) (Qtr) % Growth Metrics
Capital Expenditures (QoQ) Capex (QoQ) (Qtr) % Growth Metrics
Capital Expenditures Growth (1y) (Annual) Capex Growth (1y) (Yr) % Growth Metrics
Capital Expenditures Growth (1y) (Quarter) Capex Growth (1y) (Qtr) % Growth Metrics
Capital Expenditures Growth (1y) (TTM) Capex Growth (1y) (TTM) % Growth Metrics
Capital Expenditures Growth (3y) (Annual) Capex Growth (3y) (Yr) % Growth Metrics
Dividend Yield Div. Yield % Daily Values
EV to CFO EV to CFO int Daily Values
EV to EBIT EV to EBIT int Daily Values
EV to EBITDA EV to EBITDA int Daily Values
EV to FCF EV to FCF int Daily Values
EV to Revenue EV to Revenue int Daily Values
Amortization - Deferred Charges (Annual) Amortization - Deferred Charges (Yr) int Others
Amortization - Deferred Charges (Quarter) Amortization - Deferred Charges (Qtr) int Others
Amortization - Deferred Charges (TTM) Amortization - Deferred Charges (TTM) int Others
Cost - Fuel Purchased (Annual) Cost - Fuel Purchased (Yr) int Others
Cost - Fuel Purchased (Quarter) Cost - Fuel Purchased (Qtr) int Others
Cost - Fuel Purchased (TTM) Cost - Fuel Purchased (TTM) int Others

Screener Catalog Fields

FieldTypeDescription
metric_fullstringThe metric's full name, including its period suffix — for example Accounts Payables (Annual). This is the identifier the screener expects, so pass it verbatim inside conditions and preferred_columns. Unique across the catalog.
metric_shortstringAbbreviated label for narrow table headers, for example Accounts Payables (Yr). Display only — the screener will not accept it as an identifier.
datatypestringEither int for absolute values or % for values already expressed as percentages. Use it to decide formatting and whether a threshold like > 15 means 15 units or 15 percent. The split is 602 int to 193 %.
statementstringWhich financial statement or family the metric belongs to. One of seven values — see the group breakdown below. Bind it directly to a filter or accordion in a screener UI.

Screener Metrics by Statement Group

StatementMetricsWhat it covers
Growth Metrics229Period-over-period and multi-year growth rates. The largest group by some margin, and almost entirely % datatype.
Income Statement147Revenue, margins, expense lines, and earnings, at annual, quarterly, and trailing twelve month periods.
Balance Sheet132Assets, liabilities, equity, cash, and debt positions.
Cash Flow Statement117Operating, investing, and financing flows, plus free cash flow and capital expenditure.
Others98Metrics that do not map cleanly to a single statement, including per-share and share-count measures.
Ratios60Profitability, liquidity, leverage, and efficiency ratios.
Daily Values12Market-driven valuation metrics recomputed every trading day. These 12 are identical to the Daily group in the time-series catalog.

3. Time-Series Metrics Catalog

1,257 metrics, again a flat array. This catalog identifies a metric by slug, which is the value the Historical Financial Metrics API expects — passing a full name there will not resolve, and an unrecognised slug comes back as a 404 naming it.

Time-Series Catalog — Excerpt

Metrics in catalog: 1,257  •  Periods: 4  •  Showing 40 rows

Slug Code Dimension Metric Full Datatype
non-operating-investment-income-annual intinvinc_nonop Annual Non Operating Investment Income (Annual) int
shares-issued-annual sharesissued Annual Shares Issued (Annual) int
property-plant-and-equipment-gross-annual ppne_gross Annual Property, Plant & Equipment (Gross) (Annual) int
curent-deferred-tax-liability-annual deferredtaxliability_curr Annual Curent Deferred Tax Liability (Annual) int
randd-in-process-annual rndinprocess Annual R&D In Process (Annual) int
wages-salaries-and-other-annual wages Annual Wages, Salaries and Other (Annual) int
fcf-payout-ratio-annual fcfpayout Annual FCF Payout Ratio (Annual) int
return-on-capital-employed-growth-1y-annual roce_growth_1y Annual Return on Capital Employed Growth (1y) (Annual) int
investment-gain-loss-annual inc_invbanking Annual Investment Gain (Loss) (Annual) int
loans-net-annual loans_net Annual Loans - Net (Annual) int
fcf-margin-qoq fcfmargin_qoq Quarter FCF Margin (QoQ) (Quarter) int
income-trust inc_trust Quarter Income - Trust (Quarter) int
service-charges inc_servicecharges Quarter Service Charges (Quarter) int
cash-and-equivalents-qoq cash_qoq Quarter Cash & Equivalents (QoQ) (Quarter) %
fcf-margin-growth-5y fcfmargin_growth_5y Quarter FCF Margin Growth (5y) (Quarter) int
cash-from-financing-activities cff Quarter Cash from Financing Activities (Quarter) int
other-operating-expenses opexother Quarter Other Operating Expenses (Quarter) int
net-margin-growth-3y netmargin_growth_3y Quarter Net Margin Growth (3y) (Quarter) int
liabilities-from-discontinued-operations liabilitiesdiscont_noncurr Quarter Liabilities from Discontinued Operations (Quarter) int
amortization-of-goodwill amort_goodwill_cf Quarter Amortization of Goodwill (Quarter) int
other-working-capital-changes-ttm otherworkingcap_ch TTM Other Working Capital Changes (TTM) int
interest-expense-fed-funds-ttm intexp_fedfunds TTM Interest Expense - Fed Funds (TTM) int
amortizatization-of-intangibles-ttm amort_intangibles_cf TTM Amortizatization of Intangibles (TTM) int
return-on-invested-capital-growth-5y-ttm roic_growth_5y TTM Return on Invested Capital Growth (5y) (TTM) int
eps-diluted-ttm epsdil TTM EPS (Diluted) (TTM) int
revenue-other-ttm revenue_other TTM Revenue - Other (TTM) int
capital-leases-ttm capitalleases_noncurr TTM Capital Leases (TTM) int
change-in-net-loans-ttm netloans_chg TTM Change in Net Loans (TTM) int
rent-expense-ttm rentalexp TTM Rent Expense (TTM) int
cash-from-discontinued-operations-ttm cfdiscont TTM Cash from Discontinued Operations (TTM) int
dividend-yield divyield_daily Daily Dividend Yield %
ev-to-fcf ev2fcf_daily Daily EV to FCF int
price-to-sales ps_daily Daily Price to Sales int
ev-to-ebitda evebitda_daily Daily EV to EBITDA int
market-capitalization marketcap_daily Daily Market Capitalization int
ev-to-cfo ev2cfo_daily Daily EV to CFO int
ev-to-ebit evebit_daily Daily EV to EBIT int
enterprise-value ev_daily Daily Enterprise Value int
price-to-earnings pe_daily Daily Price to Earnings int
market-cap-to-fcf mcap2fcf_daily Daily Market Cap to FCF int

Time-Series Catalog Fields

FieldTypeDescription
slugstringHyphenated identifier, for example revenue-annual. This is what the time-series endpoint expects in its slug parameter. Pass it exactly as returned; it is lower case and hyphenated throughout.
codestringCompact internal code such as fcfmargin_qoq. Deliberately not unique: only 441 distinct codes cover all 1,257 metrics, because one code describes a base measure that then repeats across reporting periods. Do not use it as a primary key.
dimensionstringReporting period the metric is measured over — Annual, Quarter, TTM, or Daily. This is the field to group a metric picker by.
metric_fullstringFull display name including the period, for example Revenue (Annual). Useful for labels, but the time-series endpoint will not accept it as an identifier — use slug.
metric_shortstringAbbreviated display label, sized for narrow table headers and chart legends. Display only — not accepted as an identifier.
datatypestringint or %, split 934 to 323. A transformation mode other than original on the time-series endpoint overrides this to % in the response.

Time-Series Metrics by Reporting Period

DimensionMetricsWhat it covers
Quarter428Quarterly line items, margins, ratios, and growth rates. Slugs usually carry no suffix, for example revenue.
TTM428Trailing twelve month equivalents. Slugs end in -ttm.
Annual389Fiscal year figures. Slugs end in -annual.
Daily12Market-driven valuation metrics recomputed every trading day: price, market-capitalization, enterprise-value, dividend-yield, price-to-earnings, price-to-sales, ev-to-ebitda, ev-to-ebit, ev-to-revenue, ev-to-fcf, ev-to-cfo, and market-cap-to-fcf.

4. Per-Ticker Metric Coverage

The two catalogs above describe what the API supports in general. table=historic-detailed answers a narrower and often more useful question: which metrics are actually populated for a specific company. Apple returns 807 metrics and Microsoft 852, both well short of the 1,257-metric global catalog, because coverage depends on what a company reports.

Unlike the other two routes this one is not a flat array. A single ticker returns a metadata block (CIK, ticker, company name) alongside a data array. Request several tickers and the response becomes an object keyed by ticker, each holding its own metadata and data pair — so write your parser for both shapes.

GET https://data.businessquant.com/metadata?table=historic-detailed&ticker=AAPL&api_key={api_key}

Rows here carry both catalogs' identifying fields — slug, code and dimension from the time-series catalog, plus statement from the screener catalog, and a bare metric name without the period suffix. It is the only route that returns statement and slug together, which makes it the most convenient source for a per-company metric browser.

Response Shape — Single Ticker
{
  "metadata": {
    "cik": 320193,
    "ticker": "AAPL",
    "companyname": "Apple Inc.",
    "companyname_short": "Apple"
  },
  "data": [
    {
      "code": "cash_growth_1y",
      "dimension": "Annual",
      "statement": "Growth Metrics",
      "slug": "cash-and-equivalents-growth-1y-annual",
      "metric": "Cash & Equivalents Growth (1y)",
      "metric_short": "Cash & Equiv. Growth (1y) (Yr)",
      "metric_full": "Cash & Equivalents Growth (1y) (Annual)",
      "datatype": "%"
    }
  ]
}

5. Which Catalog Do I Need?

The two general catalogs are not interchangeable, and the most common integration mistake is taking an identifier from one and sending it to the other endpoint. They share 758 metric names, but the screener carries 37 the time-series catalog lacks, and the time-series catalog carries 499 the screener lacks.

 table=screenertable=historic
Feeds which endpointStock Screener APIHistorical Financial Metrics API
Identifier to sendmetric_full — the full nameslug — the hyphenated slug
Metrics returned7951,257
Grouping fieldstatement — 7 groupsdimension — 4 periods
Answers the questionWhat can I filter the market on?What can I pull a history for?

Metrics List Request Examples

Copy any request below directly into your application.

1. Every Filterable Screener Metric
https://data.businessquant.com/metadata?table=screener&api_key=YOUR_API_KEY
2. Every Time-Series Slug
https://data.businessquant.com/metadata?table=historic&api_key=YOUR_API_KEY
3. Metric Coverage for One Company
https://data.businessquant.com/metadata?table=historic-detailed&ticker=AAPL&api_key=YOUR_API_KEY
4. Compare Coverage Across Companies
https://data.businessquant.com/metadata?table=historic-detailed&ticker=AAPL,MSFT&api_key=YOUR_API_KEY

Frequently Asked Questions

Are the screener and time-series metric lists the same?

No. They are two distinct catalogs with different sizes, different identifiers, and different grouping fields. The screener catalog holds 795 metrics keyed by full name; the time-series catalog holds 1,257 metrics keyed by slug. They share 758 metric names, but 37 exist only in the screener and 499 only in the time-series catalog. Always fetch the catalog that matches the endpoint you are calling.

Can I use a slug in the screener, or a metric name in the time-series endpoint?

No, and this is the most common integration mistake. The screener matches on metric_full, the exact name including its period suffix, such as Revenue (Annual). The time-series endpoint matches on slug, such as revenue-annual, and returns 404 naming the slugs that failed. The two identifier styles are not interchangeable even when they describe the same metric.

How do I find which metrics exist for a particular company?

Use table=historic-detailed with a ticker. The global catalogs list everything the API supports, but coverage varies by company: Apple returns 807 metrics and Microsoft 852. This route is also the only one that returns statement and slug in the same row, so it is the easiest source for a per-company metric browser.

How often should I refresh the catalog?

Responses are cached server side for 24 hours, so refreshing more than once a day gains nothing. Fetch once at startup, cache locally, and resolve identifiers at runtime rather than hard-coding them — metrics are added over time, and a hard-coded list silently goes stale.

Is the Financial Metrics List API free to use?

Yes, the API is free to use. Sign up for an API key and start pulling the metric catalogs immediately.