I would like to know if there is a way to retrieve values of highly-used technical indicators such as EMA, Simple Moving Average (SMA), Williams%R for a few hundred stocks that updates hourly for free over multiple API calls per minute.
The current solutions in the market are AlphaVantage's API which provides real-time data but limits you to 5 API calls per minute (which means you can get 1 technical indicator on 5 stocks maximum).
Other APIs such as Quandl and IEX, has much higher rates for API calls but the quotes data are offered per day (open/high/close/low).
Is there anything out in the market that allows me to do this for free? The purpose of using this data is to provide real-time (or at least close to 3/4-hourly) alerts if for example, the EMA-26 and EMA-12 intersects each other for any of a list of, say, 500 stocks, every few hours.
After trying so many different APIs, I think the yfinance API is the best for batch downloads as you can simply use a list of stock symbols to fetch data. However, note that if you fetch data for multiple stocks that the pandas format changes to multilevel index array.