Market Watch¶
The Market Watch services is used to retrieve watchlist of a particular User. All valid instruments can be added to the Market Watch. The count of the Market Watch and total number of scrips per market watch is configurable during the installation of the middleware.
Method | API Endpoint | Description |
---|---|---|
POST | marketWatch/createMW |
Create a new MarketWatch |
POST | marketWatch/renameMW |
Rename an existing MarketWatch |
POST | marketWatch/addscrip |
Add scrips to a MarketWatch |
POST | marketWatch/deletescrip |
Delete scrips from a MarketWatch |
POST | marketWatch/sortMwScrips |
Sort scrips in a MarketWatch |
GET | marketWatch/getAllMwScrips |
Retrieve all MarketWatch scrips |
GET | marketWatch/getIndices |
Get market indices |
POST | marketWatch/security/info |
Get detailed info of a specific scrip |
POST | /scrip/search |
Search for a scrip |
Create MarketWatch¶
Creates a new MarketWatch list for the user. This allows the user to organize and monitor a custom list of financial instruments (such as stocks, indices, or commodities) in a personalized view.
Request Structure
Input parameters
Field | Type | Description |
---|---|---|
userId | String | The unique, permanent user ID registered with the broker |
Response Structure
{
"stat": "Ok",
"message": "Market Watch Created Successfully",
"result": [
{
"mwId": "1",
"mwName": "MWList1",
"scrips": null
},
{
"mwId": "2",
"mwName": "MWList2",
"scrips": null
},
{
"mwId": "3",
"mwName": "MWList3",
"scrips": null
},
{
"mwId": "4",
"mwName": "MWList4",
"scrips": null
},
{
"mwId": "5",
"mwName": "MWList5",
"scrips": null
}
]
}
Field | Type | description |
---|---|---|
mwId | String | Unique market watch ID |
mwName | String | Unique market watch Name |
scrips | ArrayList | List of scripts in market watch |
Rename MarketWatch¶
Allows the user to rename an existing MarketWatch list. This operation changes only the display name of the watchlist without modifying its scrips or structure.
Request Structure
Input parameters
Field | Type | Description |
---|---|---|
mwId | String | The unique ID of the existing MarketWatch that needs to be renamed. |
mwName | String | The new name to assign to the MarketWatch. |
Response Structure
ParametersField | Type | Description |
---|---|---|
status | String | Indicates the overall result of the API request (e.g., "Ok"). |
message | String | It confirms that Watchlist2 was successfully renamed to "SARA". |
Add Scrips¶
Adds one or more scrips (financial instruments such as stocks, indices, or commodities) to an existing MarketWatch list. This allows users to customize their watchlist by tracking specific instruments of interest.
Request Structure
Input parameters
Field | Type | Description |
---|---|---|
mwId | String | ID of the MarketWatch list where the scrip(s) will be added. |
exchange | String | Name of the exchange (e.g., "BSE", "NSE", "MCX"). |
token | String | Unique identifier (token) for the scrip in that exchange. |
Response Structure
{
"status": "Ok",
"message": "Success",
"result": {
"scrip": [
{
"exchange": "BSE",
"segment": "bse_idx",
"token": "61",
"tradingSymbol": "BSELVI",
"expiry": "",
"sortOrder": 1,
"pdc": "0",
"symbol": "BSELVI",
"formattedInsName": "BSELVI",
"weekTag": "",
"badge": {
"bnpl": "",
"event": true,
"holdingqty": "0",
"ideas": ""
},
"screeners": []
}
]
}
}
Field | Type | Description |
---|---|---|
exchange | String | Name of the exchange (e.g., "BSE"). |
segment | String | Segment type (e.g., "bse_idx" = BSE Index). |
token | String | Unique identifier of the scrip. |
tradingSymbol | String | Symbol used for trading (e.g., "BSELVI"). |
expiry | String | Expiry date (for derivatives, empty for equities). |
sortOrder | integer | Position of the scrip in the list. |
pdc | String | Previous Day Close. |
symbol | String | Base symbol name. |
formattedInsName | String | Formatted instrument name for display. |
weekTag | String | Identifier related to the week(empty if not applicable). |
badge | object | Additional metadata or tags. |
screeners | array | List of screeners/tags. |
Delete Scrips¶
Removes one or more scrips from an existing MarketWatch list. This allows users to declutter their watchlist by deleting unwanted financial instruments such as stocks, indices, or commodities.
Request Structure
Input parametersField | Type | Description |
---|---|---|
mwId | String | ID of the MarketWatch list where the scrip(s) will be added. |
exchange | String | Name of the exchange (e.g., "BSE", "NSE", "MCX"). |
token | String | Unique identifier (token) for the scrip in that exchange. |
Response Structure
ParametersField | Type | Description |
---|---|---|
status | String | Indicates the overall result of the request (e.g., "Ok" for success). |
message | String | Confirmation message stating the scrip ("BSELVI") was deleted successfully from the MarketWatch. |
Sort MarketWatch Scrips¶
Reorders the scrips within a specific MarketWatch list based on the custom sequence provided by the user. This allows the user to organize their watchlist in a preferred viewing order (e.g., by priority, sector, or any logical grouping).
Request Structure
{
"mwId": "303",
"scripData": [
{
"exchange": "NSE",
"token": "7229",
"sortingOrder": 1
},
{
"exchange": "NSE",
"token": "3405",
"sortingOrder": 2
},
{
"exchange": "NSE",
"token": "30392",
"sortingOrder": 3
},
{
"exchange": "MCX",
"token": "436676",
"sortingOrder": 4
},
{
"exchange": "MCX",
"token": "436637",
"sortingOrder": 5
}
]
}
Field | Type | Description |
---|---|---|
mwId | String | ID of the MarketWatch list to sort. |
exchange | String | Exchange name (e.g., "NSE", "MCX"). |
token | String | Unique token for the scrip in the exchange. |
sortingOrder | integer | Position the scrip should occupy in the new order. (1 = top). |
Response Structure
ParametersField | Type | Description |
---|---|---|
status | String | Indicates the status of the API request. "Ok" confirms a successful operation. |
message | String | Confirmation message indicating that the new scrip sorting order was successfully saved. |
Get All MarketWatch¶
Fetches all MarketWatch lists created by the user, along with the scrips (stocks/contracts) present in each list.
Response Structure
{
"status": "Ok",
"message": "Success",
"result": [
{
"isRename": false,
"isDefault": false,
"mwId": "301",
"isEdit": false,
"mwName": "Recently Viewed",
"scrips": [
{
"exchange": "BSE",
"segment": "bse_cm",
"token": "532540",
"tradingSymbol": "TCS",
"expiry": "",
"sortOrder": 3,
"pdc": "3580.75",
"symbol": "TCS",
"formattedInsName": "TCS",
"weekTag": "",
"badge": {
"bnpl": "",
"event": false,
"holdingqty": "0",
"ideas": ""
},
"screeners": []
}
]
},
{
"isRename": true,
"isDefault": false,
"mwId": "302",
"isEdit": true,
"mwName": "SARA",
"scrips": [
{
"exchange": "NCX",
"segment": "ncdex",
"token": "74001",
"tradingSymbol": "GUARSEED1018JUL2025",
"expiry": "2025-07-18",
"sortOrder": 1,
"pdc": "5083",
"symbol": "GUARSEED10",
"formattedInsName": "GUARSEED10 18 JUL 2025 FUT",
"weekTag": "M",
"badge": {
"bnpl": "",
"event": false,
"holdingqty": "0",
"ideas": ""
},
"screeners": []
}
]
},
{
"isRename": true,
"isDefault": false,
"mwId": "303",
"isEdit": true,
"mwName": "Watchlist3",
"scrips": []
},
{
"isRename": true,
"isDefault": false,
"mwId": "304",
"isEdit": true,
"mwName": "Watchlist4",
"scrips": []
},
{
"isRename": true,
"isDefault": false,
"mwId": "305",
"isEdit": true,
"mwName": "Watchlist5",
"scrips": []
},
{
"isRename": true,
"isDefault": false,
"mwId": "306",
"isEdit": true,
"mwName": "Watchlist6",
"scrips": []
}
]
}
Field | Type | Description |
---|---|---|
isRename | Boolean | Indicates if the name of the watchlist can be changed |
isDefault | Boolean | Indicates if it is a system default watchlist (true = not editable) |
mwId | String | Unique ID of the MarketWatch |
isEdit | Boolean | Determines if user is allowed to edit this watchlist |
mwName | String | Name of the MarketWatch |
scrips | Array | Array of instruments added to this MarketWatch |
exchange | String | Name of the exchange (e.g., "BSE", "MCX") |
segment | String | Segment code (e.g., "bse_cm", "ncdex") |
token | String | Unique identifier for the scrip |
tradingSymbol | String | Tradable symbol for the instrument |
expiry | String | Expiry date if it's a derivative, else empty |
sortOrder | Integer | Sorting position within the MarketWatch |
pdc | String | Previous day close price |
symbol | String | Symbol code |
formattedInsName | String | User-friendly instrument name |
weekTag | String | Weekly indicator (e.g., "M" for monthly) |
badge | Object | Miscellaneous metadata like holding qty, event tag, etc. |
screeners | Array | Screener tags |
Get Indices¶
Retrieves a comprehensive list of stock market indices from the exchange (e.g., NSE). The API provides metadata for each index such as the name, exchange, segment, unique index ID, and the most recent closing value. This is typically used in MarketWatch modules or dashboards to allow users to monitor major indices like NIFTY 50, NIFTY IT, etc.
Response Structure
{
"Indices": [
{
"closingIndex": 24750.90,
"exchange": "NSE",
"segment": "NSE",
"indexName": "NIFTY 50",
"indexValue": "0",
"indiceID": "26000"
},
{
"closingIndex": 11223.15,
"exchange": "NSE",
"segment": "NSE",
"indexName": "NIFTY GROWSECT 15",
"indexValue": "0",
"indiceID": "26001"
},
{
"closingIndex": 13653.10,
"exchange": "NSE",
"segment": "NSE",
"indexName": "NIFTY50 PR 2X LEV",
"indexValue": "0",
"indiceID": "26002"
},
{
"closingIndex": 22934.50,
"exchange": "NSE",
"segment": "NSE",
"indexName": "NIFTY 500",
"indexValue": "0",
"indiceID": "26004"
},
{
"closingIndex": 37107.95,
"exchange": "NSE",
"segment": "NSE",
"indexName": "NIFTY IT",
"indexValue": "0",
"indiceID": "26008"
}
],
"message": "Success",
"status": "Ok"
}
Field | Type | Description |
---|---|---|
Indices | array | List of market indices returned by the exchange. |
closingIndex | number | Last closing value of the index (e.g., 24750.90). |
exchange | String | The exchange to which the index belongs (e.g., "NSE"). |
segment | String | Segment of the index, usually same as exchange. |
indexName | String | Name of the index (e.g., "NIFTY 50"). |
indexValue | String | Reserved for real-time/live index value. |
indiceID | String | Unique ID of the index, used for tracking or selection. |
message | String | Success message from the API. |
status | String | Status of the API call ("Ok" if successful). |
Security Info¶
This API provides detailed information about a specific security (scrip), index, or commodity based on its unique token and exchange. It is primarily used in trading applications to display instrument-level details necessary for placing orders, viewing metadata, and understanding trading parameters.
Request Structure
Input parameters
Field | Type | Description |
---|---|---|
token | String | Unique identifier for the instrument (e.g., 26000 = NIFTY) |
exchange | String | Exchange where the scrip is listed (e.g., NSE, BSE, MCX) |
Response Structure
{
"status": "Ok",
"message": "Success",
"result": {
"isin": "",
"exchange": "NSE",
"token": "26000",
"tradingSymbol": "NIFTY",
"lotSize": "",
"tickSize": "0.05",
"symbol": "NIFTY 50",
"pdc": 24346.70,
"insType": "INDEX",
"expiry": "",
"qtyLimit": "",
"sliceEnable": 1,
"surveillance": false,
"scripIndex": true,
"isFnOAvailable": false,
"companyName": "",
"spotData": {
"ltp": 0.0,
"token": "",
"tradingSymbol": "",
"nsebseToken": "",
"nsebseTickSize": ""
},
"prompt": [],
"productLeverage": {
"delivery": "",
"intraday": "",
"bnpl": ""
},
"badge": {
"event": false,
"bnpl": "0",
"ideas": "",
"holdingqty": 0
},
"screeners": [],
"optionType": "",
"formattedInsName": "NIFTY 50"
}
}
Parameters
Field | Type | Description |
---|---|---|
status | String | Overall API response status ("Ok") |
message | String | Message indicating success or failure |
isin | String | ISIN code (empty for indices) |
exchange | String | Exchange name (e.g., "NSE") |
token | String | Unique identifier of the scrip (e.g., "26000" = NIFTY 50) |
tradingSymbol | String | Short code used in trading ("NIFTY") |
lotSize | String | Lot size (empty here; applies to derivatives or commodities) |
tickSize | String | Minimum price movement ("0.05" for indices) |
symbol | String | Full name of the scrip ("NIFTY 50") |
pdc | Float | Previous Day Close (24346.70) |
insType | String | Instrument type ("INDEX", "EQUITY", "FUT", "OPT") |
expiry | String | Expiry date (only relevant for F\&O or commodities) |
qtyLimit | String | Quantity limit per order (empty here) |
sliceEnable | Integer | Indicates if slice orders are allowed (1 = Yes, 0 = No) |
surveillance | Boolean | Flag for surveillance watch (false) |
scripIndex | Boolean | True if the instrument is an index |
isFnOAvailable | Boolean | Indicates if Futures & Options are available for this instrument |
companyName | String | Name of the company (blank for indices) |
ltp | Double | Last traded price of the spot instrument |
token | String | Token of spot scrip (empty here) |
tradingSymbol | String | Spot trading symbol (empty here) |
delivery | String | Leverage allowed in delivery |
intraday | String | Leverage allowed in intraday |
bnpl | String | Buy Now Pay Later leverage |
event | String | Whether there's a special event |
bnpl | String | BNPL availability indicator |
ideas | String | Strategy/idea tags |
holdingqty | Integer | Quantity held by user (if applicable) |
Scrip Search¶
To search and retrieve a list of tradable instruments (scrips) based on keywords across specific exchanges.
Request Structure
Input parameters
Field | Type | Required | Description |
---|---|---|---|
exchange | Array | Yes | List of exchanges to filter results (e.g., "MCX" for commodities) |
searchText | String | Yes | Keyword to search scrips (e.g., "SILVER" for silver-related contracts) |
pageSize | String/Int | No | Number of scrips per page (default is usually 20) |
currentPage | String/Int | No | Page number for paginated results (starts from 1) |
Response Structure
{
"status": "Ok",
"message": "Success",
"result": {
"pageCount": 110,
"currentPage": 1,
"searchResult": [
{
"exchange": "MCX",
"segment": "MCX",
"symbol": "SILVER",
"token": "433350",
"formattedInsName": "SILVER 5th MAY FUT",
"weekTag": "",
"companyName": "SILVER",
"expiry": "2025-05-05",
"isFnOAvailable": true,
"series": "",
"isin": "",
"optionType": "XX"
},
{
"exchange": "MCX",
"segment": "MCX",
"symbol": "SILVERM",
"token": "436581",
"formattedInsName": "SILVERM 30th JUN FUT",
"weekTag": "",
"companyName": "SILVERM",
"expiry": "2025-06-30",
"isFnOAvailable": true,
"series": "",
"isin": "",
"optionType": "XX"
},
{
"exchange": "MCX",
"segment": "MCX",
"symbol": "SILVERMIC",
"token": "440576",
"formattedInsName": "SILVERMIC 30th JUN FUT",
"weekTag": "",
"companyName": "SILVERMIC",
"expiry": "2025-06-30",
"isFnOAvailable": false,
"series": "",
"isin": "",
"optionType": "XX"
}
]
}
}
Field | Type | Description |
---|---|---|
exchange | String | Exchange name (e.g., "MCX") |
segment | String | Trading segment (usually same as exchange for MCX) |
symbol | String | Instrument symbol (e.g., SILVER, SILVERM, SILVERMIC) |
token | String | Unique identifier for the instrument (used in trading/watchlist) |
formattedInsName | String | User-friendly display name (e.g., "SILVER 5th MAY FUT") |
companyName | String | Base company or instrument name |
expiry | String | Expiry date of the contract (for futures/options) in YYYY-MM-DD |
isFnOAvailable | Boolean | Whether the instrument supports Futures and Options |
series | String | Series identifier (typically empty or relevant only in equities) |
isin | String | International Securities Identification Number (blank if not applicable) |
optionType | String | Option type ("XX" indicates it's not an option or not specified) |
weekTag | String | Indicates if it's a weekly contract (if applicable) |