Support streaming API in Python client
This is a big ask as it would involve both Python client and server-side changes, but it would be hugely valuable and would help you scale to many more users concurrently. The protocol is this: client sends JSON subscription message with streaming query parameters to server using SocketIO or something like it. Server responds by initiating a private stream back to the client, which continues until client either unsubscribes or disconnects. Via this stream the client would get real-time updates whenever indexer matched a new event, avoiding the need to poll for data, which is a pain on client side and also a very heavy load on the server. Client would register an event callback to process each incoming event.
You might also consider offering streaming as a mechanism to support large historical queries as well. Pagination of tons of JSON payloads again puts a lot of load on the system. Ideally you would not use JSON at all in this high-performance mode, and instead stream back something like Apache Arrow (Parquet) in binary frames; this is what we are doing for our data platform. This is more compact and can be read more efficiently than big blocks of JSON.
If you want inspiration, bmoscon's cryptofeed API is very nice in terms of a websocket client with async callbacks; we use it for consuming CEX marketdata: https://github.com/bmoscon/cryptofeed.