Why not just (wait 24h and) download the file from
https://gz.blockchair.com/bitcoin/addresses/ then use any text editor or write a simple script to work on local data.
At least you will not annoy servers with many calls.
I've tested a very fast search method before, and it works great:
1. Use the link above to get all funded Bitcoin addresses
2. Make a list of all addresses you want to check
3. Sort the lists and remove accidental duplicates
4. Add both lists together, sort them again, and find all duplicates
All you need for this is Linux commands "sort" and "uniq". It scales very well, checking millions of addresses takes a few seconds and you can search as much as fits your computer's memory.
LoyceV post the code!
If you want to check for all addresses that have ever been funded before, you'll just need to find a list for that. The main drawback is that you won't catch addresses that have been funded in the past hours if you don't update your list real-time.