Thursday, July 16, 2026
Tickers & Exchanges Done Right with the finlight API
Tickers & Exchanges Done Right with the finlight API
Filtering news by ticker sounds simple until you hit reality: the same ticker can mean different companies on different exchanges, and one company can trade under several tickers across the world. Get this wrong and your "Apple" feed quietly fills up with the wrong stories.
finlight solves this by resolving every tagged company to real, unambiguous identifiers. This guide shows how to filter by ticker and how to read those identifiers so you always target the right company.
Filtering by ticker
The quickest way is the structured tickers filter:
curl -X POST https://api.finlight.me/v2/articles \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tickers": ["AAPL", "NVDA"],
"includeEntities": true,
"pageSize": 20
}'
Note includeEntities: true. That tells finlight to return the resolved company data for each article,
which is what lets you verify you matched the right company.
Reading the resolved entities
With includeEntities on, each article carries a companies array. A single company looks like this:
{
"companyId": 320,
"name": "Apple Inc.",
"ticker": "AAPL",
"confidence": "0.98",
"isin": "US0378331005",
"openfigi": "BBG000B9XRY4",
"sector": "Technology",
"industry": "Consumer Electronics",
"primaryListing": {
"ticker": "AAPL",
"exchangeCode": "NASDAQ",
"exchangeCountry": "US"
},
"otherListings": [
{ "ticker": "APC", "exchangeCode": "XETRA", "exchangeCountry": "DE" }
]
}
A few fields do the heavy lifting:
primaryListingis the company's main listing, with itsexchangeCodeandexchangeCountry.otherListingsholds every secondary listing. This is how you see that Apple also trades asAPCon XETRA in Germany.isinandopenfigiare globally unique identifiers. Unlike a bare ticker, they point to exactly one security, which makes them ideal for matching against your own data.confidencetells you how sure finlight is that the article is really about this company.
Disambiguating with precision
When a plain ticker is ambiguous, narrow it with the query language. You can filter on the exchange or on a unique identifier:
ticker:AAPL AND exchange:NASDAQ
isin:US0378331005
Filtering by isin or openfigi removes ambiguity entirely, because each one resolves to a single
security regardless of how many tickers the company trades under.
A practical pattern
For portfolio or watchlist work, match on the identifier you trust most:
- If you only have tickers, send
tickersand turn onincludeEntities, then confirm theprimaryListingmatches the exchange you expect. - If you have ISINs or OpenFIGI ids, filter with
isin:/openfigi:in the query for an exact match. - Store finlight's
companyIdalongside your records so future lookups are unambiguous.
