---
title: "Intraday price bars"
method: GET
path: "/v1/stocks/{symbol}/prices/intraday"
tags: ["prices"]
---

# Intraday price bars

`GET /v1/stocks/{symbol}/prices/intraday`

## Request

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

1, 5 or 15-minute OHLCV bars for one stock during regular market hours (09:15-15:30 IST), from April 2017 for about 1,100 stocks, widening to 3,000+ by 2026. Prices are as printed, NOT adjusted for later splits or bonuses, so before an ex-date they differ in scale from daily bars. Pass `date` for one session or `from`/`to` for up to 7 calendar days. Timestamps are bar start times in UTC. Updated after each session closes; pages by timestamp.

## Path parameters

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

## Query parameters

- `date` string
- `from` string
- `to` string
- `interval` '1' | '5' | '15'
- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string

## Response `200`

OK. Costs one request unit.

- object
  - `data` StockIntradayPricesItem[], required
    - `ts` string, required: Bar START time, ISO-8601 UTC (e.g. 2026-10-15T03:45:00Z = 09:15 IST). The bar covers [ts, ts + interval).
    - `open` number, nullable, required: First traded price in the bar, INR, as printed (not split/bonus adjusted).
    - `high` number, nullable, required: Highest price in the bar, INR.
    - `low` number, nullable, required: Lowest price in the bar, INR.
    - `close` number, nullable, required: Last traded price in the bar, INR.
    - `volume` integer, nullable, required: Shares traded in the bar. 0 means no trades (price carried forward from the previous bar).
  - `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)
