0

NSE & MCX WebSockets, DotNet, COM, RESTful APIs for Realtime, Delayed, Snapshot & EOD data in C, C++, C#, VB.Net, ASP.Net, Python, Java, JavaScript, NodeJS

APIs

We offer WebSocket, DotNet, COM and RESTful APIs for live, delayed, snapshot and end-of-day data of NSE and MCX. To subscribe or for any queries, please Submit This Form
API – Scope
API is available for individuals (single user license) as well as for Organizations. To purchase or for any queries, please Submit This Form
API – Data availability
We offer APIs for realtime streaming, delayed streaming, realtime snapshot and EOD data. Out of this, only realtime streaming data (with End-Of-Day data) is available for Individual Usage. To use delayed streaming, delayed snapshot or only EOD data, commercial license of API is required
Please see FAQs to know more about the terms used in this document
API – Details
We currently provide WebSockets, DotNet, COM and RESTful APIs. Here is brief description of these APIs

 

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Your Text

Features

Supported Languages

Suitable for

Available for

Type of Data Available

Data Update Frequency

Mode

Length of History Available

Exchanges Covered

Symbols Availability

Default Symbol Limit

Allowed Request Count

 WebSocket

Language neutral. Can be used for any programming language and for any Operating System (windows / Linux)

Web, Mobile & Desktop Applications

Single User License*

L1 – Realtime Streaming, Delayed Streaming, Realtime Snapshot  & EOD

1 second

Push

Tick – 2 days
1minute – 30 calendar days
EOD – Since 2010 for NSE and NFO (backadjusted instruments like NIFTY-I)

NSE CM (Cash)
NSE F&O
NSE CDS (Currency)
MCX

User can request any traded instrument of above exchanges. However limit will apply to how many instruments can be accessed at a time – as per subscription plan.

50 instruments per subscribed exchange.
Upgrade Available.

7200 requests per hour per exchange per user

DotNet

Can be used in any DotNet language like C#, VB.NET.

Desktop Applications

Single User License*

L1 – Realtime Streaming, Delayed Streaming, Realtime Snapshot  & EOD

1 second

Push

Tick – 2 days
1minute – 30 calendar days
EOD – Since 2010 for NSE and NFO (backadjusted instruments like NIFTY-I)

NSE CM (Cash)
NSE F&O
NSE CDS (Currency)
MCX

User can request any traded instrument of above exchanges. However limit will apply to how many instruments can be accessed at a time – as per subscription plan.

50 instruments per subscribed exchange.
Upgrade Available.

7200 requests per hour per exchange
per user

 COM

Can be used in languages like C, C++, Python and any language that support COM

Desktop Applications

Single User License*

L1 – Realtime Streaming, Delayed Streaming, Realtime Snapshot  & EOD

1 second

Push

Tick – 2 days
1minute – 30 calendar days
EOD – Since 2010 for NSE and NFO (backadjusted instruments like NIFTY-I)

NSE CM (Cash)
NSE F&O
NSE CDS (Currency)
MCX

User can request any traded instrument of above exchanges. However limit will apply to how many instruments can be accessed at a time – as per subscription plan.

50 instruments per subscribed exchange.
Upgrade Available.

7200 requests per hour per exchange per user

RESTful

Language neutral. Can be used for any programming language and for any Operating System (windows / Linux)

Web, Mobile & Desktop Applications

Single User License*

L1 – Realtime Streaming, Delayed Streaming, Realtime Snapshot  & EOD

1 second

Pull

Tick – 2 days
1minute – 30 calendar days
EOD – Since 2010 for NSE and NFO (backadjusted instruments like NIFTY-I)

NSE CM (Cash)
NSE F&O
NSE CDS (Currency)
MCX

User can request any traded instrument of above exchanges. However limit will apply to how many instruments can be accessed at a time – as per subscription plan.

50 instruments per subscribed exchange.
Upgrade Available.

7200 requests per hour per exchange
per user

* Single User License – The data fetched through API will be used by single user on single machine. The data will be terminated on single machine and will not be used / disseminated in any form further. The data as well as its results derived from processing of this data in any form will be available only to single user.
To understand which type of license is suitable for your purpose, please see FAQs
Given below is documentation of REST and WebSockets API. For documentation of COM or DotNet API, Please email us on developer@globaldatafeeds.in
REST API – Data is returned in JSON or XML Format

REST API Documention

Functions Supported by REST API

GetExchanges – returns list of available Exchanges

Function Name
GetExchanges
Returns information about available Exchanges as per your subscription
What is returned
List of Exchanges available as per your subscription
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetExchanges/?accessKey=YOUR_ACCESS_KEY&xml=true
Sample Response
JSON Response
{"EXCHANGES": ["MCX","NSE","NSE_IDX","NFO","CDS"]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Exchanges xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>MCX</Value>
<Value>NSE</Value>
</Exchanges>

GetInstrumentsOnSearch – returns instruments matching search pattern (max 20)

Function Name
GetInstrumentsOnSearch
Returns array of max. 20 instruments (properties) by selected exchange and ‘search word’
What is returned
List of 20 Instruments (max) matching the search string. Each Instrument row contains following fields :
Exchange, Expiry, Identifier (Symbol), Name (InstrumentType), OptionType
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

search
Required parameter
String value like NIFTY
Search word value (pattern for search)
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetInstrumentsOnSearch/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true&search=MC
Sample Response
JSON Response
{"INSTRUMENTS": [{ "EXCHANGE": "MCX", "EXPIRY": "", "IDENTIFIER": "XXX_MCXSCHANADLH_25Jun2015_XX_X", "INDEXNAME": "", "NAME": "COM", "OPTIONTYPE": "", "PRICEQUOTATIONUNIT": "KGS", "PRODUCT": "MCXSCHANADLH", "PRODUCTMONTH": "", "STRIKEPRICE": 0, "UNDERLYINGASSET": "", "UNDERLYINGASSETEXPIRY": ""},{ "EXCHANGE": "MCX", "EXPIRY": "", "IDENTIFIER": "XXX_MCXSMAIZENZM_25Jun2015_XX_X", "INDEXNAME": "", "NAME": "COM", "OPTIONTYPE": "", "PRICEQUOTATIONUNIT": "KGS", "PRODUCT": "MCXSMAIZENZM", "PRODUCTMONTH": "", "STRIKEPRICE": 0, "UNDERLYINGASSET": "", "UNDERLYINGASSETEXPIRY": ""}]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Instruments xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="MCX" Identifier="XXX_MCXSCHANADLH_25Jun2015_XX_X" Name="COM" Expiry="-" StrikePrice="0" Product="MCXSCHANADLH" PriceQuotationUnit="KGS" OptionType="" ProductMonth="" UnderlyingAsset="" UnderlyingAssetExpiry="" IndexName=""/>
<Value Exchange="MCX" Identifier="XXX_MCXSMAIZENZM_25Jun2015_XX_X" Name="COM" Expiry="-" StrikePrice="0" Product="MCXSMAIZENZM" PriceQuotationUnit="KGS" OptionType="" ProductMonth="" UnderlyingAsset="" UnderlyingAssetExpiry="" IndexName=""/>
</Instruments>

GetInstruments – returns list of instruments

Function Name
GetInstruments
Returns array of instruments (properties) by selected exchange
What is returned
Array of Instruments. Each Instrument row contains following fields :
Exchange, Expiry, Identifier (Symbol), Name (InstrumentType), OptionType
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

instrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
optionsType
Optional parameter
String value like CE or PE
Name of Supported optionType. To get list of supported values, please see GetOptionTypes Function.
strikePrice
Optional parameter
String value like 0, 10500, etc.
Name of Supported strikePrice. To get list of supported values, please see GetStrikePrices Function.
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetInstruments/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true
Sample Response
JSON Response
{"INSTRUMENTS": [{ "EXCHANGE": "MCX", "EXPIRY": "", "IDENTIFIER": "XXX_MCXSCHANADLH_25Jun2015_XX_X", "INDEXNAME": "", "NAME": "COM", "OPTIONTYPE": "", "PRICEQUOTATIONUNIT": "KGS", "PRODUCT": "MCXSCHANADLH", "PRODUCTMONTH": "", "STRIKEPRICE": 0, "UNDERLYINGASSET": "", "UNDERLYINGASSETEXPIRY": ""},{ "EXCHANGE": "MCX", "EXPIRY": "", "IDENTIFIER": "XXX_MCXSMAIZENZM_25Jun2015_XX_X", "INDEXNAME": "", "NAME": "COM", "OPTIONTYPE": "", "PRICEQUOTATIONUNIT": "KGS", "PRODUCT": "MCXSMAIZENZM", "PRODUCTMONTH": "", "STRIKEPRICE": 0, "UNDERLYINGASSET": "", "UNDERLYINGASSETEXPIRY": ""}]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Instruments xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="MCX" Identifier="XXX_MCXSCHANADLH_25Jun2015_XX_X" Name="COM" Expiry="-" StrikePrice="0" Product="MCXSCHANADLH" PriceQuotationUnit="KGS" OptionType="" ProductMonth="" UnderlyingAsset="" UnderlyingAssetExpiry="" IndexName=""/>
<Value Exchange="MCX" Identifier="XXX_MCXSMAIZENZM_25Jun2015_XX_X" Name="COM" Expiry="-" StrikePrice="0" Product="MCXSMAIZENZM" PriceQuotationUnit="KGS" OptionType="" ProductMonth="" UnderlyingAsset="" UnderlyingAssetExpiry="" IndexName=""/>
</Instruments>

GetLastQuote – returns Last Trade Price of single symbol (detailed)

Function Name
GetLastQuote
Returns detailed information about Last Trade Price (LTP)
What is returned
AverageTradedPrice, BuyPrice (Bid), BuyQty (Bid Size), Close (Previous Close), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeQty, LastTradeTime, Low (Day Low), Open (Day Open), OpenInterest, PreOpen (true/false), QuotationLot (Lot Size), SellPrice (Ask), SellQty (Sell Size), ServerTime, TotalQtyTraded, Value (Traded Value)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifier
Required parameter
Value of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
GetLastQuote/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifier=XXX_MCXSCHANADLH_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
{ "AVERAGETRADEDPRICE": 871.68, "BUYPRICE": 870.1, "BUYQTY": 1, "CLOSE": 870.9, "EXCHANGE": "MCX", "HIGH": 875, "INSTRUMENTIDENTIFIER": "XXX_MCXSCHANADLH_25Jun2015_XX_X", "LASTTRADEPRICE": 875, "LASTTRADEQTY": 2, "LASTTRADETIME": 1391863200, "LOW": 868.1, "OPEN": 871.2, "OPENINTEREST": 221, "PREOPEN": false, "QUOTATIONLOT": 100, "SELLPRICE": 874, "SELLQTY": 1, "SERVERTIME": 1391821719, "TOTALQTYTRADED": 17, "VALUE": 1481850}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Realtime xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Exchange="MCX" InstrumentIdentifier="XXX_MCXSCHANADLH_25Jun2015_XX_X" LastTradeTime="2-8-2014 12:40:00 PM" ServerTime="2-8-2014 1:08:39 AM" AverageTradedPrice="871.68" BuyPrice="870.1" BuyQty="1" Close="870.9" High="875" Low="868.1" LastTradePrice="875" LastTradeQty="2" Open="871.2" OpenInterest="221" QuotationLot="100" SellPrice="874" SellQty="1" TotalQtyTraded="17" Value="1481850" PreOpen="false"
/>

GetLastQuoteShort – returns Last Trade Price of single symbol (short)

Function Name
GetLastQuoteShort
Returns short information about Last Trade Price (LTP)
What is returned
BuyPrice (Bid), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeTime, SellPrice (Ask)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifier
Required parameter
Value of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLastQuoteShort/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifier=XXX_MCX0_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
{ "BUYPRICE": 870.1, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX0_25Jun2015_XX_X", "LASTTRADEPRICE": 875, "LASTTRADETIME": 1391863200, "SELLPRICE": 874}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Realtime xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Exchange="MCX" InstrumentIdentifier="XXX_MCX0_25Jun2015_XX_X" LastTradeTime="2-8-2014 12:40:00 PM" BuyPrice="870.1" LastTradePrice="875" SellPrice="874"
/>

GetLastQuoteShortWithClose – returns Last Trade Price of single symbol (short with Close of Previous Day)

Function Name
GetLastQuoteShortWithClose
Returns short information about Last Trade Price (LTP) with Close price of previous day
What is returned
BuyPrice (Bid), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeTime, SellPrice (Ask), Close (Previous Close)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifier
Required parameter
Value of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLastQuoteShortWithClose/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifier=XXX_MCX0_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
{ "BUYPRICE": 870.1, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX0_25Jun2015_XX_X", "LASTTRADEPRICE": 875, "LASTTRADETIME": 1391863200, "SELLPRICE": 874, "CLOSE": 860.2}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<Realtime xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Exchange="MCX" InstrumentIdentifier="XXX_MCX0_25Jun2015_XX_X" LastTradeTime="2-8-2014 12:40:00 PM" BuyPrice="870.1" LastTradePrice="875" SellPrice="874" Close="860.2"
/>

GetLastQuoteArray – returns Last Trade Price of multiple symbol – max 25 (detailed)

Function Name
GetLastQuoteArray
Returns detailed information about Last Trade Price (LTP) of Multiple Symbols (max 25 in single call)
What is returned
AverageTradedPrice, BuyPrice (Bid), BuyQty (Bid Size), Close (Previous Close), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeQty, LastTradeTime, Low (Day Low), Open (Day Open), OpenInterest, PreOpen (true/false), QuotationLot (Lot Size), SellPrice (Ask), SellQty (Sell Size), ServerTime, TotalQtyTraded, Value (Traded Value)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLastQuoteArray/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifiers=XXX_MCX0_25Jun2015_XX_X+XXX_MCX1_25Jun2015_XX_X+XXX_MCX2_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
[
{ "AVERAGETRADEDPRICE": 123.45, "BUYPRICE": 123.45, "BUYQTY": 1, "CLOSE": 123.45, "EXCHANGE": "MCX", "HIGH": 123.45, "INSTRUMENTIDENTIFIER": "XXX_MCX0_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADEQTY": 2, "LASTTRADETIME": 1415114727418, "LOW": 123.45, "OPEN": 123.45, "OPENINTEREST": 10, "PREOPEN": false, "QUOTATIONLOT": 1, "SELLPRICE": 123.45, "SELLQTY": 1, "SERVERTIME": 1415114727418, "TOTALQTYTRADED": 10, "VALUE": 1230.45},

{ "AVERAGETRADEDPRICE": 123.45, "BUYPRICE": 123.45, "BUYQTY": 1, "CLOSE": 123.45, "EXCHANGE": "MCX", "HIGH": 123.45, "INSTRUMENTIDENTIFIER": "XXX_MCX1_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADEQTY": 2, "LASTTRADETIME": 1415114727418, "LOW": 123.45, "OPEN": 123.45, "OPENINTEREST": 10, "PREOPEN": false, "QUOTATIONLOT": 1, "SELLPRICE": 123.45, "SELLQTY": 1, "SERVERTIME": 1415114727418, "TOTALQTYTRADED": 10, "VALUE": 1230.45},

{ "AVERAGETRADEDPRICE": 123.45, "BUYPRICE": 123.45, "BUYQTY": 1, "CLOSE": 123.45, "EXCHANGE": "MCX", "HIGH": 123.45, "INSTRUMENTIDENTIFIER": "XXX_MCX2_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADEQTY": 2, "LASTTRADETIME": 1415114727418, "LOW": 123.45, "OPEN": 123.45, "OPENINTEREST": 10, "PREOPEN": false, "QUOTATIONLOT": 1, "SELLPRICE": 123.45, "SELLQTY": 1, "SERVERTIME": 1415114727418, "TOTALQTYTRADED": 10, "VALUE": 1230.45}
]
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<RealtimeArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX0_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" ServerTime="11-4-2014 5:20:31 PM" AverageTradedPrice="123.45" BuyPrice="123.45" BuyQty="1" Close="123.45" High="123.45" Low="123.45" LastTradePrice="123.45" LastTradeQty="2" Open="123.45" OpenInterest="10" QuotationLot="1" SellPrice="123.45" SellQty="1" TotalQtyTraded="10" Value="1230.45" PreOpen="false" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX1_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" ServerTime="11-4-2014 5:20:31 PM" AverageTradedPrice="123.45" BuyPrice="123.45" BuyQty="1" Close="123.45" High="123.45" Low="123.45" LastTradePrice="123.45" LastTradeQty="2" Open="123.45" OpenInterest="10" QuotationLot="1" SellPrice="123.45" SellQty="1" TotalQtyTraded="10" Value="1230.45" PreOpen="false" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX2_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" ServerTime="11-4-2014 5:20:31 PM" AverageTradedPrice="123.45" BuyPrice="123.45" BuyQty="1" Close="123.45" High="123.45" Low="123.45" LastTradePrice="123.45" LastTradeQty="2" Open="123.45" OpenInterest="10" QuotationLot="1" SellPrice="123.45" SellQty="1" TotalQtyTraded="10" Value="1230.45" PreOpen="false" />
</RealtimeArray>

GetLastQuoteArrayShort – returns Last Trade Price of multiple symbol – max 25 (short)

Function Name
GetLastQuoteArrayShort
Returns short information about Last Trade Price (LTP) of Multiple Symbols (max 25 in single call)
What is returned
BuyPrice (Bid), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeTime, SellPrice (Ask)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLastQuoteArrayShort/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifiers=XXX_MCX0_25Jun2015_XX_X+XXX_MCX1_25Jun2015_XX_X+XXX_MCX2_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
[
{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX0_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45},

{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX1_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45},

{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX2_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45}
]
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<RealtimeArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX0_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX1_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX2_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" />
</RealtimeArray>

GetLastQuoteArrayShortWithClose – returns Last Trade Price of multiple symbol – max 25 (short with Close of Previous Day)

Function Name
GetLastQuoteArrayShortWithClose
Returns short information about Last Trade Price (LTP) with Close Price of Previous Day of Multiple Symbols (max 25 in single call)
What is returned
BuyPrice (Bid), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeTime, SellPrice (Ask), Close (Previous Close)
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
instrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLastQuoteArrayShortWithClose/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifiers=XXX_MCX0_25Jun2015_XX_X+XXX_MCX1_25Jun2015_XX_X+XXX_MCX2_25Jun2015_XX_X&xml=true
Sample Response
JSON Response
[
{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX0_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45, "CLOSE": 123.45},

{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX1_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45, "CLOSE": 123.45},

{ "BUYPRICE": 123.45, "EXCHANGE": "MCX", "INSTRUMENTIDENTIFIER": "XXX_MCX2_25Jun2015_XX_X", "LASTTRADEPRICE": 123.45, "LASTTRADETIME": 1415114727418, "SELLPRICE": 123.45, "CLOSE": 123.45}
]
XML Response
 <?xml version="1.0" encoding="utf-16" ?>
<RealtimeArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX0_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" Close="123.45" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX1_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" Close="123.45" />
<Value Exchange="MCX" InstrumentIdentifier="XXX_MCX2_25Jun2015_XX_X" LastTradeTime="11-4-2014 5:20:31 PM" BuyPrice="123.45" LastTradePrice="123.45" SellPrice="123.45" Close="123.45" />
</RealtimeArray>

GetSnapshot – returns snapshot data of multiple symbols – max 25

Function Name
GetSnapshot
Returns last snapshot of Multiple Symbols (max 25 instruments in single call)
What is returned
Exchange, InstrumentIdentifier (Symbol), Open, High, Low, Close, OpenInterest, TradedQty, LastTradeTime
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
periodicity
Optional parameter
[MINUTE]/[HOUR], default = [MINUTE]
String value of required periodicity
period
Optional parameter
Numerical value 1, 2, 3… default = 1
Optional parameter of required period for historical data. Can be applied for [MINUTE]/[HOUR] periodicity types
instrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetSnapshot/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&periodicity=MINUTE&period=1&instrumentIdentifiers=FUTIDX_BANKNIFTY_25Jun2015_XX_0+FUTSTK_ACC_25Jun2015_XX_0&xml=true
Sample Response
JSON Response
[{ "CLOSE": 17763.25, "EXCHANGE": "NFO", "HIGH": 17763.25, "INSTRUMENTIDENTIFIER": "FUTIDX_BANKNIFTY_25Jun2015_XX_0", "TRADEDQTY": 200, "LASTTRADETIME": 1434710918000, "LOW": 17763.25, "OPEN": 17763.25, "OPENINTEREST": 2633575},{ "CLOSE": 1419.95, "EXCHANGE": "NFO", "HIGH": 1419.95, "INSTRUMENTIDENTIFIER": "FUTSTK_ACC_25Jun2015_XX_0", "TRADEDQTY": 0, "LASTTRADETIME": 1434710916000, "LOW": 1419.95, "OPEN": 1419.95, "OPENINTEREST": 0}]
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<SnapshotArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value Exchange="NFO" InstrumentIdentifier="FUTIDX_BANKNIFTY_25Jun2015_XX_0" LastTradeTime="6-19-2015 1:48:38 PM" TradedQty="200" OpenInterest="2633575" High="17763.25" Low="17763.25" Open="17763.25" Close="17763.25" />
<Value Exchange="NFO" InstrumentIdentifier="FUTSTK_ACC_25Jun2015_XX_0" LastTradeTime="6-19-2015 1:48:36 PM" TradedQty="0" OpenInterest="0" High="1419.95" Low="1419.95" Open="1419.95" Close="1419.95" />
</SnapshotArray>

GetHistory – returns Historical Data

Function Name
GetHistory
Returns array with historical data (array of Ticks or OHLC)
What is returned
LastTradeTime, Open, High, Low, LastTradePrice / Close, BuyPrice (Bid), BuyQty (Bid Size), SellPrice (Ask), SellQty (Sell Size), TradedQty, OpenInterest, QuotationLot
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
periodicity
Optional parameter
[TICK]/[MINUTE]/[HOUR]/[DAY]/[WEEK]/[MONTH], default = [TICK]
String value of required periodicity
period
Optional parameter
Numerical value 1, 2, 3… default = 1
Optional parameter of required period for historical data. Can be applied for [MINUTE]/[HOUR]/[DAY] periodicity types
from
Optional parameter
Numerical value of UNIX Timestamp like ‘1388534400’ (01-01-2014 0:0:0)
It means starting timestamp for requested historical data
to
Optional parameter
Numerical value of UNIX Timestamp like ‘1388534400’ (01-01-2014 0:0:0)
It means ending timestamp for requested historical data
max
Optional parameter
Numerical value of maximum records that should be returned. Default = 0 (means all available data)
It will limit returned data. For example, when max=10 is sent, only 10 records will be returned
instrumentIdentifier
Required parameter
Values of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
userID
Optional parameter
[true]/[false], default = [false]
It will be returned with Historical Data
xml
Optional parameter
Any String Value
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetHistory/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&instrumentIdentifier=FUTIDX_BANKNIFTY_25Jun2015_XX_0&periodicity=DAY&from=1388534400&to=1412121600&max=100&userID=aabbcc&xml=true
Sample Response (Tick)
JSON Response (Tick)
{"TICK": [{ "BUYPRICE": 1115.1, "BUYQTY": 1, "LASTTRADEPRICE": 1115.8, "LASTTRADETIME": 1391864127, "OPENINTEREST": 1885, "QUOTATIONLOT": 15, "SELLPRICE": 1116, "SELLQTY": 1, "TRADEDQTY": -87},{ "BUYPRICE": 1115, "BUYQTY": 1, "LASTTRADEPRICE": 1115.1, "LASTTRADETIME": 1391864128, "OPENINTEREST": 1886, "QUOTATIONLOT": 15, "SELLPRICE": 1116, "SELLQTY": 1, "TRADEDQTY": -86}]}
XML Response (Tick)
<?xml version="1.0" encoding="utf-16" ?>
<TickHistory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value LastTradeTime="2-8-2014 12:55:27 PM" LastTradePrice="1115.8" QuotationLot="15" TradedQty="-87" OpenInterest="1885" BuyPrice="1115.1" BuyQty="1" SellPrice="1116" SellQty="1"/>
<Value LastTradeTime="2-8-2014 12:55:28 PM" LastTradePrice="1115.1" QuotationLot="15" TradedQty="-86" OpenInterest="1886" BuyPrice="1115" BuyQty="1" SellPrice="1116" SellQty="1"/>
</TickHistory>
Sample Response (OHLC)
JSON Response (OHLC)
{"OHLC": [{ "CLOSE": 1116.5, "HIGH": 1119.6, "LASTTRADETIME": 1391817600, "LOW": 1102.1, "OPEN": 1102.1, "OPENINTEREST": 1887, "QUOTATIONLOT": 15, "TRADEDQTY": 310},{ "CLOSE": 1116.5, "HIGH": 1119.6, "LASTTRADETIME": 139817600, "LOW": 1102.1, "OPEN": 1102.1, "OPENINTEREST": 1887, "QUOTATIONLOT": 15, "TRADEDQTY": 310}]}
XML Response (OHLC)
<?xml version="1.0" encoding="utf-16" ?>
<OHLCHistory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value LastTradeTime="2-8-2014 12:00:00 AM" QuotationLot="15" TradedQty="310" OpenInterest="1887" Open="1102.1" High="1119.6" Low="1102.1" Close="1116.5"/>
<Value LastTradeTime="2-9-2014 12:00:00 AM" QuotationLot="15" TradedQty="300" OpenInterest="1787" Open="1116.9" High="1120.2" Low="1109.4" Close="1115.5"/>
</OHLCHistory>

GetInstrumentTypes – returns list of InstrumentTypes (e.g. FUTIDX, FUTSTK, etc.)

Function Name
GetInstrumentTypes
Returns array of Instrument Types by selected exchange
What is returned
Array of Instrument Types
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetInstrumentTypes/?accessKey=YOUR_ACCESS_KEY&exchange=NFO&xml=true
Sample Response
JSON Response
{"INSTRUMENTTYPES": ["FUTIDX","FUTSTK","OPTIDX","OPTSTK"]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<StringArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>FUTIDX</Value>
<Value>FUTSTK</Value>
<Value>OPTIDX</Value>
<Value>OPTSTK</Value>
</StringArray>

GetProducts – returns list of Products (e.g. NIFTY, BANKNIFTY, GAIL, etc.)

Function Name
GetProducts
Returns array of Products by selected exchange
What is returned
Array of Products
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

instrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
 	GetProducts?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true
Sample Response
JSON Response
{"PRODUCTS": ["BANKNIFTY","NIFTY","GAIL","GLENMARK",]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<StringArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>BANKNIFTY</Value>
<Value>NIFTY</Value>
<Value>GAIL</Value>
<Value>GLENMARK</Value>
</StringArray>

GetExpiryDates – returns array of Expiry Dates (e.g. 27Aug2015, 30Jul2015)

Function Name
GetExpiryDates
Returns array of Expiry Dates by selected exchange
What is returned
Array of Expiry Dates.
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

instrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetExpiryDates/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true
Sample Response
JSON Response
{"EXPIRYDATES": ["27Aug2015","30Jul2015","17Jul2015","24Sep2015","31Dec2015"]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<StringArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>27Aug2015</Value>
<Value>30Jul2015</Value>
<Value>17Jul2015</Value>
</StringArray>

GetOptionTypes – returns list of Option Types (e.g. CE, PE, etc.)

Function Name
GetOptionTypes
Returns array of Option Types by selected exchange
What is returned
Array of Option Types
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

instrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetOptionTypes/?accessKey=YOUR_ACCESS_KEY&exchange=NFO&xml=true
Sample Response
JSON Response
{"OPTIONTYPES": ["XX","CE","PE"]}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<StringArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>XX</Value>
<Value>CE</Value>
<Value>PE</Value>
</StringArray>

GetStrikePrices – returns array of strike prices (e.g.10000, 10100, 22000, etc.)

Function Name
GetStrikePrices
Returns array of Strike Prices by selected exchange
What is returned
Array of Strike Prices.
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

instrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
optionType
Optional parameter
String value like CE or PE
Name of Supported optionType. To get list of supported values, please see GetOptionTypes Function.
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetStrikePrices/?accessKey=YOUR_ACCESS_KEY&exchange=NFO&xml=true
Sample Response
JSON Response
{
  "STRIKEPRICES": [
    "0",
    "22100",
    "22200",
    "22300",
    "22400",
    "22500",
    "22600",
    "22700",
    "22800",
  ]
}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<StringArray xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Value>COM</Value>
<Value>FUTIDX</Value>
<Value>FUTIVX</Value>
<Value>OPTSTK</Value>
</StringArray>

GetLimitation – returns user account information (e.g. which functions are allowed, bandwidth allowed, etc.)

Function Name
GetLimitation
Returns Information about User Account & its Limitations
What is returned
User Account Information and Limitations
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetLimitation/?accessKey=YOUR_ACCESS_KEY&xml=true
Sample Response
JSON Response
{"AllowedBandwidthPerHour":-1,"AllowedCallsPerHour":-1,"AllowedCallsPerMonth":-1,"AllowedBandwidthPerMonth":-1,"ExpirationDate":1485468000000,"Enabled":true, "AllowedExchanges":[{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"DUMMY"},{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"NFO"}], "AllowedFunctions":[{"FunctionName":"GetExchangeMessages","IsEnabled":false},{"FunctionName":"GetHistory","IsEnabled":true}], "HistoryLimitation":{"TickEnabled":true,"DayEnabled":true,"MaxEOD":100000,"MaxIntraday":5,"MaxTicks":5,"Hour_1Enabled":true,"Hour_2Enabled":true,"Hour_4Enabled":true, "Minute_1Enabled":true,"Minute_5Enabled":true,"Minute_10Enabled":true}}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<LimitationInfoResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AllowedBandwidthPerHour>-1</AllowedBandwidthPerHour>
<AllowedCallsPerHour>-1</AllowedCallsPerHour>
<AllowedCallsPerMonth>-1</AllowedCallsPerMonth>
<AllowedBandwidthPerMonth>-1</AllowedBandwidthPerMonth>
<ExpirationDate>"01-01-0001 12:00:00 AM"</ExpirationDate>
<Enabled>true</Enabled>
<AllowedExchanges>
<AllowedInstruments>-1</AllowedInstruments>
<DataDelay>0</DataDelay>
<ExchangeName>DUMMY</ExchangeName>
</AllowedExchanges>
<AllowedExchanges>
<AllowedInstruments>-1</AllowedInstruments>
<DataDelay>0</DataDelay>
<ExchangeName>NFO</ExchangeName>
</AllowedExchanges>
<AllowedFunctions>
<FunctionName>GetFundamentalData</FunctionName>
<IsEnabled>false</IsEnabled>
</AllowedFunctions>
<AllowedFunctions>
<FunctionName>GetHistory</FunctionName>
<IsEnabled>true</IsEnabled>
</AllowedFunctions>
<HistoryLimitation>
<TickEnabled>true</TickEnabled>
<DayEnabled>true</DayEnabled>
<MaxEOD>100000</MaxEOD>
<MaxIntraday>5</MaxIntraday>
<MaxTicks>5</MaxIntraday>
<Hour_1Enabled>true</Hour_1Enabled>
<Hour_2Enabled>true</Hour_2Enabled>
<Hour_4Enabled>true</Hour_4Enabled>
<Minute_1Enabled>true</Minute_1Enabled>
<Minute_5Enabled>true</Minute_5Enabled>
<Minute_10Enabled>true</Minute_10Enabled>
</HistoryLimitation>
</LimitationInfoResult >

GetServerInfo – returns information about Server

Function Name
GetServerInfo
Returns Information about Server
What is returned
Information about Server
Supported Parameters
Optional / Required
Description
Details
xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetServerInfo/?xml=true
Sample Response
JSON Response
{"ServerID":"2152-24"}
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<ServerInfoResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
ServerID="2152-24"
/>

GetMarketMessages – returns Market Messages

Function Name
GetMarketMessages
Returns array of last messages (Market Messages) related to selected exchange
What is returned
Array of Market Messages
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetMarketMessages/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true
Sample Response
JSON Response
{"EXCHANGE": "MCX","MESSAGES": [{ "SESSIONID": 2, "MARKETTYPE": "Normal Market Close", "SERVERTIME": 1391824800},{ "SESSIONID": 1, "MARKETTYPE": "Special Session Open", "SERVERTIME": 1391852700}]}
The Time returned is Seconds passed since Epoch (01/01/1970). Please see epochconverter.com which contains readymade converter code for most languages.
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<MarketMessageHistory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Exchange="MCX">
<Value ServerTime="2-8-2014 2:00:00 AM" SessionID="2" MarketType="Normal Market Close"/>
<Value ServerTime="2-8-2014 9:45:00 AM" SessionID="1" MarketType="Special Session Open"/>
</MarketMessageHistory>

GetExchangeMessages – returns Exchange Messages

Function Name
GetExchangeMessages
Returns array of last messages (Exchange Messages) related to selected exchange
What is returned
Array of Exchange Messages
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

xml
Optional parameter
[true]/[false], default = [false]
Optional parameter. If present and set to [true], function will return XML data. If absent or set to [false], will return JSON data
Sample Request
/GetExchangeMessages/?accessKey=YOUR_ACCESS_KEY&exchange=MCX&xml=true
Sample Response
JSON Response
{"EXCHANGE": "MCX","MESSAGES": [{ "IDENTIFIER": "Market", "SERVERTIME": 1391822398, "MESSAGE": "Members are requested to note that ..."},{ "IDENTIFIER": "Market", "SERVERTIME": 1391822399, "MESSAGE": "2013 shall be levied subsequently."}]}
The Time returned is Seconds passed since Epoch (01/01/1970). Please see epochconverter.com which contains readymade converter code for most languages.
XML Response
<?xml version="1.0" encoding="utf-16" ?>
<ExchangeMessageHistory xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Exchange="MCX">
<Value ServerTime="2-8-2014 1:19:58 AM" Identifier="Market">
<Message>
<!&#91;CDATA&#91; Members are requested to note that ... &#93;&#93;>
</Message>
</Value>
<Value ServerTime="2-8-2014 1:19:59 AM" Identifier="Market">
<Message>
<!&#91;CDATA&#91; 2013 shall be levied subsequently. &#93;&#93;>
</Message>
</Value>
</ExchangeMessageHistory>

Informational Messages (returns as text/plain)

List of possible informational messages (returns as text/plain)
  • Data unavailable.
  • Welcome!
  • Authentication request received. Try request data in next moment.
  • Access Denied. Key not found.
  • Access Denied. Key blocked.
  • Access Denied. Key unknown or empty.
  • Key Expired.
  • IP address not allowed.
  • Data for requested exchange is disabled.
  • Reached instrument limitation.
  • Function not enabled.
  • RealtimeSubscription disabled for delayed data.
  • Bandwidth per hour is limited.
  • Calls per hour are limited.
  • Calls limitation is reached.
  • Bandwidth limitation is reached.
  • Access Denied. Key Invalid.
  • Access Denied. Key already in use by other session.
  • Selected periodicity or period disabled.
WebSockets API – Data is returned in JSON Format

WebSockets API Documention

Functions Supported by WebSockets API

Authenticate – Authenticates the user

Function Name
Authenticate
Authenticates the user
What is returned
Nothing. This function authenticates the user
Supported Parameters
Optional / Required
Description
Details
accessKey
Required parameter
Access key according to your subscription

Sample Request (JavaScript)
 function Authenticate()
  {
     writeToScreen("Authenticate");
    var message = 
    {
       MessageType: "Authenticate",
       Password: accessKey
     };
    doSend(message);
  }
Sample Response
JSON Response
{"Complete":true,"Message":"Welcome!","MessageType":"AuthenticateResult"}"

GetExchanges – returns list of available Exchanges

Function Name
GetExchanges
Returns information about available Exchanges as per your subscription
What is returned
Array of Exchanges available as per your subscription
Supported Parameters
Optional / Required
Description
Details
Sample Request (JavaScript)
 var request =
{
MessageType: "GetExchanges",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
 {
"Result":[
{"Value":"MCX"},
{"Value":"NFO"},
{"Value":"NSE"}
],
"MessageType":"ExchangesResult"
}

GetInstrumentsOnSearch – returns instruments matching search pattern (max 20)

Function Name
GetInstrumentsOnSearch
Returns array of max. 20 instruments (properties) by selected exchange and ‘search word’
What is returned
List of 20 Instruments (max) matching the search string. Each Instrument row contains following fields :
Exchange, Expiry, Identifier (Symbol), Name (InstrumentType), OptionType
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

Search
Required parameter
String value like NIFTY
Search word value (pattern for search)
Sample Request
 var request =
{
MessageType: "GetInstrumentsOnSearch",
Exchange: "NFO",
Search: "NIF",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"Search":"NIF",
"MessageType":"GetInstrumentsOnSearch"
},
"Result":[
{"Identifier":"OPTIDX_NIFTY_28DEC2017_CE_10000","Name":"OPTIDX","Expiry":"28Dec2017","StrikePrice":10000.0,"Product":"NIFTY","PriceQuotationUnit":"","OptionType":"CE","ProductMonth":"28Dec2017","UnderlyingAsset":"","UnderlyingAssetExpiry":"","IndexName":""}
{"Identifier":"OPTIDX_NIFTY_28DEC2017_PE_8500","Name":"OPTIDX","Expiry":"28Dec2017","StrikePrice":8500.0,"Product":"NIFTY","PriceQuotationUnit":"","OptionType":"PE","ProductMonth":"28Dec2017","UnderlyingAsset":"","UnderlyingAssetExpiry":"","IndexName":""}
],
"MessageType":"InstrumentsOnSearchResult"
}

GetInstruments – returns list of instruments

Function Name
GetInstruments
Returns array of instruments (properties) by selected exchange
What is returned
Array of Instruments. Each Instrument row contains following fields :
Exchange, Expiry, Identifier (Symbol), Name (InstrumentType), OptionType
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

InstrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
Product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
Expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
OptionsType
Optional parameter
String value like CE or PE
Name of Supported optionType. To get list of supported values, please see GetOptionTypes Function.
StrikePrice
Optional parameter
String value like 0, 10500, etc.
Name of Supported strikePrice. To get list of supported values, please see GetStrikePrices Function.
Sample Request (in JavaScript)
var request =
{
MessageType: "GetInstruments",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetInstruments"
},
"Result":[
{"Identifier":"OPTIDX_NIFTY_28DEC2017_CE_10000","Name":"OPTIDX","Expiry":"28Dec2017","StrikePrice":10000.0,"Product":"NIFTY","PriceQuotationUnit":"","OptionType":"CE","ProductMonth":"28Dec2017","UnderlyingAsset":"","UnderlyingAssetExpiry":"","IndexName":""}
{"Identifier":"OPTIDX_NIFTY_28DEC2017_PE_8500","Name":"OPTIDX","Expiry":"28Dec2017","StrikePrice":8500.0,"Product":"NIFTY","PriceQuotationUnit":"","OptionType":"PE","ProductMonth":"28Dec2017","UnderlyingAsset":"","UnderlyingAssetExpiry":"","IndexName":""}
],
"MessageType":"InstrumentsResult"
}

GetLastQuote – returns Last Trade Price of single symbol (detailed)

Function Name
GetLastQuote
Returns detailed information about Last Trade Price (LTP)
What is returned
AverageTradedPrice, BuyPrice (Bid), BuyQty (Bid Size), Close (Previous Close), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeQty, LastTradeTime, Low (Day Low), Open (Day Open), OpenInterest, PreOpen (true/false), QuotationLot (Lot Size), SellPrice (Ask), SellQty (Sell Size), ServerTime, TotalQtyTraded, Value (Traded Value)
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
InstrumentIdentifier
Required parameter
Value of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Sample Request (in JavaScript)
var request =
{
MessageType: "GetLastQuote",
Exchange: "NFO",
InstrumentIdentifier: "FUTSTK_RPOWER_18OCT2017_XX_0",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Exchange":"NFO",
"InstrumentIdentifier":"FUTSTK_RPOWER_18OCT2017_XX_0",
"LastTradeTime":1508320899,
"ServerTime":1508320899,
"AverageTradedPrice":43.81,
"BuyPrice":43.2,
"BuyQty":36000,
"Close":44.75,
"High":44.6,
"Low":43.0,
"LastTradePrice":43.2,
"LastTradeQty":0,
"Open":44.35,
"OpenInterest":50052000,
"SellPrice":43.3,
"SellQty":24000,
"TotalQtyTraded":12864000,
"Value":563571840.0,
"PreOpen":false,
"MessageType":"LastQuoteResult"
}

GetLastQuoteArray – returns Last Trade Price of multiple symbol – max 25 (detailed)

Function Name
GetLastQuoteArray
Returns detailed information about Last Trade Price (LTP) of Multiple Symbols (max 25 in single call)
What is returned
AverageTradedPrice, BuyPrice (Bid), BuyQty (Bid Size), Close (Previous Close), Exchange, High (Day High), InstrumentIdentifier (Symbol), LastTradePrice, LastTradeQty, LastTradeTime, Low (Day Low), Open (Day Open), OpenInterest, PreOpen (true/false), QuotationLot (Lot Size), SellPrice (Ask), SellQty (Sell Size), ServerTime, TotalQtyTraded, Value (Traded Value)
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
InstrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Sample Request (in JavaScript)
var request =
{
MessageType: "GetLastQuoteArray",
Exchange: "NFO",
InstrumentIdentifiers:[
{"Value":"XXX_MCX0_25Jun2015_XX_X"},
{"Value":"XXX_MCX1_25Jun2015_XX_X"}
],
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Result":[
{"Exchange":"NFO","InstrumentIdentifier":"XXX_MCX0_25Jun2015_XX_X","LastTradeTime":1508320899,"ServerTime":1508320899,"AverageTradedPrice":43.81,"BuyPrice":43.2,"BuyQty":36000,"Close":44.75,"High":44.6,"Low":43.0,"LastTradePrice":43.2,"LastTradeQty":0,"Open":44.35,"OpenInterest":50052000,"QuotationLot":1.0,"SellPrice":43.3,"SellQty":24000,"TotalQtyTraded":12864000,"Value":563571840.0,"PreOpen":false,"MessageType":"LastQuoteResult"},
{"Exchange":"NFO","InstrumentIdentifier":"XXX_MCX1_25Jun2015_XX_X","LastTradeTime":1508320899,"ServerTime":1508320899,"AverageTradedPrice":43.81,"BuyPrice":43.2,"BuyQty":36000,"Close":44.75,"High":44.6,"Low":43.0,"LastTradePrice":43.2,"LastTradeQty":0,"Open":44.35,"OpenInterest":50052000,"QuotationLot":1.0,"SellPrice":43.3,"SellQty":24000,"TotalQtyTraded":12864000,"Value":563571840.0,"PreOpen":false,"MessageType":"LastQuoteResult"}
],
"MessageType":"LastQuoteArrayResult"
}

GetSnapshot – returns snapshot data of multiple symbols – max 25

Function Name
GetSnapshot
Returns last snapshot of Multiple Symbols (max 25 instruments in single call)
What is returned
Exchange, InstrumentIdentifier (Symbol), Open, High, Low, Close, OpenInterest, TradedQty, LastTradeTime
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
Periodicity
Optional parameter
[MINUTE]/[HOUR], default = [MINUTE]
String value of required periodicity
Period
Optional parameter
Numerical value 1, 2, 3… default = 1
Optional parameter of required period for historical data. Can be applied for [MINUTE]/[HOUR] periodicity types
InstrumentIdentifiers
Required parameter
Values of instrument identifiers, maximum limit is 25 instruments per single request
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Sample Request (in JavaScript)
var request =
{
MessageType: "GetSnapshot",
Exchange: "NFO",
Periodicity: "MINUTE",
Period: 1,
InstrumentIdentifiers:[
{"Value":"XXX_MCX0_25Jun2015_XX_X"},
{"Value":"XXX_MCX1_25Jun2015_XX_X"}
],
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Result":[
{"InstrumentIdentifier":"XXX_MCX0_25Jun2015_XX_X","Exchange":"NFO","LastTradeTime":1508320800,"TradedQty":0,"OpenInterest":0,"Open":0.0,"High":0.0,"Low":0.0,"Close":0.0},
{"InstrumentIdentifier":"XXX_MCX1_25Jun2015_XX_X","Exchange":"NFO","LastTradeTime":1508320800,"TradedQty":0,"OpenInterest":0,"Open":0.0,"High":0.0,"Low":0.0,"Close":0.0}
],
"MessageType":"SnapshotResult"
}

GetHistory – returns Historical Data

Function Name
GetHistory
Returns array with historical data (array of Ticks or OHLC)
What is returned
LastTradeTime, Open, High, Low, LastTradePrice / Close, BuyPrice (Bid), BuyQty (Bid Size), SellPrice (Ask), SellQty (Sell Size), TradedQty, OpenInterest, QuotationLot
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
Periodicity
Optional parameter
[TICK]/[MINUTE]/[HOUR]/[DAY]/[WEEK]/[MONTH], default = [TICK]
String value of required periodicity
Period
Optional parameter
Numerical value 1, 2, 3… default = 1
Optional parameter of required period for historical data. Can be applied for [MINUTE]/[HOUR]/[DAY] periodicity types
From
Optional parameter
Numerical value of UNIX Timestamp like ‘1388534400’ (01-01-2014 0:0:0)
It means starting timestamp for requested historical data
To
Optional parameter
Numerical value of UNIX Timestamp like ‘1388534400’ (01-01-2014 0:0:0)
It means ending timestamp for requested historical data
Max
Optional parameter
Numerical value of maximum records that should be returned. Default = 0 (means all available data)
It will limit returned data. For example, when max=10 is sent, only 10 records will be returned
InstrumentIdentifier
Required parameter
Values of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Sample Request (in JavaScript)
var request =
{
MessageType: "GetHistory",
Exchange: "NFO",
InstrumentIdentifier: "FUTSTK_RPOWER_18OСT2017_XX_0",
Periodicity: "TICK",
Period: 1,
From: 1508319960,
To: 1508320140,
Max: 0
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response (Tick)
JSON Response (Tick)
{
"Request":{
"Exchange":"NFO",
"InstrumentIdentifier":"FUTSTK_RPOWER_18OСT2017_XX_0",
"From":1508319960,
"To":1508320140,
"Periodicity":"TICK",
"Period":1,
"Max":0,
"MessageType":"GetHistory"
},
"Result":[
{"LastTradeTime":1508320107,"LastTradePrice":43.0,"QuotationLot":3,"TradedQty":1,"OpenInterest":0,"BuyPrice":49992000.0,"BuyQty":43,"SellPrice":3.0,"SellQty":12000},
{"LastTradeTime":1508320102,"LastTradePrice":43.0,"QuotationLot":3,"TradedQty":1,"OpenInterest":0,"BuyPrice":49992000.0,"BuyQty":43,"SellPrice":25.0,"SellQty":96000},
{"LastTradeTime":1508320094,"LastTradePrice":43.0,"QuotationLot":3,"TradedQty":1,"OpenInterest":12000,"BuyPrice":49992000.0,"BuyQty":43,"SellPrice":25.0,"SellQty":84000},
{"LastTradeTime":1508320089,"LastTradePrice":43.0,"QuotationLot":3,"TradedQty":1,"OpenInterest":0,"BuyPrice":50004000.0,"BuyQty":43,"SellPrice":25.0,"SellQty":72000}
],
"MessageType":"HistoryTickResult"
}
Sample Response (OHLC)
JSON Response (OHLC)
{
"Request":{
"Exchange":"NFO",
"InstrumentIdentifier":"FUTSTK_RPOWER_18OСT2017_XX_0",
"From":1388534400,
"To":1412121600,
"Periodicity":"MINUTE",
"Period":1,
"Max":0,
"MessageType":"GetHistory"
},
"Result":[
{"LastTradeTime":1506074460,"QuotationLot":15,"TradedQty":43,"OpenInterest":43,"Open":43.0,"High":15.0,"Low":43.0,"Close":2.0},
{"LastTradeTime":1506074340,"QuotationLot":15,"TradedQty":43,"OpenInterest":43,"Open":43.0,"High":15.0,"Low":43.0,"Close":15.0},
{"LastTradeTime":1506074280,"QuotationLot":1,"TradedQty":43,"OpenInterest":43,"Open":43.0,"High":1.0,"Low":43.0,"Close":1.0},
{"LastTradeTime":1506074220,"QuotationLot":5,"TradedQty":43,"OpenInterest":43,"Open":43.0,"High":15.0,"Low":43.0,"Close":15.0}
],
"MessageType":"HistoryOHLCResult"
}

GetInstrumentTypes – returns list of InstrumentTypes (e.g. FUTIDX, FUTSTK, etc.)

Function Name
GetInstrumentTypes
Returns array of Instrument Types by selected exchange
What is returned
Array of Instrument Types
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

Sample Request (in JavaScript)
var request =
{
MessageType: "GetInstrumentTypes",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetInstrumentTypes"
},
"Result":[
{"Value":"OPTIDX"},
{"Value":"OPTSTK"}
],
"MessageType":"InstrumentTypesResult"
}

GetProducts – returns list of Products (e.g. NIFTY, BANKNIFTY, GAIL, etc.)

Function Name
GetProducts
Returns array of Products by selected exchange
What is returned
Array of Products
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

InstrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
Sample Request (in JavaScript)
var request =
{
MessageType: "GetProducts",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetProducts"
},
"Result":[
{"Value":"NIFTY"},
{"Value":"GAIL"}
],
"MessageType":"ProductsResult"
}

GetExpiryDates – returns array of Expiry Dates (e.g. 27Aug2015, 30Jul2015)

Function Name
GetExpiryDates
Returns array of Expiry Dates by selected exchange
What is returned
Array of Expiry Dates.
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

InstrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
Product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
Sample Request (in JavaScript)
var request =
{
MessageType: "GetExpiryDates",
Exchange: "NFO"
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetExpiryDates"
},
"Result":[
{"Value":"25JUN2020"},
{"Value":"28DEC2017"},
{"Value":"31DEC2020"}
],
"MessageType":"ExpiryDatesResult"
}

GetOptionTypes – returns list of Option Types (e.g. CE, PE, etc.)

Function Name
GetOptionTypes
Returns array of Option Types by selected exchange
What is returned
Array of Option Types
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

InstrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
Product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
Expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
Sample Request (in JavaScript)
var request =
{
MessageType: "GetOptionTypes",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetOptionTypes"
},
"Result":[
{"Value":"PE"},
{"Value":"CE"}
],
"MessageType":"OptionTypesResult"
}

GetStrikePrices – returns array of strike prices (e.g.10000, 10100, 22000, etc.)

Function Name
GetStrikePrices
Returns array of Strike Prices by selected exchange
What is returned
Array of Strike Prices.
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

InstrumentType
Optional parameter
String value like FUTIDX
Name of Supported InstrumentType. To get list of supported values, please see GetInstrumentTypes Function.
Product
Optional parameter
String value like BANKNIFTY
Name of Supported Product. To get list of supported values, please see GetProducts Function.
Expiry
Optional parameter
String value like 30Jul2015
Name of Supported Expiry. To get list of supported values, please see GetExpiryDates Function.
OptionType
Optional parameter
String value like CE or PE
Name of Supported optionType. To get list of supported values, please see GetOptionTypes Function.
Sample Request
var request =
{
MessageType: "GetStrikePrices",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response (in JavaScript)
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetStrikePrices"
},
"Result":[
{"Value":"11000"},
{"Value":"10000"},
{"Value":"8500"},
{"Value":"8600"}
],
"MessageType":"StrikePricesResult"
}

GetLimitation – returns user account information (e.g. which functions are allowed, bandwidth allowed, etc.)

Function Name
GetLimitation
Returns Information about User Account & its Limitations
What is returned
User Account Information and Limitations
Supported Parameters
Optional / Required
Description
Details
Sample Request
var request =
{
MessageType: "GetLimitation"
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
 {
"GeneralParams":{
"AllowedBandwidthPerHour":-1.0,
"AllowedCallsPerHour":-1,
"AllowedCallsPerMonth":-1,
"AllowedBandwidthPerMonth":-1.0,
"ExpirationDate":1485468000,
"Enabled":true
},
"AllowedExchanges":[
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"CDS"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"DUMMY"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"FUNDAMENTAL"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"MCX"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"NFO"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"NSE"},
{"AllowedInstruments":-1,"DataDelay":0,"ExchangeName":"NSE_IDX"}
],
"AllowedFunctions":[
{"FunctionName":"GetExchangeMessages","IsEnabled":false},
{"FunctionName":"GetFundamentalData","IsEnabled":false},
{"FunctionName":"GetHistory","IsEnabled":true},
{"FunctionName":"GetLastQuote","IsEnabled":false},
{"FunctionName":"GetLastQuoteArray","IsEnabled":false},
{"FunctionName":"GetLastQuoteArrayShort","IsEnabled":false},
{"FunctionName":"GetLastQuoteShort","IsEnabled":false},
{"FunctionName":"GetMarketMessages","IsEnabled":false},
{"FunctionName":"GetSnapshot","IsEnabled":true},
{"FunctionName":"SubscribeRealtime","IsEnabled":false}
],
"HistoryLimitation":{
"TickEnabled":true,
"DayEnabled":true,
"WeekEnabled":false,
"MonthEnabled":false,
"MaxEOD":100000,
"MaxIntraday":44,
"Hour_1Enabled":false,
"Hour_2Enabled":false,
"Hour_3Enabled":false,
"Hour_4Enabled":false,
"Hour_6Enabled":false,
"Hour_8Enabled":false,
"Hour_12Enabled":false,
"Minute_1Enabled":true,
"Minute_2Enabled":false,
"Minute_3Enabled":false,
"Minute_4Enabled":false,
"Minute_5Enabled":false,
"Minute_6Enabled":false,
"Minute_10Enabled":false,
"Minute_12Enabled":false,
"Minute_15Enabled":false,
"Minute_20Enabled":false,
"Minute_30Enabled":false,
"MaxTicks":5
},
"MessageType":"LimitationResult",
}

GetServerInfo – returns information about Server

Function Name
GetServerInfo
Returns Information about Server
What is returned
Information about Server
Supported Parameters
Optional / Required
Description
Details
Sample Request (in JavaScript)
var request =
{
MessageType: "GetServerInfo",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"ServerID":"2152-24",
"MessageType":"ServerInfoResult"
}

GetMarketMessages – returns Market Messages

Function Name
GetMarketMessages
Returns array of last messages (Market Messages) related to selected exchange
What is returned
Array of Market Messages
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

Sample Request (in JavaScript)
 var request =
{
MessageType: "GetMarketMessages",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetMarketMessages"
},
"Result":[
{"ServerTime":1391822398,"SessionID":2,"MarketType":"Normal Market Close","MessageType":"MarketMessagesItemResult"},
{"ServerTime":1391822399,"SessionID":1,"MarketType":"Special Session Open","MessageType":"MarketMessagesItemResult"}
],
"MessageType":"MarketMessagesResult"
}
The Time returned is Seconds passed since Epoch (01/01/1970). Please see epochconverter.com which contains readymade converter code for most languages.

GetExchangeMessages – returns Exchange Messages

Function Name
GetExchangeMessages
Returns array of last messages (Exchange Messages) related to selected exchange
What is returned
Array of Exchange Messages
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function as above

Sample Request (in JavaScript)
var request =
{
MessageType: "GetExchangeMessages",
Exchange: "NFO",
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response
JSON Response
{
"Request":{
"Exchange":"NFO",
"MessageType":"GetExchangeMessages"
},
"Result":[
{"ServerTime":1391822398,"Identifier":"Market","Message":"Members are requested to note that ...","MessageType":"ExchangeMessagesItemResult"},
{"ServerTime":1391822399,"Identifier":"Market","Message":"2013 shall be levied subsequently.","MessageType":"ExchangeMessagesItemResult"}
],
"MessageType":"ExchangeMessagesResult"
}
The Time returned is Seconds passed since Epoch (01/01/1970). Please see epochconverter.com which contains readymade converter code for most languages.

SubscribeRealtime – Subscribe to Realtime data, returns market data every tick

Function Name
SubscribeRealtime
SubscribeRealtime – Subscribe to Realtime data, returns market data every tick
What is returned
Exchange, InstrumentIdentifier, LastTradeTime, ServerTime, AverageTradedPrice, Close (previous Day’s Close), Open, High, Low, LastTradePrice, LastTradeQty, TotalQtyTraded, BuyPrice (Bid), BuyQty (Bid Size), SellPrice (Ask), SellQty (Sell Size), OpenInterest, QuotationLot, Value, PreOpen
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
InstrumentIdentifier
Required parameter
Values of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Unsubscribe
Optional parameter
[true]/[false], default = [false]
Optional parameter. By default subscribes to Realtime data. If [true] value unsubscribes
Sample Request (in JavaScript)
var request =
{
MessageType: "SubscribeRealtime",
Exchange: "NFO",
InstrumentIdentifier: "FUTIDX_BANKNIFTY_24NOV2016_XX_0"
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response (Tick)
JSON Response
{
"Exchange":"NFO",
"InstrumentIdentifier":"FUTIDX_BANKNIFTY_24NOV2016_XX_0",
"LastTradeTime":1474272325,
"ServerTime":1508832235,
"AverageTradedPrice":20189.55,
"BuyPrice":20172.55,
"BuyQty":40,
"Close":20160.0,
"High":20257.0,
"Low":20150.0,
"LastTradePrice":20162.0,
"LastTradeQty":0,
"Open":20249.0,
"OpenInterest":0,
"QuotationLot":0.0,
"SellPrice":20201.6,
"SellQty":640,
"TotalQtyTraded":1400,
"Value":28265370.0,
"PreOpen":false,
"MessageType":"RealtimeResult"
}

SubscribeSnapshot – Subscribe to Realtime data, returns data at snapshot periodicity

Function Name
SubscribeSnapshot
SubscribeRealtime – Subscribe to Realtime data, returns data at snapshot periodicity
What is returned
Exchange, InstrumentIdentifier, Periodicity, LastTradeTime, Open, High, Low, Close, TradedQty, OpenInterest
Supported Parameters
Optional / Required
Description
Details
Exchange
Required parameter
String Value like MCX
Name of supported exchange. To get list of supported exchanges, please use GetExchanges function
InstrumentIdentifier
Required parameter
Values of instrument identifier
Name of supported InstrumentIdentifier. To get list of supported values, please use GetInstruments function
Periodicity
Required parameter
[“MINUTE"]/[“HOUR"]
String value of required periodicity
Unsubscribe
Optional parameter
[true]/[false], default = [false]
Optional parameter. By default subscribes to Realtime Snapshot data. If [true] value unsubscribes
Sample Request (in JavaScript)
var request =
{
MessageType: "SubscribeSnapshot",
Exchange: "NFO",
InstrumentIdentifier: "FUTIDX_BANKNIFTY_24NOV2016_XX_0"
Periodicity: "MINUTE"
};
var message = JSON.stringify(request);
websocket.send(message);
Sample Response (Tick)
JSON Response
{
"Exchange":"NFO",
"InstrumentIdentifier":"FUTIDX_BANKNIFTY_24NOV2016_XX_0",
"Periodicity":"MINUTE",
"LastTradeTime":1508835184,
"TradedQty":0,
"OpenInterest":0,
"Open":20162.0,
"High":20162.0,
"Low":20162.0,
"Close":20162.0,
"MessageType":"RealtimeSnapshotResult"
}

Informational Messages (returns as text/plain)

List of possible informational messages (returns as text/plain)
  • Data unavailable.
  • Welcome!
  • Authentication request received. Try request data in next moment.
  • Access Denied. Key not found.
  • Access Denied. Key blocked.
  • Access Denied. Key unknown or empty.
  • Key Expired.
  • IP address not allowed.
  • Data for requested exchange is disabled.
  • Reached instrument limitation.
  • Function not enabled.
  • RealtimeSubscription disabled for delayed data.
  • Bandwidth per hour is limited.
  • Calls per hour are limited.
  • Calls limitation is reached.
  • Bandwidth limitation is reached.
  • Access Denied. Key Invalid.
  • Access Denied. Key already in use by other session.
  • Selected periodicity or period disabled.
Following samples are available to kick start your development immediately. Please Submit This Form to get access
Type of APISamples Available In
WebSocketsHTML + JavaScript, Python, Node JS, Java
DotNetC#
COMC++
RESTHTML + JavaScript
3rd Party Clients / Solutions
VendorType of ClientLinks
KNC Solutions Private Limited.
For any queries, email at developer@kncsolutions.in
Java Client for WebSockets APIRepository :
https://github.com/kncsolutions/dhelm-gfeed-java-client
Documentation :
https://github.com/kncsolutions/dhelm-gfeed-java-client/wiki
KNC Solutions Private Limited.
For any queries, email at developer@kncsolutions.in
Node.js Client for WebSockets APIRepository :
https://github.com/kncsolutions/dhelm-gfeed-js-client
Documentation :
https://github.com/kncsolutions/dhelm-gfeed-js-client/wiki
KNC Solutions Private Limited.
For any queries, email at developer@kncsolutions.in
Python Client for WebSockets APIRepository :
https://github.com/kncsolutions/dhelm-gfeed-python-client
Documentation :
https://kncsolutions.github.io/site/gfeedpythonapi/docs/_build/html/
3rd Party Software Disclaimer
Any links to third-party software available on this website are provided “as is” without warranty of any kind, either expressed or implied and such software is to be used at your own risk. Disclaimer
Global Datafeeds (GFDL) – Who we are?
Global Financial Datafeeds LLP (popularly known as GFDL or Global Datafeeds) is the first LLP registered in India in Finance Sector. GFDL was established in 2010, with commercial operations beginning in August 2010. GFDL focuses on Information Services related to Stock Markets (Equity, Futures, Options and Commodities) in India
GFDL is run by a spirited team – which aims to revolutionize the world of Financial Data Delivery in India by employing a unique Delivery Model.
With head office at Nashik (Maharashtra, India), GFDL has setup at Mumbai
What we do ?
We distribute realtime streaming, delayed streaming, delayed snapshot and EOD data of most popular Indian stock exchanges. Global Datafeeds is Authorised Realtime Data Vendor (L1) of NSE F&O, NSE CM, NSE CDS and MCX. We have packaged data products with tight integration with many of the world’s renowned platforms. Alongwith these, we also offer data through extensive APIs for personal / commercial use
Why us ?
– Build your business on legal and trusted solutions. We are authorised realtime data vendor of NSE & MCX with redundant backup network. Our Distribution Systems are reliable and proven. Thousands of professional traders, funds, brokerage houses as well as individual investors use our realtime data products to make their trading and investment decisions every day
– We are the only Indian independent data vending company engaged in distribution of realtime data of Indian Exchanges into different applications. Since our data is platform independent, it can be used in your software products for any analysis / charting purpose
– We disseminate authentic, accurate and affordable realtime data with low latency having 1 second update frequency
– The data spans all symbols (currently 50000+) of the exchanges / segments covered. Includes Stocks, Futures, Options as well as ETFs, Commodities, etc.
– Exactly same APIs are used to integrate our data with currently supported charting platforms like AmiBroker, NinjaTrader, MTPredictor, MotiveWave, MS Excel, MetaStock, TradePoint – and more. So you too can power your software with our data seamlessly
– Our APIs are used to build mobile and web based applications – alongwith desktop applications
– Our API Solutions are affordable

What is the use of this API ?

This API – Application Programming Interface – is a set of routines / functions using which, various types of data can be fetched from our server. This data is typically trade / price data of various Stocks, Futures, Options, ETFs listed on Stock Exchanges (mainly, Indian Stock Exchanges like NSE, NFO, CDS and MCX)

What type of data is available through this API ?

Following types of data is available through API :
– Realtime Streaming (L1) updating every second
– Realtime Snapshot (1min and in multiples thereof till 15min) – For example, for 5minute snapshot, price updates will be available at 9:20:00, 9:25:00, 9:30:00AM, etc. which will contain single OHLCV record for trades happening between previous 5 minutes
– Delayed Streaming (delay from few seconds to 900 seconds) – For example, for 1minute delayed streaming, price updates at 9:15:01 will be available at 9:16:01, price update at 9:15:02 will be available at 9:16:02 – and so on.
– End-Of-Day

Which APIs are available ?

Following APIs are available :
– WebSockets (Push Type) – suitable for most desktop / web applications, Operating Systems
– DotNet (Push Type) – suitable for desktop / DotNet applications
– COM (Push Type) – suitable for desktop applications
– REST (Pull Type) – most simple, can be used for any operating system, desktop / web applications. However, we strongly recommend to use WebSockets API if possible

Which Exchanges' data is available through this API ?

Data of following exchanges is available through the API :
– NSE CM Segment (National Stock Exchange of India – Equity / Cash Segment)
– NSE F&O Segment (National Stock Exchange of India – Futures and Options Segment)
– NSE CD Segment (National Stock Exchange of India – Currency Derivatives Segment)
– MCX (Multi Commodities Exchange of India)

Who can use this API ?

This API is available for Individuals as well as Organizations

Will I receive data of all Symbols through this API ?

No. This is On-Demand API. It means that data of only those instruments which are requested by the user is sent through the API to the user. Generally, there is some sort of limit applied for On-Demand APIs (for example, depending on case-to-case basis, we apply ‘no. of instruments’ and / or ‘no. of API requests per hour’ limit per user).
If you need data of all symbols of any exchange, we also have Streaming API to deliver raw data as received from the Exchange. In that case, you will need to write data handlers to parse and store the exchange data. You will also need to deliver the data to your customers through your own network / arrangement. You will need to sign Agreement with each required Stock Exchange and pay their Annual Fees directly to them. Please write to sales@globaldatafeeds.in for more details.

What is API for Personal Use ?

API can be used by an individual as well as organizations. But depending on how the data is used, the API is classified as for Personal Use and Commercial Use.
API For Personal Use / Individual User is defined as follows :
– Data and / or its derived results are used only for personal use of one single user
– Data is requested by single user using single device through single session and it is terminated on single device
– Data is not redistributed further in any form to different device / user
You will need to satisfy all of the above conditions to quality as ‘data for Personal Use’.

What is API for Commercial Use ?

API can be used by an individual as well as organizations. But depending on how the data is used, the API is classified as for Personal Use and Commercial Use.
API For Commercial Use is defined as follows :
– Data and / or its derived results are used by multiple users
For commercial Use, following usage conditions are mandatory :
– Data is requested by multiple endusers using single device each through single session each and it is terminated on single device per user
– Data is not redistributed further in any form to different device / enduser
– Each enduser is uniquely identifiable

What are Exchange Agreement and Exchange Fees ? When will I need to sign and pay them ?

You will need to sign agreement with each required exchange and pay their annual fees directly to them – in case you satisfy any of the following conditions :
– You want to store realtime data on your server
– You want to process realtime data on your server and send derived results to multiple users (with or without realtime data)
– You want to disseminate realtime data to multiple users from your own server
– You want to display realtime data on your website (for free or on chargeable basis)

What is API Pricing ?

We need to understand how you wish to use our API in order to send you an offer. Please Submit This Form to receive an offer from us
  • Technical Support is offered on email only. Please write to developer@globaldatafeeds.in for all technical queries during trial or during paid subscription
Support Hours (GMT+5:30)
8:15am – 7:15pm, M-F
9:30am – 2:30pm Sat
Closed on Sunday and all Stock Exchange Holidays
APIs are available for realtime streaming, delayed streaming, realtime snapshot and EOD data. APIs can be availed by individuals as well as organizations. For more information, please Submit This Form
Global Financial Datafeeds LLP
B1, Trinity Towers, ST Colony,
Gangapur Road, Nashik – 422013
State – Maharashtra. INDIA.
Contact Person
Mrs. Pornima Tapse – Sales Manager
Mobile – +91-7350620002
Email – sales@globaldatafeeds.in
Technical Support
Technical Support is offered on email only. Please write to developer@globaldatafeeds.in for all technical queries during trial or during paid subscription.
Support Hours (GMT+5:30)
8:15am – 7:15pm, M-F
9:30am – 2:30pm Sat
Closed on Sunday and all Stock Exchange Holidays