Skip to content

Market Watch

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
GET marketWatch/getAllMwScrips Retrieve all MarketWatch scrips
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
POST marketWatch/security/info Get detailed info of a specific scrip
POST /scrip/search Search for a scrip

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": []
        }
    ]
}
Parameters

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

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

{
    "mwId":"302",
    "mwName":"SARA"
}

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

{
    "status": "Ok",
    "message": "Watchlist2 Renamed to SARA Successfully."
}
Parameters

Field 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

{
    "mwId": "304",
    "scripData": [
        {
            "exchange": "BSE",
            "token": "61"
        }
    ]
}

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": []
            }
        ]
    }
}
Parameters

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

{
    "mwId": "304",
    "scripData": [
        {
            "exchange": "BSE",
            "token": "61"
        }
    ]
}
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": "BSELVI Deleted Successfully"
}
Parameters

Field 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
        }
    ]
}
Input parameters

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

{
    "status": "Ok",
    "message": "Sorting order saved successfully."
}
Parameters

Field 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.

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

{
    "token": "26000",
    "exchange": "NSE"
}

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)

Predefined 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 preMarketWatch/getAllData Get Predefined Marketwatch

Predefined Marketwatch refers to a system-defined set of watchlists that are readily available to all users without the need for manual creation. These watchlists typically group popular market segments, indices, or sectors to provide users with quick access to relevant and high-interest stocks.

Response Structure

{
    "status": "ECMW001",
    "message": "Success",
    "result": [
        {
            "mwId": 1,
            "mwName": "NIFTY 50",
            "position": 2,
            "isEditable": 0,
            "isEnabled": 0,
            "tag": "n50",
            "scrips": [
                {
                    "id": 4573874,
                    "token": "383",
                    "exchange": "NSE",
                    "symbol": "BEL",
                    "tradingSymbol": "BEL-EQ",
                    "formattedInsName": "BEL-EQ",
                    "segment": "nse_cm",
                    "pdc": "400.2",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                }
                {
                    "id": 4572830,
                    "token": "1964",
                    "exchange": "NSE",
                    "symbol": "TRENT",
                    "tradingSymbol": "TRENT-EQ",
                    "formattedInsName": "TRENT-EQ",
                    "segment": "nse_cm",
                    "pdc": "5359",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                }...
            ]
        },
        {
            "mwId": 2,
            "mwName": "NIFTY BANK",
            "position": 3,
            "isEditable": 0,
            "isEnabled": 1,
            "tag": "bnf",
            "scrips": [
                {
                    "id": 90,
                    "token": "1023",
                    "exchange": "NSE",
                    "symbol": "FEDERALBNK",
                    "tradingSymbol": "FEDERALBNK-EQ",
                    "formattedInsName": "FEDERALBNK-EQ",
                    "segment": "nse_cm",
                    "pdc": "212.81",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                },
                {
                    "id": 4572832,
                    "token": "10794",
                    "exchange": "NSE",
                    "symbol": "CANBK",
                    "tradingSymbol": "CANBK-EQ",
                    "formattedInsName": "CANBK-EQ",
                    "segment": "nse_cm",
                    "pdc": "107.8",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                }...
            ]
        },
        {
            "mwId": 3,
            "mwName": "SENSEX",
            "position": 4,
            "isEditable": 0,
            "isEnabled": 1,
            "tag": "snx",
            "scrips": [
                {
                    "id": 65,
                    "token": "500510",
                    "exchange": "BSE",
                    "symbol": "LT",
                    "tradingSymbol": "LT",
                    "formattedInsName": "LT",
                    "segment": "bse_cm",
                    "pdc": "3485.25",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                },
                {
                    "id": 74,
                    "token": "500570",
                    "exchange": "BSE",
                    "symbol": "TATAMOTORS",
                    "tradingSymbol": "TATAMOTORS",
                    "formattedInsName": "TATAMOTORS",
                    "segment": "bse_cm",
                    "pdc": "690.2",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                }...
            ]
        },
        {
            "mwId": 4,
            "mwName": "Recently Viewed",
            "position": 0,
            "isEditable": 0,
            "isEnabled": 0,
            "tag": "recent",
            "scrips": [
                {
                    "id": 90,
                    "token": "1023",
                    "exchange": "NSE",
                    "symbol": "FEDERALBNK",
                    "tradingSymbol": "FEDERALBNK-EQ",
                    "formattedInsName": "FEDERALBNK-EQ",
                    "segment": "nse_cm",
                    "pdc": "212.81",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                },
                {
                    "id": 4572832,
                    "token": "10794",
                    "exchange": "NSE",
                    "symbol": "CANBK",
                    "tradingSymbol": "CANBK-EQ",
                    "formattedInsName": "CANBK-EQ",
                    "segment": "nse_cm",
                    "pdc": "107.8",
                    "expiry": null,
                    "weekTag": "",
                    "sortOrder": 0
                }...
            ]
        }
    ]
}
Parameters

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

To search and retrieve a list of tradable instruments (scrips) based on keywords across specific exchanges.

Request Structure

{
    "exchange": [
        "Mcx"
    ],
    "searchText": "SILVER",
    "pageSize":"20",
    "currentPage":"1"
}

Input parameters

Field Type Required Description
exchange Array Yes List of exchanges to filter results (e.g., ALL, NSE, BSE, MCX, NFO, BFO, CDS)
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"
            }
        ]
    }
}
Parameters

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)