Python is not working for me. What should I do?
Note that each data feed on Nasdaq Data Link is delivered through one of the following Nasdaq Data Link APIs:
- Streaming API for real-time data
- REST API for real-time or delayed data
- REST API for time-series
- REST API for tables
You can learn more about these APIs and data formats here.
Data that is delivered through the REST API for time-series or tables can be used with the Nasdaq Data Link Python package. If you are facing issues with this Python package, here are few things you can do to troubleshoot:
1. Check that you've installed the Python package and set your API key correctly.
Please ensure that you've installed the Python package and set your API key exactly as per the instructions here.
If you already have a Nasdaq Data Link account, you can find your API key by logging in at data.nasdaq.com and going to your Account Settings.
If you do not have an account yet, you may sign up for one here. It is free to create an account and no credit card is required. As soon as you create your account, you'll be able to find your API key by logging in at data.nasdaq.com and going to your Account Settings.
2. Check that you have permission to access the data feed you're trying to access.
If you are a trying to download data from a premium data feed, you must first subscribe to the feed and complete payment. If you are not subscribed to a premium data feed, you would only be able to download the sample data for that feed.
3. Check that you are using the correct Python command for the format of the data feed you're trying to access.
For time-series data, you must use the nasdaqdatalink.get command. See documentation here.
For tables, you must use the nasdaqdatalink.get_table or nasdaqdatalink.export_table command. See documentation here.
4. Check that you are not exceeding usage limits:
User Type | Speed Limit | Volume Limit | Concurrent Limit |
Anonymous Users | 20 calls / 10 minutes | 50 calls / day | 1 call |
Logged-In Free Users | 2,000 calls / 10 minutes | 50,000 calls / day | 1 call + 1 additional call in the queue |
Premium Subscribers | 5,000 calls / 10 minutes | 720,000 calls / day | No limit |
More information on usage limits can be found here.
We recommend slowing down and spacing your commands apart to avoid exceeding these limits.
5. Check if firewalls may be preventing you from downloading data.
See information on Firewall Errors here.
6. If you get an error code after making a Python call, check the table below which explains what each error code means and what solution we recommend.
Error Code | HTTP Status Code | Description | Solution |
QELx01 | 429 | You have exceeded your daily call limit as an anonymous user. | Set your API key in Python. Learn more here. |
QELx02 | 429 | You have exceeded your daily call limit as a registered user. | Slow down your calls and space them apart. See usage limits here. |
QELx03 | 429 | You have exceeded your daily call limit as a subscriber. | Slow down your calls and space them apart. See usage limits here. |
QELx04 | 429 | You have exceeded your 10-minute call limit as a registered user. | Slow down your calls and space them apart. See usage limits here. |
QELx05 | 429 | You have exceeded your 10-minute call limit as a subscriber. | Slow down your calls and space them apart. See usage limits here. |
QELx06 | 422 | You have requested too many rows of data. | Apply more filters to your call to reduce the amount of data being returned OR if you are trying to download data in tables format, please use quandl.export_table instead of quandl.get. Then, filter the data locally as needed. You can learn more about the quandl.export_table command (table exporter) for Python here. Note that data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. |
QELx07 | 414 | Your request query parameters are too long. | Your request has too many characters. Please remove some of the parameters to reduce the number of characters OR if you are trying to download premium data, we recommend removing parameters from your call and bulk downloading all of the data instead and filtering locally for the data you need. Note that free data cannot be bulk downloaded. |
QELx08 | 413 | The amount of data you are trying to return is too large. You need to narrow the data returned with filters. | Apply more filters to your call to reduce the amount of data being returned OR if you are trying to download data in tables format, please use quandl.export_table instead of quandl.get. Then, filter the data locally as needed. You can learn more about the quandl.export_table command (table exporter) for Python here. Note that data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. |
QEAx01 | 400 | We could not recognize your API key. Please check your API key and try again. You can find your API key under your account settings. | Check that your API key is set correctly without any typos. |
QEAx02 | 422 | Your login credentials are invalid. | Check that your login credentials are entered correctly without any typos. |
QEAx03 | 403 | You must have an API key to access this resource. | If you are trying to download data from a premium data feed, you must first subscribe to the feed and complete payment. If you are not subscribed to a premium data feed, you would only be able to download the sample data for that feed. |
QEPx01 | 401 | You have attempted to view a protected resource in anonymous mode, i.e., without providing an API key. Please register for a free Nasdaq Data Link account and then include your API key with your requests. | Set your API key in Python. Learn more here. |
QEPx02 | 403 | You do not have permission to use this endpoint. | If you are trying to download data from a premium data feed, you must first subscribe to the feed and complete payment. If you are not subscribed to a premium data feed, you would only be able to download the sample data for that feed. |
QEPx04 | 403 | You do not have permission to view this dataset OR you have exceeded your quota of free trials for this dataset. Please subscribe to this dataset to get more views or downloads. | If you are trying to download data from a premium data feed, you must first subscribe to the feed and complete payment. If you are not subscribed to a premium data feed, you would only be able to download the sample data for that feed. |
QEPx05 | 403 | You have attempted to view a premium dataset in anonymous mode, i.e., without providing an API key. Please log in or register for a free Nasdaq Data Link account and then include your API key with your requests. | Set your API key in Python. Learn more here. |
QEPx06 | 403 | You do not have access to view part of the data requested (e.g., column). | Email us and provide us with the exact call you're using and your API key. We will let you know if any part of the data is restricted. |
QESx02 | 422 | You are missing a required parameter or its value is empty. Please check your parameters and try again. | Check the parameters in your call. Make sure they're not empty and that there are no typos. |
QESx03 | 422 | You have submitted incorrect parameters for creating/updating this resource. Please check your API call syntax and try again. | Check the parameters in your call and check your syntax. Make sure that the parameters you're requesting are valid for that particular data feed and that there are no typos. |
QESx04 | 422 | You have submitted incorrect query parameters. Please check your API call syntax and try again. | Check the parameters in your call and check your syntax. Make sure that the parameters you're requesting are valid for that particular data feed and that there are no typos. |
QESx05 | 406 | You have requested an unknown format. Please check the format you requested and try again. | Valid formats are .csv, .json and .xml. Ensure one of these formats is being requested. Check that there are no typos in your call. |
QESx06 | 400 | You have used an invalid cursor or page ID with your query. Please check your query and try again. | Check that you have entered the cursor or page ID correctly and that there are no typos. |
QESx07 | 422 | You have used an unsupported operator for your query parameters. Please check and try again. | Check that you used valid operators. The list of valid operators for data in tables format are outlined here. Note that data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. |
QESx08 | 422 | You have tried to filter a column that is not available for filtering. Please remove and try again. | Check what filters may be used for the data feed you are trying to access. Note that data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. For time-series, the possible parameters are listed here. For tables, make a metadata call to the specific table you're trying to access to see what columns can be used as filters. For example, this is a metadata call for the SCF/PRICES table: https://data.nasdaq.com/api/v3/datatables/SCF/PRICES/metadata.json?api_key=YOURAPIKEY. This will show a section called "filters" which lists all valid filters for the SCF/PRICES table. You may replace SCF/PRICES with the table code for the table you're trying access. Learn more about codes here. |
QESx09 | 400 | The syntax of your query parameters is incorrect. Please check the syntax and try again. | Check the syntax of your call. Data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. For time-series data, you must use the quandl.get command. See documentation here. For tables, you must use the quandl.get_table or quandl.export_table command. See documentation here. |
QECx01 | 400 | Unknown API route. We could not recognize the URL you requested. Please check your URL and try again. | Check the syntax of your call. Data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. For time-series data, you must use the quandl.get command. See documentation here. For tables, you must use the quandl.get_table or quandl.export_table command. See documentation here. |
QECx02 | 404 | You have submitted an incorrect Quandl code. Please check your Quandl codes and try again. | Make sure that the Quandl code you're using is correct. Learn more about Quandl codes here. |
QECx03 | 404 | We could not find the resource you requested. Please check your URL and try again. | Make sure that the Quandl code you're using is correct. Learn more about Quandl codes here. |
QECx04 | 404 | The referral code is invalid. Please try again. | Make sure that the Quandl code you're using is correct. Learn more about Quandl codes here. |
QECx05 | 422 | The URL you requested is incorrect. You may be presented with an alternative URL to use instead. | Check the syntax of your call. Data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. For time-series data, you must use the quandl.get command. See documentation here. For tables, you must use the quandl.get_table or quandl.export_table command. See documentation here. |
QECx06 | 404 | You cannot make API calls to this dataset. This dataset has been deprecated. Please contact us for further information. | The dataset is no longer available. We recommend going to our Search page to find another dataset to use instead. |
QEMx01 | 500 | Something went wrong. Please try again. If you continue to have problems, please contact us. | This error is sometimes returned due to intermittent but temporary issues with our API. We recommend incorporating retries to minimize disruptions. |
QEXx01 | 503 | The request took too long. Please try again later. | Apply more filters to your call to reduce the amount of data being returned OR if you are trying to download data in tables format, please use quandl.export_table instead of quandl.get. Then, filter the data locally as needed. You can learn more about the quandl.export_table command (table exporter) for Python here. Note that data on Nasdaq Data Link comes in two formats: time-series and tables. You can learn more about these formats here. |
QEXx02 | 502 | We are experiencing connectivity issues. Please try again later. | Please wait and try the call later. If the issue persists, please email us the exact call you're using, your API key, and the time and date you received this error. |
QEXx03 | 500 | Something went wrong. Please try again. If you continue to have problems, please contact us. | This error is sometimes returned due to intermittent but temporary issues with our API. We recommend incorporating retries to minimize disruptions. |
|
If you've gone through all of the steps above and the problem persists, please email us and we will assist you. Please provide your API key, the exact Python command you're using and any error messages you're getting. Please feel free to send us screenshots of what you're seeing.