We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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?
The text was updated successfully, but these errors were encountered:
Hello,
I had the same problem. Apparently, the API is refusing requests without headers.
My workaround was to add the headers directly to the object.
Also, the ticket FB is returning blank because it got change to 'META'
FB = web.YahooOptions('FB') FB.headers = {'User-Agent': 'Firefox'} print(FB.expiry_dates)
It would be nice to have a default header for that request IMO.
Hope it helps :)
Sorry, something went wrong.
change FB by META
Successfully merging a pull request may close this issue.
So, I have tried to request options and calls using
which yields
Now, accessing that URL from the browser works fine. So I then tried to do a simple 'requests' get. It turned out:
yields
But if I add headers
I get the proper response.
Calls work the same...
Therefore, I think Yahoo is constraining its api no?
The text was updated successfully, but these errors were encountered: