# Indian Stock Data API

### Overview

The **Infoway Indian Stock Real-Time Market Data API** provides comprehensive access to Indian’s equity markets, covering more than **5,800 listed securities** across the **Bombay Stock Exchange (BSE)** and **National Stock Exchange of India (NSE)**.

It enables developers and institutional users to monitor live market movements, analyze trading activity, and make timely investment decisions with low-latency data delivery.

### 1. Retrieving the Indian Stock List

Infoway maintains an updated list of approximately **5,800 Indian securities**.\
You can obtain the list in two ways:

**Option 1 — Download from the Web Portal**

Log in to your Infoway account and download the latest stock excel list file from the **Downloads** section at the right side of the dashboard.

**Option 2 — Query via API**

You can also retrieve the list programmatically through the **HTTP Symbol List API**.\
Refer to the [**GET /symbol-list**](https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-symbol-list) documentation for usage details.

{% hint style="info" %}
The stock list is updated periodically to include **newly listed companies** and remove **delisted securities**. To ensure your application always reflects the latest market data, it is recommended to refresh the list regularly.
{% endhint %}

### 2. Query Methods

Infoway offers **two primary data-access methods**, optimized for different use cases:

| Method                  | Ideal Use Case                    | Description                                                                                                         |
| ----------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **HTTP API**            | Scheduled or batch data queries   | Flexible pull-based access to company fundamentals, historical quotes, real-time candlesticks, and order book data. |
| **WebSocket Streaming** | Low-latency, real-time monitoring | Push-based streaming for the fastest access to live market updates.                                                 |

{% hint style="info" %}
Both HTTP and WebSocket interfaces are subject to rate limits. See the [*Rate Limit Policy*](https://docs.infoway.io/en-docs/getting-started/api-limitation) section for detailed constraints.
{% endhint %}

### 3. Market Data Schemas

The Infoway Indian Stock Real-Time Market Data API supports multiple categories of data feeds.

#### 3.1 Real-Time Candlestick (OHLCV) Data

Provides live candlestick data for Indian securities, including open, high, low, close prices, trading volume, and turnover value.\
This allows users to visualize price movements and analyze short-term market trends.

You can access this data via:

* **HTTP Request:** see [*GET /candlestick*](https://docs.infoway.io/en-docs/rest-api/market-data/post-candlestick-real-historical)
* **WebSocket Subscription:** see [*WebSocket /candlestick*](https://docs.infoway.io/en-docs/websocket/websocket-subscribe-method/candlestick-subscription) topic

**Example Response**

```json
{
  "s": "INFY.IN",
  "respList": [
    {
      "t": "1773037920",
      "h": "1303.40",
      "o": "1301.50",
      "l": "1301.50",
      "c": "1303.00",
      "v": "15615.0",
      "vw": "20342210.20",
      "pc": "0.15%",
      "pca": "1.90"
    }
  ]
}
```

#### 3.2 Latest Trade

Retrieve the latest trade for any listed Indian company, including price, volume, and trade direction.

Access methods:

* **HTTP API:** [*GET /trades*](https://docs.infoway.io/en-docs/rest-api/market-data/get-latest-trade)
* **WebSocket:** [*Subscribe to /trades*](https://docs.infoway.io/en-docs/websocket/websocket-subscribe-method/latest-trade-subscription)

**Example Response**

```json
{
  "s": "INFY.IN",
  "t": 1773037319456,
  "p": "1299.00",
  "v": "2.0",
  "vw": "2598.00",
  "td": 0    
}
```

#### 3.3 Order Book

Provides real-time **bid/ask depth**, showing market liquidity and order book structure.

Access methods:

* **HTTP API:** [*GET /market-depth*](https://docs.infoway.io/en-docs/rest-api/market-data/get-market-depth)
* **WebSocket:** [*Subscribe to /Depth*](https://docs.infoway.io/en-docs/websocket/websocket-subscribe-method/depth-subscription)

**Example Response**

```json
{
  "s": "INFY.IN",
  "t": 1773037524808,
  "a": [    
    [
      "1302.0",    
    ],
    [
      "1.0",    
    ]
  ],
  "b": [    
    [
      "1301.9",    
    ],
    [
      "172.0",    
    ]
  ]
}

```

#### 3.4 Indian Stock Fundamentals

Retrieve fundamental information for listed companies, including corporate names, share structure, exchange details, and key financial indicators. ([GET / symbol-fundamentals](https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-symbol-fundamentals))

**Example Response**

```json
{
  "ret": 200,
  "msg": "success",
  "traceId": "d9e8f29a-c4f4-411b-b4a6-737a36fb2d37",
  "data": [
    {
      "symbol": "INFY.IN",
      "market": "IN",
      "name_cn": "",
      "name_en": "Infosys Limited",
      "name_hk": "",
      "exchange": "NSE",
      "currency": "INR",
      "lot_size": null,
      "total_shares": null,
      "circulating_shares": null,
      "hk_shares": null,
      "eps": "67.4982",
      "eps_ttm": null,
      "bps": null,
      "dividend_yield": "0.0344854011801671",
      "stock_derivatives": null,
      "board": "Technology Services"
    }
  ]
}
```

#### 3.5 Trading Days & Market Hours

Retrieve trading session schedules and trading calendar information for the Indian market.\
This ensures your system is synchronized with market open/close times and holiday periods.

**Query Methods**

* [**GET /trading-hours**](https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-market-trading-hours) — Returns daily trading sessions and their start/end times
* [**GET /trading-days**](https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-market-trading-days) — Returns valid trading days and half-days

**Example: Trading Hours**

```json
{
  "market": "IN",
  "remark": "印度股市",
  "trade_schedules": [
    {
      "begin_time": "09:15:00",
      "end_time": "15:30:00",
      "type": "NormalTrade"
    }
  ]
}

```

**Example: Trading Days**

```json
{
  "trade_days": [
    "20260202",
    "20260203",
    "20260204",
    "20260205",
    "20260206",
    "20260209",
    "20260210"
  ],
  "half_trade_days": []
}

```
