How can I bulk download tables programatically when using qopts.export=true? I don't want to manually click Download Now from my browser.

If you are using qopts.export=true but want to download the data programatically, you can add .json to your API call with the qopts.export=true parameter, like this:

https://data.nasdaq.com/api/v3/datatables/ZACKS/FC.json?qopts.export=true&api_key=YOURAPIKEY

When you make an API call like the one above, a long link will be returned. You can copy this link and use it programatically. After this link, you will see "status:" Please make sure the status says "fresh" to ensure that you get the most refreshed data. You may have to continuously refresh the browser until you see "fresh". 

Your other option is not to use qopts.export=true but to use  qopts.cursor_id= instead. 

For example, you can make an API call without qopts.export=true but that still includes .json, like this: 

https://data.nasdaq.com/api/v3/datatables/ZACKS/FC.json?api_key=YOURAPIKEY

When you make an API call like the one above, the data will be returned and when you scroll down to the very end, there will be a field called next_cursor_id. You can take the value for this field and append it to your next API call using qopts.cursor_id=, like this:

https://data.nasdaq.com/api/v3/datatables/ZACKS/FC.json?api_key=YOURAPIKEY&qopts.cursor_id=XXXXXXXXXX

You would then continue scrolling down to find the new next_cursor_id and you would have to continue appending the new values of the cursor_ids to your subsequent API calls. You could continue doing this until you see next_cursor_id with value of "null". That's when you've reached the very end.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.