finlight Logo

Thursday, July 16, 2026

Tickers & Exchanges Done Right with the finlight API

Kevin Bartsch

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:

  • primaryListing is the company's main listing, with its exchangeCode and exchangeCountry.
  • otherListings holds every secondary listing. This is how you see that Apple also trades as APC on XETRA in Germany.
  • isin and openfigi are globally unique identifiers. Unlike a bare ticker, they point to exactly one security, which makes them ideal for matching against your own data.
  • confidence tells 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:

  1. If you only have tickers, send tickers and turn on includeEntities, then confirm the primaryListing matches the exchange you expect.
  2. If you have ISINs or OpenFIGI ids, filter with isin: / openfigi: in the query for an exact match.
  3. Store finlight's companyId alongside your records so future lookups are unambiguous.

Where to go next

Get your free API key →