Alphanume
Reference DataPro

Ticker Classification

Group any US equity into a sector and an industry, so a screen, a factor, or a backtest gets ranked against the right peer set instead of the whole market. Every ticker maps into eleven sectors and twenty-five industries with fixed lowercase keys.

GET /v1/ticker-classificationCurrent mapping, no date dimension
  • Neutralize a signal against its peers.

    Group by alphanume_sector and rank inside each group, so a factor is not just a bet on whichever sector rallied.

  • Cut a universe down to one exposure.

    sector=technology or industry=semiconductors returns exactly those ticker values, ready to intersect with any other dataset.

  • Label every row you already have.

    Join on ticker to stamp alphanume_sector and alphanume_industry onto events, signals, or positions pulled from any other endpoint.

Ask your agent
Prompt · MCP or REST

Is my strategy actually picking good companies, or is it just long one part of the market? Break the returns down by the kind of business each company is in and tell me which group is carrying the result.

Your agent labels each position with its sector and industry, then re-runs the attribution group by group to show whether the edge holds inside each one.

What this dataset is

Two labels per ticker, and nothing else.

Classification answers one question: what kind of business is this company in? This dataset answers it twice for every ticker. Once at the sector level, eleven broad groups such as technology, finance, and healthcare, and once at the industry level, twenty-five narrower groups such as semiconductors, banking, and pharma_biotech.

There is no date dimension. Each row is one ticker and its two labels, ordered by ticker, and the labels are stored rather than inferred when you query. Values are lowercase and underscore-separated, which is what makes them safe to pass in a URL, keep in a column, and compare with a plain string match.

Each row includes:

  • One equity ticker.
  • alphanume_sector: one of eleven broad economic groups.
  • alphanume_industry: one of twenty-five narrower business groups.
  • Lowercase, underscore-separated values, identical to the keys the filters accept.
  • A deterministic assignment: the same ticker returns the same pair on every call.

These are Alphanume's own groupings, not GICS and not SIC. They are built to be stable and machine-readable for quant work, which means they will not tie out row for row against an index provider's sector weights.

What you can do with it

The peer group is what makes a signal mean something.

Most cross-sectional signals are partly a sector bet until you make them not one. Rank the whole market on a momentum or value measure and the top decile is often one or two industries, so the strategy lives or dies on those industries rather than on the measure you were testing. Grouping by alphanume_sector and ranking inside each group separates the two, and the same grouping tells you afterward where the return actually came from.

The second use is universe construction. An event study on semiconductors, a pairs screen inside banking, a dilution screen that leaves out reits: each one starts with a filtered ticker list. This endpoint returns that list in a single call, instead of a hand-kept list that silently goes stale as companies list, merge, and change what they do.

  • Rank a signal inside alphanume_sector to strip the sector bet out before selection.
  • Pull sector=technology or industry=semiconductors as the starting universe for an event study.
  • Attribute a backtest's returns by group to see whether one industry carried the whole result.
  • Build industry-relative measures by comparing each name with the median of its own alphanume_industry.
  • Cap exposure per sector when sizing a basket, using the label as the grouping key.
Where the data comes from

Assigned from business activity, fixed at write time.

Each ticker is assigned to a sector and an industry from the underlying business activity, using Alphanume's own taxonomy rather than a licensed standard. The groups were sized to be coarse enough that every name lands in a populated bucket and fine enough that the buckets still separate: eleven sectors, twenty-five industries, no long tail of near-empty codes.

Assignments are served as stored values, not recomputed at query time, so two runs of the same query return the same labels. The mapping reflects the present state of each ticker and moves only when a company's business changes enough to warrant it. An invalid sector or industry value returns a 400 rather than an empty list, which makes a typo in a pipeline loud instead of silent.

Fields that matter

Three columns and the filters that read them.

The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.

FieldTypeWhat it tells you
tickerstringEquity ticker symbol; also the filter for a single-name lookup
alphanume_sectorstringThe broad group the company sits in, one of eleven values
alphanume_industrystringThe narrower business group, one of twenty-five values
sectorparamFilters to one sector; must be an accepted lowercase key such as technology or finance
industryparamFilters to one industry, such as semiconductors or banking; combines with sector
dataarrayThe rows themselves, ordered by ticker ascending
countintegerNumber of rows returned for the filters you sent
Query it in one call

One call returns a whole sector.

One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.

Python
import requests

url = "https://api.alphanume.com/v1/ticker-classification"
params = {
    "api_key": "alp_abc123",
    "sector": "technology"
}

r = requests.get(url, params=params)
print(r.json())
cURL
curl "https://api.alphanume.com/v1/ticker-classification?sector=technology&api_key=alp_abc123"
Example response
{
  "count": 2,
  "data": [
    {
      "ticker": "AAPL",
      "alphanume_sector": "technology",
      "alphanume_industry": "hardware_devices"
    },
    {
      "ticker": "MSFT",
      "alphanume_sector": "technology",
      "alphanume_industry": "software"
    }
  ]
}
Honest limitations

What this data does not claim.

  • Sector weights computed from this mapping will not match an index provider's, because the taxonomy is not theirs.
  • There is no history. The mapping is current, so a company that changed businesses is labeled by what it is now, not by what it was during your backtest window.
  • One ticker gets one sector and one industry. A company with two real businesses is placed in the dominant one, and nothing in the row tells you it was a close call.
  • A ticker missing from a response is unclassified rather than misclassified. Write joins that expect misses instead of assuming full coverage.
  • Invalid sector or industry values return a 400 error rather than an empty result set.
Common questions

Asked by researchers, answered plainly.

Is this GICS or SIC classification?

Neither. GICS is licensed by S&P and MSCI, and SIC is the code set companies file under with the SEC. This is a separate taxonomy built for querying and grouping. If your work has to reconcile with a licensed benchmark, use that provider's data. If you need a stable peer group to filter and neutralize with, this is the simpler path.

What is the difference between the sector and industry values?

Sector is the coarse cut, eleven groups spanning the market. Industry is the finer cut, twenty-five groups describing narrower business lines such as banking, insurance, and financial_services. Both filters can be sent together, for example sector=finance and industry=banking, to narrow a universe in one call.

How do I build a sector-neutral strategy with this?

Group your candidates by alphanume_sector, rank inside each group, and take the same number of names from every group. Because assignments are stored rather than inferred at query time, the grouping does not shift underneath you between two runs of the same backtest.

What happens when a company changes its business?

The dataset holds one current mapping, so a reclassification replaces the old label rather than being recorded next to it. Over a long backtest that means sector labels are applied as of today, and a company that pivoted mid-sample carries its current label across its whole history.

Start querying

Available with Pro. Enterprise for teams.

New REST API and MCP access requires Pro or Enterprise. Public dashboard previews are separate from a subscription. Pro includes the available historical record, current updates, REST, MCP, dashboard exports, and every standard dataset as it launches. Explore the dashboard preview before subscribing; its existing limits still apply.