Knowledge Base/Why are ticker symbols with dashes not showing in Massive's system?

Why are ticker symbols with dashes not showing in Massive's system?

Because Massive writes class shares with a dot rather than a dash, so BRK-A is BRK.A, and preferred shares with a lowercase p, so a Series D preferred is ABRpD. On the bars and trades endpoints an unknown symbol returns an empty result rather than an error, which is why it looks like missing data.

A symbol that returns nothing from Massive reads as missing data and is almost always a spelling difference. On the trades endpoint, an unrecognized symbol comes back as an empty results array with HTTP 200, and on the bars endpoints as "resultsCount": 0 with no results key, so nothing tells you the symbol was wrong. Massive uses a different convention from most other sources for two families of ticker, and both are easy to translate once you know.

Applies to

  • Plans: every plan. This is a symbol convention, not an entitlement.
  • Endpoints: every stocks endpoint, and /v3/reference/tickers for looking a symbol up.
  • Asset classes: US stocks, including preferred shares, warrants, rights and units.

The conventions

The conventions are three rules, and they cover nearly every case:

What you haveWhat Massive usesExample
A dash or slash before a class letterA dotBRK-A and BRK/A are both BRK.A
A capital P before a preferred seriesA lowercase pABRpD, ACPpA, ACRpC
A suffix for warrants, rights or unitsA dot and a letterLook it up rather than guessing

The lowercase p matters because symbols are otherwise upper case, so it is easy to normalize away with a .upper() call and then wonder why the ticker vanished.

How to find a symbol you are unsure of

Search by name rather than guessing at punctuation:

curl -X GET "https://api.massive.com/v3/reference/tickers?search=Berkshire&limit=5&apiKey=YOUR_API_KEY"

Response

{
  "results": [
    { "ticker": "BDVG", "name": "IMGP Berkshire Dividend Growth ETF", "type": "ETF", "active": true },
    { "ticker": "BRK.A", "name": "Berkshire Hathaway Inc.", "type": "CS", "active": true },
    { "ticker": "BRK.B", "name": "BERKSHIRE HATHAWAY Class B", "type": "CS", "active": true }
  ],
  "status": "OK"
}

The search matches names, so it returns funds with the word in their title as well. Read the type field: CS is a common share, ETF is a fund.

You can also filter by type=PFD to list preferred shares, which is the quickest way to see the lowercase-p pattern applied to a whole family of symbols.

Why the punctuation differs at all

The punctuation differs because there is no single standard. The exchanges, the SIPs and the data vendors each chose a way to write a class share, and a symbol has to be unambiguous within one namespace rather than portable across all of them. Massive uses the dot form consistently, so the rule to apply when you are importing symbols from elsewhere is to translate once at the boundary rather than in every query.

If you see an error

On /v3/trades, an empty results array with "status": "OK" is what an unrecognized symbol looks like; on /v2/aggs it is "resultsCount": 0 with no results key. Neither is a permissions problem or a data gap.

The ticker lookup is stricter about punctuation. /v3/reference/tickers?ticker=BRK-B returns HTTP 400 with "error": "Invalid ticker parameter", and /v3/reference/tickers/BRK-B returns HTTP 400 with "error": "Invalid ticker: BRK-B". Use the dot form, BRK.B.

A symbol that works elsewhere and not here is almost always the dash. Try the dot.

A preferred share that disappears after you upper-case your inputs is the lowercase p. Preserve the case of symbols end to end.

Related


Was this article helpful?

Modernizing Wall St.

Reimagining financial market data for the 21st century.

Schedule a demo

Talk with our market data experts

Recommended

Can't find the answer you're looking for? Contact our team.
  • Title
    Are all indices available through the basic subscription tier?
    Data Coverage Category

    Data Coverage

    Indices Category

    Indices

    Description
    No, and the ones it withholds are the famous ones: SPX, DJI, RUT and VIX all need a paid Indices tier. Basic still reaches more than 10,000 of the 13,000-odd indices Massive publishes, and NDX and the Nasdaq Composite are among them.
  • Title
    Does Massive offer dark pool data?
    Data Coverage Category

    Data Coverage

    Stocks Category

    Stocks

    Description
    Yes. Off-exchange prints, which include dark pool executions, arrive on the ordinary trades feed and are identified by an exchange ID of 4. There is no separate dark pool endpoint, and no way to tell which individual venue a print came from.
  • Title
    Does Massive offer pre-market and after-hours data?
    FAQ Category

    FAQ

    Stocks Category

    Stocks

    Description
    Yes. Every extended-hours trade and quote is published, from 04:00 to 20:00 Eastern. There is no session parameter, so you select a session with timestamps, and expect far fewer aggregate bars outside regular hours because many extended-hours trades are odd lots that cannot set a price.