Connecting to a REST API from within Alteryx is a great skill to have. However, API documentation can be difficult to navigate, and figuring out where to place the required headers, query strings, and payloads can become confusing. To show how simple it can be, we will attempt to retrieve some stock data from Quandl, an online resource for free and premium datasets, in 5 minutes or less. We will be using the Quick Start guide for the API, set your timer…
1. Environment Setup
Open a new workflow, add a Text Input tool with a column titled 'url' and connect a Download Tool to its output.
2. Request URL
The example in the quick start guide shows us what a URL should look like for a request for Facebook stock data, so we will add that as the value of the 'url' field in the Text Input tool.
https://www.quandl.com/api/v3/datasets/WIKI/FB/data.csv
This will work for now, but in the future we may consider splitting the distinct pieces of the request url into unique fields, and compiling the string using the Formula tool, so that the same workflow may be used to download many different datasets. You may also notice the .csv at the end of the request string, this indicates that we want the request for data to be returned in a .csv format, but we could also specify .json or .xml based on the Quandl documentation.
3. Authentication
Based on the quick start guide, requests should be authenticated with an API key. Go ahead and sign up for a key. Add another field to the Text Input tool, name the field api_key and add your key as the value for that field. The Text Input tool configuration should look something like this:
4. Configuring the Download Tool
Basic Tab
Select your url field from the dropdown for URL, all other Basic configurations can remain the same.
Headers
Default Settings
Payload
The HTTP method will be the default selection, 'GET (or FTP)'. The radio button for 'Compose Query String' should be selected. A query string is what comes after the question mark in the URL path. From the list of fields available, select the field containing your API key.
Connection
Default Settings
5. Workflow Execution
Add a browse tool to the end, or add an Output Data tool if you would like to save the dataset. Run the workflow and the download tool will add two fields to your workflow, Download Headers and Download Data. The Download Data field will have the Facebook stock data in csv format. Realizing that this may not be the easiest to read, you can add a Text to Columns tool after this to parse the data into a more readable format.
Coming soon, I will take a deeper dive into the multiple Download Tool configurations, as well as what to look for in API documentation. Look forward to coverage on other advanced topics such as batching your request data, paging for large sets of results, and other authentication methods.
What questions do you have about the Download Tool?