Skip to content

Market Quote and Instrument

Market Quote and Instrument APIs

method path description
GET https://api.mstock.trade/openapi/typea/instruments/quote/ohlc View OHLC and LTP market data
GET https://api.mstock.trade/openapi/typea/instruments/quote/ltp View OHLC and LTP market data
GET https://api.mstock.trade/openapi/typea/instruments/scriptmaster Provides the consolidated,csv formatted list of instruments

Market OHLC Data

This endpoint returns the OHLC market data identified by the exchange:tradingsymbol combination that are passed as values to the query parameter.

Request Headers -

  • X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1.

  • Authorization: A token-based authentication header. The format is token api_key:access_token.

curl --location 'https://api.mstock.trade/openapi/typea/instruments/quote/ohlc?i=NSE%3AACC&i=BSE%3AACC' \
--header 'X-Mirae-Version: 1' \
--header 'Authorization: token access_token'
import axios from 'axios';

const params = new URLSearchParams();
params.append('i', 'NSE:ACC');
params.append('i', 'BSE:ACC');

const response = await axios.get('https://api.mstock.trade/openapi/typea/instruments/quote/ohlc', {
params: params,
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token access_token'
}
});
import requests

headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token access_token',
}

params = {
    'i': [
        'NSE:ACC',
        'BSE:ACC',
    ],
}

response = requests.get('https://api.mstock.trade/openapi/typea/instruments/quote/ohlc', params=params, headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/instruments/quote/ohlc?i=NSE%3AACC&i=BSE%3AACC"))
    .GET()
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token access_token")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Query Parameter -

Field Description
i NSE:ACC
i BSE:ACC

Request Body - This endpoint does not require a request body or additional parameters in the query string for the retrieval of orders.

Request Response -

The response of the request will be based on authentication outcome.

  • Success (HTTP Status 200): On successful order update, the server returns a JSON object containing the order ID and status.

{
    "status": "success",
    "data": {
        "NSE:ACC": {
            "instrument_token": 500410,
            "last_price": 195700,
            "ohlc": {
                "open": 201190,
                "high": 201190,
                "low": 195005,
                "close": 200745
            }
        },
        "BSE:ACC": {
            "instrument_token": 500410,
            "last_price": 195700,
            "ohlc": {
                "open": 201190,
                "high": 201190,
                "low": 195005,
                "close": 200745
            }
        }
    }
}
- Failure (HTTP Status 401): If the order fails due to invalid parameters, authentication issues, or other errors, the server will return an error message with below json format.

{
    "status": "error",
    "message": "Invalid request. Please try again.",
    "error_type": "TokenException",
    "data": null
}
  • Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}

Market LTP Data

This endpoint returns the LTP market data identified by the exchange:tradingsymbol combination that are passed as values to the query parameter.

Request Headers -

  • X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1.

  • Authorization: A token-based authentication header. The format is token api_key:access_token.

curl --location 'https://api.mstock.trade/openapi/typea/instruments/quote/ltp?i=NSE%3AACC&i=BSE%3AACC&i=NFO%3ACDSL25JAN2220CE' \
--header 'X-Mirae-Version: 1' \
--header 'Authorization: token access_token'
import axios from 'axios';

const params = new URLSearchParams();
params.append('i', 'NSE:ACC');
params.append('i', 'BSE:ACC');
params.append('i', 'NFO:CDSL25JAN2220CE');

const response = await axios.get('https://api.mstock.trade/openapi/typea/instruments/quote/ltp', {
params: params,
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token access_token'
}
});
import requests

headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token access_token',
}

params = {
    'i': [
        'NSE:ACC',
        'BSE:ACC',
        'NFO:CDSL25JAN2220CE',
    ],
}

response = requests.get('https://api.mstock.trade/openapi/typea/instruments/quote/ltp', params=params, headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/instruments/quote/ltp?i=NSE%3AACC&i=BSE%3AACC&i=NFO%3ACDSL25JAN2220CE"))
    .GET()
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token access_token")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Query Parameter -

Field Description
i NSE:ACC
i BSE:ACC
i NFO:CDSL25JAN2220CE

Request Body - This endpoint does not require a request body or additional parameters in the query string for the retrieval of orders.

Request Response -

The response of the request will be based on authentication outcome.

  • Success (HTTP Status 200): On successful order update, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": {
        "NSE:ACC": {
            "instrument_token": 500410,
            "last_price": 195700
        },
        "BSE:ACC": {
            "instrument_token": 500410,
            "last_price": 195700
        },
        "NFO:CDSL25JAN2220CE": null
    }
}
  • Failure (HTTP Status 401): If the order fails due to invalid parameters, authentication issues, or other errors, the server will return an error message with below json format.
{
    "status": "error",
    "message": "Invalid request. Please try again.",
    "error_type": "TokenException",
    "data": null
}
  • Failure (HTTP Status 200): If orderid does not exist then server will return below json reponse.
{
    "status": "error",
    "message": "Order Does not Exsist.Need to refresh orderbook / relogin in application ",
    "error_type": "InputException",
    "data": null
}
  • Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}

Instrument Script Master

This endpoint provides the consolidated, csv formatted list of instruments available for trading

Request Headers -

  • X-Mirae-Version: Specifies the version of the API being used. In this case, it is set to 1.

  • Authorization: A token-based authentication header. The format is token api_key:access_token.

  • Content-Type: Indicated the media type of the resource. For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data.

curl --location --request GET 'https://api.mstock.trade/openapi/typea/instruments/scriptmaster' \
    --header 'X-Mirae-Version: 1' \
    --header 'Authorization: token api_key:access_token' \
import axios from 'axios';

const response = await axios.get(
'https://api.mstock.trade/openapi/typea/instruments/scriptmaster',
'',
{
    headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token'
    }
}
);
import requests

headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_key:access_token',
}

response = requests.get('https://api.mstock.trade/openapi/typea/instruments/scriptmaster', headers=headers)
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newBuilder()
    .followRedirects(HttpClient.Redirect.NORMAL)
    .build();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.mstock.trade/openapi/typea/instruments/scriptmaster"))
    .GET(HttpRequest.BodyPublishers.noBody())
    .setHeader("X-Mirae-Version", "1")
    .setHeader("Authorization", "token api_key:access_token")
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Request Body - This endpoint does not require a request body or additional parameters in the query string for the retrieval of orders.

Request Response -

The response of the request will be based on authentication outcome.

  • Success (HTTP Status 200): On successful order update, the server returns a JSON object containing the order ID and status.
{
    "status": "success",
    "data": {
        "NSE:ACC": null,
        "BSE:ACC": null,
        "NFO:CDSL25JAN2220CE": null
    }
}
  • Failure (HTTP Status 401): If the order fails due to invalid parameters, authentication issues, or other errors, the server will return an error message with below json format.
{
    "status": "error",
    "message": "Invalid request. Please try again.",
    "error_type": "TokenException",
    "data": null
}
  • Failure (HTTP Status 400): If the API Key is Invalid or expired.
{
    "status": "error",
    "message": "API is suspended/expired for use. Please check your API subscription and try again.",
    "error_type": "APIKeyException",
    "data": null
}