If you suggest a selfhosted solution it has to run on win and linux.
PS: I cannot run electrum or download the whole blockchain.
Any self-hosted solution will likely involve Bitcoin Core and downloading the whole blockchain. There isn't really any other way to be able to check "random" address balances without having the entire blockchain data to be able to scan/parse.
If you are unable to host this data locally, then you'll either need:
1. to rely on API's hosted elsewhere
or
2. host the data remotely (ie. on a rented server etc)
Given it appears that you're looking for a "free" solution, then option #1 is probably your best bet... unfortunately, as mentioned above, "free" API's are going to come with limitations. Usually on the number of requests able to be made in a specific time period. The only way around those limits will generally require having a paid account/subscription.
What sort of volume of requests are you looking at making?