Skip to content

Option Chain APIs *Coming Soon..

Option Chain APIs

The Option Chain APIs let you fetch the option chain master and option chain data of any stock.

method path description
GET https://api.mstock.trade/openapi/typea/getoptionchainmaster/{exch} Fetch option chain master data
GET https://api.mstock.trade/openapi/typea/getoptionchainmaster/{exch}/{expiry}/{token} Fetch option chain data for any stock

Option Chain Master {#option-chain-master} coming soon

This endpoint allows users to fetch the option chain master data

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: For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data.
curl --location 'https://api.mstock.trade/openapi/typea/getoptionchainmaster/2' \
--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/getoptionchainmaster/2', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_Key:access_token'
}
});
import http.client

conn = http.client.HTTPSConnection('api.mstock.trade')
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_Key:access_token',
}
conn.request(
    'GET',
    'openapi/typea/getoptionchainmaster/2',
    headers=headers
)
response = conn.getresponse()
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/getoptionchainmaster/2"))
    .GET()
    .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": {
        "dctExp": {
            "1": 1795876200,
            "2": 1429972200,
            "3": 1432996200,
            "4": 1435415400,
            "5": 1443277800,
            "6": 1451053800,
            "7": 1459002600,
            "8": 1429367400,
            "9": 1430490600,
            "10": 1431181800,
            "11": 1431786600,
            "12": 1466865000,
            "13": 1483194600,
            "14": 1498314600,
            "15": 1514644200,
            "16": 1530369000,
            "17": 1546093800,
            "18": 1561818600,
            "19": 1577543400
        },
        "FUTIDX": [
            "BANKNIFTY,26009,2,3,4",
            "FINNIFTY,26037,2,3,4",
            "MIDCPNIFTY,26074,2,3,4",
            "NIFTY,26000,2,3,4",
            "NIFTYNXT50,26013,2,3,4"
        ],
        "OPTIDX": [
            "BANKNIFTY,26009,2,3,4,5,6,7",
            "FINNIFTY,26037,2,3,4",
            "MIDCPNIFTY,26074,2,3,4",
            "NIFTY,26000,8,2,9,10,11,3,4,5,6,7,12,13,14,15,16,17,18,19",
            "NIFTYNXT50,26013,2,3,4"
        ],
        "OFSTK": [
            "AARTIIND,7,2,3,4",
            "ABB,13,2,3,4",
            "ABCAPITAL,21614,2,3,4",
            "ABFRL,30108,2,3,4",
            "ACC,22,2,3,4",
            "ADANIENSOL,10217,2,3,4",
            "ADANIENT,25,2,3,4",
            "ADANIGREEN,3563,2,3,4",
            "ADANIPORTS,15083,2,3,4",
            "ALKEM,11703,2,3,4",
            "AMBUJACEM,1270,2,3,4",
            "ANGELONE,324,2,3,4",
            "APLAPOLLO,25780,2,3,4",
            "APOLLOHOSP,157,2,3,4",
            "APOLLOTYRE,163,2,3",
            "ASHOKLEY,212,2,3,4",
            "ASIANPAINT,236,2,3,4",
            "ASTRAL,14418,2,3,4",
            "ATGL,6066,2,3,4",
            "AUBANK,21238,2,3,4",
            "AUROPHARMA,275,2,3,4",
            "AXISBANK,5900,2,3,4",
            "BAJAJ-AUTO,16669,2,3,4"
        ]
    }
}
  • 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
}

Option Chain

This endpoint allows users to fetch the option chain data for any stock

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: For this request, it is set to application/x-www-form-urlencoded, which is used for submiting form data.

curl --location 'https://api.mstock.trade/openapi/typea/GetOptionChain/2/1429972200/22' \
--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/GetOptionChain/2/1429972200/22', {
headers: {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_Key:access_token'
}
});
import http.client

conn = http.client.HTTPSConnection('api.mstock.trade')
headers = {
    'X-Mirae-Version': '1',
    'Authorization': 'token api_Key:access_token',
}
conn.request(
    'GET',
    'openapi/typea/GetOptionChain/2/1429972200/22',
    headers=headers
)
response = conn.getresponse()
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/GetOptionChain/2/1429972200/22"))
    .GET()
    .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": {
        "contractModel": {
            "sym": "ACC",
            "exid": 2,
            "instn": 4,
            "ultk": 22,
            "exp": 1429972200,
            "expd": 0
        },
        "contractMasterModel": null,
        "call": [
            "42313,108000,0",
            "84549,112000,0",
            "51175,116000,0",
            "84553,120000,0",
            "46563,124000,0",
            "84555,128000,0",
            "84557,132000,0",
            "84559,136000,0",
            "42315,138000,0",
            "84561,140000,0",
            "64068,142000,0",
            "84563,144000,0",
            "64070,146000,0",
            "84566,148000,0",
            "64072,150000,0",
            "84603,152000,0",
            "64074,154000,0",
            "84605,156000,0",
            "64076,158000,0",
            "84611,160000,0",
            "64078,162000,0",
            "84613,164000,0",
            "64080,166000,0",
            "84615,168000,0",
            "64082,170000,0",
            "84621,172000,0"
        ],
        "put": [
            "42314,108000,0",
            "84550,112000,0",
            "51176,116000,0",
            "84554,120000,0",
            "46564,124000,0",
            "84556,128000,0",
            "84558,132000,0",
            "84560,136000,0",
            "42316,138000,0",
            "84562,140000,0",
            "64069,142000,0",
            "84564,144000,0",
            "64071,146000,0",
            "84567,148000,0",
            "64073,150000,0",
            "84604,152000,0",
            "64075,154000,0",
            "84606,156000,0",
            "64077,158000,0",
            "84612,160000,0",
            "64079,162000,0"
        ],
        "future": [
            "54458,-1,2969100"
        ],
        "spot": "ACC,22,NSEEQ"
    }
}
  • 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
}