---
title: "Who holds what, issuer files"
method: GET
path: "/holders.json"
---

# Who holds what, issuer files

`GET /holders.json`

## Request

- Base URL: `https://tickerinside.com/api/v1`
- URL: `https://tickerinside.com/api/v1/holders.json`
- Auth: none required

The reverse index of the 626 issuer files: for each of the 16,724 securities their funds hold, which of them hold it and at what weight. One file of 3.9 MB, the right shape for a client that loads it once and walks it. SEC-layer funds are not in it. A stock's SEC-layer holders are in /api/v1/sec/{ticker}.json, under holders_sec_nport, and those of a key with no stock file are in the shard of its first character, /api/v1/holders/{c}.json.

## Response `200`

The file. The example is a real answer, shortened: long lists and maps keep their first entries.

- Holders
  - `as_of` string, nullable, required: The price date.
  - `holdings_as_of` object, nullable, required: The date of each issuer-layer fund's holdings file, keyed by ticker.
  - `funds` object, nullable, required: Ticker to fund name for the issuer-layer funds, and for a few other funds the price data names, and for other funds the price data names. Use index.json tickers, not this map, as the list of covered funds.
  - `securities` integer, nullable, required: How many distinct securities the issuer-layer funds hold between them, the length of holders.
  - `names` object, nullable, required: Ticker to company name for every security the data can name: from the price data for the stocks with a history, from the issuer files for the rest.
  - `note` string, nullable, required: How to read the holders map.
  - `holders` object, nullable, required: The index itself: for each security, the issuer-layer funds that hold it, as [fund ticker, weight percent], heaviest first. A security is one listed line. A US line is keyed by its ticker, and a dot and one letter mark a US share class (BRK.B). Any other line is keyed by its local code and its market, a dot and a two letter country code (7203.JP, SAN.FR). The Toronto line of a Canadian company that also trades in New York is the same shares, under the US ticker (RY). Preferred shares a file writes under their issuer's common ticker are under that ticker and .PFD, three letters and never a market (JPM.PFD). That key holds every series of JPMorgan's preferred stock a fund holds, and in a preferred stock fund any other income security filed under the ticker, such as a business development company's listed notes. It is a US line of its own, so a preferred stock fund is never listed among the holders of the common stock.
  - `aliases` object, nullable, required: The keys written before lines listed abroad were keyed with their market, when a local code alone was the key. Each maps to the keys it reads as now, the US line first and then the heaviest: 7203 reads as 7203.JP (Toyota) and 7203.SA (Elm), A005930 as 005930.KR. A key that became several was several companies or lines under one code. The shard of each old key's first character lists them all. This file leaves out a key that reads only as itself with its market after it (NESN as NESN.CH).
  - `license` string, nullable, required: The licence the data is published under.
  - `attribution` string, nullable, required: How to credit the data: a link to this file where the medium allows one, the name where it does not.
  - `source` string, nullable, required: Where the method behind these figures is written down.

## Other responses

- `304`: Not modified: the ETag of your copy, sent in If-None-Match, is still current. Files are cached five minutes.
- `503`: The file could not be served just then: retry after a minute. uptime says whether the site fails its own checks.

---

[API](https://skmtc.dev/tickerinside/apis/tickerinside-api.md) · [All operations](https://skmtc.dev/tickerinside/apis/tickerinside-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickerinside/apis/tickerinside-api/revisions/4dae3d8c4119?raw)
