Company Peers API: Comparable Companies, Ranked, Done Right
Most financial data APIs have no company peers endpoint, and the one that does returns a flat, often-empty ticker list. The StockFit Company Peers API returns up to 6 same-industry comparables, ranked by revenue, classified by our proprietary SFIC system.

"Who are this company's peers?" is one of the most common questions in equity research, and one of the worst-served by financial-data APIs. Most providers have no company peers API at all. The one that does returns a bare list of tickers that is frequently wrong, broad, or empty. The StockFit /api/company/peers endpoint takes a different approach: same-industry comparables, ranked by how close they are in revenue scale, each annotated with its revenue and reporting currency, built on a classification system we maintain ourselves.
What the Company Peers API returns
One call, one stock ticker. The response is the subject company's own latest annual revenue, then up to six comparable companies ordered most-comparable-first. Each peer carries its symbol, name, listing exchange, latest annual revenue, and the currency that revenue is reported in. The subject is never listed as its own peer.
curl "https://api.stockfit.io/api/company/peers?symbol=MSFT" \
-H "Authorization: Bearer YOUR_TOKEN"{
"revenue": 281724000000,
"currency": "USD",
"peers": [
{ "symbol": "ORCL", "name": "ORACLE CORP", "exchange": "NYSE", "revenue": 57399000000, "currency": "USD" },
{ "symbol": "CRM", "name": "Salesforce, Inc.", "exchange": "NYSE", "revenue": 41525000000, "currency": "USD" },
{ "symbol": "ADBE", "name": "ADOBE INC.", "exchange": "Nasdaq", "revenue": 23769000000, "currency": "USD" },
{ "symbol": "INTU", "name": "INTUIT INC.", "exchange": "Nasdaq", "revenue": 18831000000, "currency": "USD" },
{ "symbol": "NOW", "name": "ServiceNow, Inc.", "exchange": "NYSE", "revenue": 13278000000, "currency": "USD" },
{ "symbol": "SHOP", "name": "SHOPIFY INC.", "exchange": "Nasdaq", "revenue": 11556000000, "currency": "USD" }
]
}That is Microsoft returning Oracle, Salesforce, Adobe, Intuit, ServiceNow, and Shopify, the large enterprise-software names an analyst would actually reach for, ordered by revenue. Every value traces back to a number in an SEC filing. It is available on the Stock and Professional plans.
Which financial-data APIs even have a peers endpoint?
Before comparing quality, it is worth establishing scarcity. We checked the public documentation of the usual fundamentals APIs. A comparable-companies endpoint is rare, and where it exists it is thin.
| Provider | Peers endpoint? | What you actually get |
|---|---|---|
| StockFit | Yes | Up to 6 same-industry peers, ranked by revenue, each with its revenue and reporting currency, plus the subject's own revenue. Classified by SFIC (below). |
| Alpha Vantage | No endpoint | The fundamental-data category is company overview and the three financial statements. There is no peers, competitors, or comparable-companies endpoint. |
| Finnhub | Yes, but… | /stock/peers returns a flat array of ticker strings grouped by the company's country and sector/industry. No revenue, no ranking, no size context, no currency. In practice the list is broad-sector and, for many tickers, short or empty. |
| Twelve Data | No endpoint | The fundamentals catalog (profile, statistics, statements, key executives, market cap) has no peers or competitors endpoint. |
Sources you can verify yourself: Alpha Vantage API documentation (fundamental data is overview + statements only), Finnhub company peers (a list grouped by country and sector/industry), and the Twelve Data documentation (no peers endpoint in the fundamentals catalog). If we have misread any of these, tell us and we will correct it.
Why most peer data is incomplete, wrong, or empty
Our experience using the one mainstream peers endpoint that exists is that it serves incomplete, miscategorized, or no data. The reason is structural, not a bug. A peers list is only as good as the classification under it, and the classifications most APIs lean on are too coarse.
A flat ticker list is not an answer
Finnhub's /stock/peers returns something like ["AAPL","DELL","HPQ","WDC",...]: tickers only, grouped by the company's broad sector. There is no revenue, no size, no ranking, no currency, and nothing that tells you which of those names is actually comparable. For a $400B company and a $300M company in the same sector code, you get them mixed together with no signal, and for plenty of tickers the array comes back short or empty.
SIC and broad sector buckets mislabel the obvious cases
Raw SEC SIC codes (and the broad sector maps built on them) are too blunt for peers. A single software SIC code lumps infrastructure software, cybersecurity, payment processors, and video games into one bucket. A single insurance bucket puts UnitedHealth (a health insurer) next to a property-and-casualty carrier. Apple sits in a tiny "electronic computers" bucket; Alphabet hides in a generic software code. Hand any of these to a naive peers endpoint and the result is a list that looks plausible and is wrong.
SFIC: our proprietary alternative to GICS
The fix is a better classification. The industry standard, GICS, is excellent but proprietary and licensed. So we built our own: SFIC, the StockFit Industry Classification. It is a curated, two-level taxonomy (sector then industry) layered on top of SEC data, designed for exactly one job: putting companies that genuinely compete into the same bucket.
SFIC starts from the SEC classification, then does the work the raw codes never do:
- ▹Splits broad buckets. Generic "software" becomes cybersecurity, payments/fintech, interactive entertainment, internet platforms, and core SaaS. Health insurers split out from property-and-casualty carriers. Steelmakers split from miners.
- ▹Reroutes misfiled names. Mega-caps and edge cases that the SEC code places oddly get mapped to where they actually belong.
- ▹Resolves the company canonically. Peers are matched on a canonical issuer identity, not a fuzzy name, so share-class and listing duplicates do not pollute the list.
Within an SFIC industry, peers are ranked by how close they are to the subject in revenue scale, because a relevant peer is one of similar size, not just one in the same business. Companies that report in a non-USD currency, or for which we have no revenue, sort to the bottom, since their figures are not directly comparable. SFIC itself stays under the hood: the API returns clean peer companies, not taxonomy codes.
Company Peers API examples
The proof is in the lists. These are live responses from the production endpoint.
Semiconductors: NVDA
The chip complex, cleanly: foundry, fabless, memory, and equipment, ordered by revenue. Note that foreign filers like TSMC are included with their USD figures, because StockFit prefers the USD-denominated value when a company dual-reports.
Managed care: UNH (where broad buckets fail)
UnitedHealth returns the actual managed-care cohort, Cigna, Elevance, Centene, Humana, Molina, Oscar, not the property-and-casualty insurers a single "insurance" classification would mix in. This is the SFIC split doing its job.
Railroads: UNP (currency disclosure)
The US rails come first by revenue; the Canadian rails follow, explicitly tagged CAD and sorted to the bottom because a 17.3B CAD figure is not directly comparable to a USD one. You always know what currency you are looking at.
How to call the Company Peers API
It is a single GET with a symbol query parameter, and it resolves both tickers and CIKs. Peers are only defined for stocks: requesting peers for an ETF or mutual fund returns a 400. Pair it with /api/company/details for the subject's profile, or with /api/financials/income-statement to pull full statements for the whole peer set and build a comp table. The revenue figures themselves come from the same curated fundamentals that power /api/financials/key-metrics.
const peers = await fetch(
'https://api.stockfit.io/api/company/peers?symbol=NVDA',
{ headers: { Authorization: 'Bearer ' + token } }
).then(r => r.json());
// Build a comparison set: the subject + its peers, by revenue
const universe = [
{ symbol: 'NVDA', revenue: peers.revenue },
...peers.peers.map(p => ({ symbol: p.symbol, revenue: p.revenue })),
];For the classification layer the peers are built on, the SIC-based sector and industry maps are exposed directly via /api/symbols/industries and /api/symbols/sectors. If you are deciding between providers, our StockFit vs. Alpha Vantage comparison covers the broader fundamentals surface, and sector and industry-specific metrics explains why one-size-fits-all classification breaks for banks, insurers, and REITs, the same failure mode that breaks naive peer lists.
FAQ
What is a company peers API?
A company peers API returns the comparable public companies for a given stock, the set an analyst would use to benchmark valuation, margins, and growth. The StockFit Company Peers API, /api/company/peers, returns up to six same-industry peers ranked by revenue, each with its revenue and reporting currency, plus the subject company's own revenue, in one call per ticker.
Does Alpha Vantage or Twelve Data have a peers endpoint?
No. As of this writing, neither Alpha Vantage nor Twelve Data documents a peers, competitors, or comparable-companies endpoint. Alpha Vantage's fundamental data is a company overview plus the three financial statements; Twelve Data's fundamentals catalog covers profile, statistics, statements, key executives, and market cap. Neither returns a peer set.
Does Finnhub have a company peers endpoint?
Yes, Finnhub exposes /stock/peers, but it returns a flat array of ticker symbols grouped by the company's country and sector or industry, with no revenue, ranking, size, or currency. In practice the list is broad-sector and, for many tickers, short or empty. StockFit returns a ranked, revenue-annotated, currency-aware peer set instead.
How does StockFit choose peers?
Each company is classified with SFIC, the proprietary StockFit Industry Classification, a curated two-level taxonomy that splits broad SEC buckets into industries that actually compete (for example separating cybersecurity from generic software, or health insurers from property-and-casualty carriers). Within an industry, peers are ranked by how close they are to the subject in annual revenue, and capped at six.
What is SFIC and how is it different from GICS?
SFIC (StockFit Industry Classification) is our in-house alternative to GICS, the licensed industry standard. Like GICS it is a curated sector-and-industry taxonomy, but it is built and maintained by StockFit on top of SEC data and tuned for peer comparison. It corrects the coarseness and misfilings of raw SIC codes without requiring a third-party license.
Why are some peers shown in a non-USD currency and sorted last?
Some foreign issuers report revenue only in a local currency such as CAD or CNY. Those peers are still returned, with their currency clearly labeled, but they are sorted to the bottom because a local-currency figure is not directly comparable to a USD one. When a company dual-reports (for example a Chinese issuer filing both CNY and USD), StockFit prefers the USD value.
How many peers does the endpoint return, and for what symbols?
Up to six, ordered most-comparable-first, and only for stocks. Requesting peers for an ETF, mutual fund, or other non-stock symbol returns a 400. The subject company is never included in its own peer list.
Which subscription tiers include the Company Peers API?
The Stock plan ($39/mo) and the Professional plan ($69/mo). You can get a token from the StockFit dashboard and call it immediately, no credit card required to sign up.
Ready to build?
Free API key, no credit card. Every endpoint mentioned in this post is available on the free tier.
Get Your Free API Key