Open
Description
So, I have tried to request options and calls using
import pandas_datareader.data as web
FB = web.YahooOptions('FB')
print(FB.expiry_dates)
which yields
pandas_datareader._utils.RemoteDataError: Unable to read URL: https://query1.finance.yahoo.com/v7/finance/options/FB
Response Text:
b'Forbidden'
Now, accessing that URL from the browser works fine. So I then tried to do a simple 'requests' get. It turned out:
response = requests.get("https://query1.finance.yahoo.com/v7/finance/options/FB")
print(response.text)
yields
Forbidden
But if I add headers
headers = {'User-Agent': 'Firefox'}
response = requests.get(
"https://query1.finance.yahoo.com/v7/finance/options/FB", headers=headers).json()
I get the proper response.
Calls work the same...
Therefore, I think Yahoo is constraining its api no?
Metadata
Metadata
Assignees
Labels
No labels