---
title: "Daily market capitalisation"
method: GET
path: "/v1/stocks/{symbol}/market-cap"
tags: ["prices"]
---

# Daily market capitalisation

`GET /v1/stocks/{symbol}/market-cap`

## Request

- Base URL: `https://api.tapetide.com`
- URL: `https://api.tapetide.com/v1/stocks/{symbol}/market-cap`
- Auth: HTTP bearer

Total market capitalisation at each session's close in INR crore (close x shares outstanding), from August 2015 for about 3,200 stocks, 5,500+ today. Updated daily. Each value is close(D) x shares outstanding on D, where the share count is the latest filed count on or before D (quarterly filed issued shares, or annual equity capital / face value) carried to the current share basis with the split and bonus factors in /v1/stocks/{symbol}/corporate-adjustments. The source market-cap series is used only as a cross-check, and as the count after a rights issue, buyback, merger or demerger the filing predates. A date is published as null, with `null_reason`, when there is no verified daily price bar, no filed count within 400 days before it, or the share count cannot be confirmed. Defaults to the last 365 days; filter with `from`/`to` (at most 5 years per request), pages by date.

## Path parameters

- `symbol` string, required: Stock symbol, e.g. "RELIANCE". Percent-encode "&" (M%26M).

## Query parameters

- `from` string
- `to` string
- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string

## Response `200`

OK. Costs one request unit.

- object
  - `data` StockMarketCapItem[], required
    - `date` string, required: Trading date (IST) (YYYY-MM-DD).
    - `market_cap_cr` number, nullable, required: Total market capitalisation at that session's close, INR crore (1 crore = 10 million). null where it cannot be verified for that date; `null_reason` says why.
    - `null_reason` 'no_price_bar' | 'no_recent_share_filing' | 'share_count_unverified' | 'share_count_disagrees', nullable, required: Why market_cap_cr is null (null when it is published): no_price_bar (no verified daily bar that session); no_recent_share_filing (no filed share count within 400 days before the date); share_count_unverified (the day's share count could not be confirmed and the filed count cannot stand in for it); share_count_disagrees (the day's share count contradicts the filed count by more than 5% and the filing cannot stand in).
  - `meta` ListMeta, required
    - `as_of` string, date-time, required: When this response was assembled (UTC).
    - `route` string, required: operationId that served the request.
    - `count` integer, required: Items in this page.
    - `limit` integer, required: Page size applied.
    - `has_more` boolean, required: Whether another page exists.
    - `next_cursor` string, nullable, required: Pass as `cursor` to fetch the next page; null on the last page.
  - `links` Links, required
    - `next` string, nullable: Relative URL of the next page, or null.

## Other responses

- `400`: Malformed or out-of-range parameter. Not charged.
- `401`: Missing or invalid bearer token.
- `404`: The requested resource does not exist. Not charged.
- `429`: Per-minute burst cap (`rate_limited`) or plan quota (`quota_exhausted`) reached.
- `500`: Unexpected server error. Not charged.
- `502`: A data dependency was unavailable. Not charged.
- `503`: Authentication or quota service temporarily unavailable (`service_unavailable`). Not charged; retry after `Retry-After` seconds.

---

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