HMDS Market Scanner

View as MarkdownOpen in Claude

Request a market scanner from our HMDS service.

Can return a maximum of 250 contracts.

Developers should first call the /hmds/auth/init endpoint prior to their request to avoid an initial 404 rejection.

POST /hmds/scanner

Request Object

Body Parameters

instrument: String. Required
Specify the type of instrument for the request.
Found under the “instrument_list” value of the /iserver/scanner/params request.

locations: String. Required
Specify the type of location for the request.
Found under the “location_tree” value of the /iserver/scanner/params request.

scanCode: String. Required
Specify the scanner type for the request.
Found under the “scan_type_list” value of the /iserver/scanner/params request.

secType: String. Required
Specify the type of security type for the request.
Found under the “location_tree” value of the /iserver/scanner/params request.

delayedLocations: null.
Internal use only.

maxItems: int.
Specify how many items should be returned.
Default and maximum set to 250.

filters: Array of object. Required*
Array of objects containing all filters upon the scanner request.
Content contains a series of key:value pairs.
While “filters” must be specified in the body, no content in the array needs to be passed.

1request_url = f"{baseUrl}/hmds/scanner"
2json_content= {
3 "instrument":"BOND",
4 "locations": "BOND.US",
5 "scanCode": "HIGH_BOND_ASK_YIELD_ALL",
6 "secType": "BOND",
7 "delayedLocations":"SMART",
8 "maxItems":25,
9 "filters":[{
10 "bondAskYieldBelow": 15.819
11 }]
12}
13requests.post(url=request_url, json=json_content)

Response Object

contracts: Array of objects.
Contains all contracts in order from the scanner response.
[{
inScanTime: String.
Returns the time at which the contract was scanned.
Always returned in UTC time as a string.

contractID: String.
Returns the contract identifier of the scanned contract.

con_id: String.
Returns the contract identifier of the scanned contract.
}]

{
"total": "17262",
"size": "250",
"offset": "0",
"scanTime": "20231214-18:55:25",
"id": "scanner1",
"position": "v1:AAAAAQABG3gAAAAAAAAA+g==",
"Contracts": {
"Contract": [
{
"inScanTime": "20231214-18:55:25",
"contractID": "431424315"
},
]
}