Elasticsearch unreachable from any language client

I suddenly started facing issue where I can hit the elasticsearch from curl but no other language client or even plain http call. I tried this in python and go, and for both es is timing out the request, whereas curl works perfect. My es version is 7.9.3 and python client is 7.9.1. I am pasting the curl command and response for it
curl: curl --location 'localhost:9200/_cat/health'
response: 1715149172 06:19:32 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%

This was working fine and suddenly started to show up when my cluster started showing message like high water mark excedding 90%.