Skip to main content
GET
Shareholding Pattern Holders
Use this endpoint to inspect disclosed holder rows from one canonical filing selected using the same snapshot controls as the Shareholding Pattern endpoint.

Choose the filing and holders

  • filing_basis selects periodic, pre_listing, or capital_restructuring, and defaults to periodic.
  • For periodic holders, as_of_date selects an exact quarter-end observation. Common dates are 2025-03-31, 2025-06-30, 2025-09-30, and 2025-12-31.
  • Without as_of_date, the endpoint uses the latest canonical filing for the selected basis.
  • If you provide as_of_date without filing_basis, the request still defaults to periodic.
To inspect a non-periodic filing, select filing_basis=pre_listing or filing_basis=capital_restructuring and initially omit as_of_date; the endpoint selects the latest filing for that basis. Add a date only when you know the exact observation you want. The API does not substitute an earlier or later observation when the requested date has no exact match. After selecting the filing, narrow its disclosed rows with:
  • category for one of promoters, fii, dii, government, or public.
  • q for a case-insensitive substring search within holder names.
  • page and limit to paginate the matching rows.
For example, use ticker=JAKHARIA, filing_basis=capital_restructuring, and as_of_date=2025-10-09 to inspect holders disclosed after that capital-structure change. Category and name filters are applied before pagination. The default page is 1, the default limit is 50, and the maximum limit is 100.

Reading the response

  • total_shares and total_shareholders describe the entire filing, not just the holders on the current page.
  • as_of_date and filing_basis identify the selected filing.
  • meta.total_count is the number of disclosed holder rows matching your filters before pagination. It is not the company’s total shareholder count.
  • shares and percentage are independently reported for each holder. Keep both when exact share counts matter.
  • category is the stable headline classification used by the API.
  • subcategory is a more detailed taxonomy-derived classification and may evolve as regulatory taxonomies change.
A holder’s category can be null when the row does not map to one of the five headline categories. This does not necessarily mean the source classification is missing; use subcategory for the available detail. This endpoint returns disclosed filing rows, not a complete register of every shareholder. If no canonical filing matches the selected basis and date, data is null and meta.total_count is 0. If the filing exists but no holder rows match your filters, the filing metadata remains available, holders is empty, and meta.total_count is 0.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

ticker
string
required

Company ticker symbol. Supports formats: plain ticker (RELIANCE), exchange-prefixed with dot (NSE.RELIANCE, BSE.RELIANCE), or colon (NSE:RELIANCE, BSE:RELIANCE), and BSE numeric IDs (BSE.500325). When no exchange is specified, matches against the generic stock ticker.

Example:

"RELIANCE"

filing_basis
enum<string>
default:periodic

Select the normalized filing type. Defaults to periodic. Normalized reason for the filing: a regular reporting-period disclosure, a disclosure before listing, or a disclosure following a material capital-structure change.

Available options:
periodic,
pre_listing,
capital_restructuring
Example:

"periodic"

as_of_date
string<date>

Exact source-reported shareholding observation date in YYYY-MM-DD format. For the default periodic filing basis, common observation dates are quarter ends such as 2025-03-31, 2025-06-30, 2025-09-30, and 2025-12-31. To discover non-periodic records, select pre_listing or capital_restructuring and initially omit this parameter; provide it only when the exact observation date is known. A date-only request still defaults to periodic, and the API never substitutes an earlier or later observation when no exact match exists.

category
enum<string>

Optional stable headline category used to filter disclosed holders.

Available options:
promoters,
fii,
dii,
government,
public
Example:

"dii"

q
string

Optional case-insensitive substring search over holder names.

Example:

"mutual"

page
integer
default:1

Page number after applying the category and holder-name filters. Defaults to 1.

Required range: x >= 1
Example:

1

limit
integer
default:50

Maximum number of holder rows returned per page. Defaults to 50.

Required range: 1 <= x <= 100
Example:

10

Response

Disclosed holder rows and pagination metadata from the selected canonical filing. Returns null data with a zero total count when no filing matches the selectors.

status
enum<string>
required
Available options:
success
data
object | null
required

Disclosed holders from the selected canonical shareholding filing. Null when no filing matches the selectors.

meta
object
required