I'm trying to get instrument list using instrumentListRequest. However, the maximum number of the results from the response is always 1000 even if I've set the request parameter maxResult to a number larger than 1000 (I guess this is the restriction enforced on their server side).
Does blpapi supports pagination so that I can make multiple smaller requests or any other querying technique to narrow down the results? Then I can later aggregate results from all the smaller requests to get the final results I want.
I looked up in the documentation and the provided demo SecurityLookupExample.py from their GitHub, and the only filters provided in instrumentListRequest are yellowKeyFilter and languageOverride, which don't do much effort in narrowing down the searching scope.
Update
Here is how I set the query and maxResult to the request:
session = blpapi.Session()
if not session.start():
print("Failed to start session.")
exit()
if not session.openService("//blp/instruments"):
print("Failed to open //blp/instruments")
exit()
service = session.getService("//blp/instruments")
request = service.createRequest("instrumentListRequest")
request.set("query", "VN EQUITY")
request.set("maxResults", 2000)
session.sendRequest(request)
However, I get only 1000 results even if I set the maxResult to 2000. Also, it seems like the query "VN EQUITY" will search for securities contain "VN" and "EQUITY" not "VN EQUITY" with the space.