3 Best Ways To Import External Data Into Google Sheets [Automatically] | Hacker Noon

Let’s dive into each of these 3 methods in more detail.

Let’s see how we can use each of these Google Sheets functions to import external data automatically.

You can use the =IMPORTDATA function to pull data from a given URL in CSV or TSV format. Just use the function =IMPORTDATA(“X”) and replace X with an a URL.

The URL must be enclosed in quotation marks or it can be a reference to a cell that contains the appropriate text. You can only use a max of 50 ImportData functions per Google Sheet.

  • IMPORTDATA(“http://www.census.gov/2019census/csv/pop_change.csv”)
  • IMPORTDATA(A1)
  • Use =ImportFeed to pull an RSS or ATOM feed.

    IMPORTFEED Syntax
    • IMPORTFEED(url, [query], [headers], [num_items])

    url: URL of the RSS or ATOM feed, including the protocol (e.g. http:// or https://). The url has to be in quotes or it can reference a cell that contains the appropriate text.

    query: This specifies what data to fetch from url. This is optional, as the default is “items”. query options:

    • “feed” pulls a single row that contains feed information including the title, description, and the URL.
    • “feed <type>” pulls a specific attribute of the feed, where <type> can be the title, description, author, or the URL.
    • “items” pulls a full table of information that contains items from the feed. If num_items is not specified, then all the items that are currently published on the feed will be pulled.
    • “items <type>” pulls an attribute of the requested item. <type> is the title, summary of the content, url, or created (the post date of the item).

    headers: Whether to include column headers as an extra row on top of the returned value. The default is false.

    num_items: For queries of certain items, the number of items to return, starting with the most recent. Specifying this is optional, if num_items is not specified, then all the items that are currently published on the feed will be pulled.

    IMPORTFEED Examples
    • IMPORTFEED(“http://news.google.com/?output=atom”)
    • IMPORTFEED(A1,B1,C1,D1)

    Use the =ImportHTML function to pull table or list data from a HTML page. Just use the function =ImportHTML(X) and replace “X” with a URL, query, or index.

    IMPORTHTML Syntax
    • IMPORTHTML(url, query, index)

    url: URL of the page you want to pull information from, including the protocol (e.g. http:// or https://). The url must be enclosed in quotation marks or it can be a reference to a cell that contains the appropriate text.

    query: You can use either “list” or “table” depending on the type of structure that contains the data you want to pull.

    index: This is the index, starting with 1, that identifies the table or list as defined in the HTML source that you want to pull.

    IMPORTHTML Examples
    • IMPORTHTML(“http://en.wikipedia.org/wiki/Demographics_of_India”,”table”,4)
    • IMPORTHTML(A2,B2,C2)

    Use the =ImportRange function to pull a range of cells from a specific spreadsheet. This function requires that the sheet must have permission to import data from another spreadsheet. When you use this function for the first time, you will be prompted to enable permission. Once you give access, then any user on the destination sheet can use the IMPORTRANGE function to import data the source spreadsheet. You can revoke permission at any time. Also, if the data set you’re trying to import is too big, then you’ll get an error message.

    IMPORTRANGE Syntax

    IMPORTRANGE(spreadsheet_url, range_string)

    spreadsheet_url: This is the URL of the spreadsheet that you want to import data from. The value for spreadsheet_url must be in quotation marks or it can be a reference to a cell containing the URL of a spreadsheet.

    range_string: This is a string, formatted as “[sheet_name!]range”, which specifies the range to pull. The sheet_name of range_string is optional. The default IMPORTRANGE will pull from the given range on the first sheet. The value of range_string must either be in quotation marks or it can be a reference to a cell that contains the appropriate text.

    IMPORTRANGE Examples
  • IMPORTRANGE(“https://docs.google.com/spreadsheets/d/abc123xyz456”, “sheet2!A2:C11”)
  • IMPORTRANGE(A1,”B6″)
  • Use =ImportXML to pull data from structured data types like XML, HTML, CSV, TSV, RSS, or ATOM.

    IMPORTXML Syntax
    • IMPORTXML(url, xpath_query)

    url: This is the URL of the webpage, which must include the protocol (e.g. http:// or https://). The value of the url must either be in quotation marks or it can be a reference to the cell that contains the appropriate text.

    IMPORTXML Examples:

    2. Google Sheets Add-ons

    There’s several Google Sheets Add-ons (aka Google Sheets apps) available in the G Suite Marketplace that you can use to connect different types of external data sources. A couple of the most popular Google Sheets add-ons for connecting a data source to Google Sheets are Apipheny and Supermetrics.

    Apipheny

    Apipheny.io is a Google Sheets add-on that you can use to connect any JSON or CSV API to Google Sheets. With Apipheny you can import an API to Google Sheets just by entering your API URL and key and then clicking “Run”.

    It’s a simple no-code tool for connecting an API to Google Sheets. You can pull in API data from any JSON or CSV API data source and you can save your API request or schedule it to run on a recurring basis.

    It works with GET and POST requests and it also includes advanced features like the ability to save your API requests for easy access and the ability to schedule your API request to refresh the data in your spreadsheet on a recurring basis.

    There’s also a custom =APIPHENY() function you can use to call an API request in your spreadsheet or you can reference the value of a cell in your API query.

    Disclosure: The author is a co-founder of Apipheny.

    Supermetrics

    Supermetrics is a reporting and marketing automation tool that you can use to pull in paid ads, SEO, social media, and other analytics data. It has a lot of pre-built data connectors ready to help you connect different data sources so you can easily pull your data into Google Sheets. You can see all of their different integrations here or you can install Supermetrics here.

    Supermetrics vs Apipheny

    There’s two key differences between Apipheny and Supermetrics:

    • Features: Supermetrics is an all-in-one data integration and reporting solution that helps you do everything from connecting your data source to providing you with reporting templates so you can visualize your data, plus many other features. Apipheny is a DIY API data connector, you have to set up and connect your own API data sources and you have to create your own reports with the data.
    • Price: Supermetrics starts at $99/month while Apipheny starts at $19/month.

    3. Google Apps Script

    You can use Google Apps Script to write a simple code that will connect and import data into Google Sheets, or you can copy and paste one of the publicly shared scripts from a site like Github or Stack Overflow.

    For example, here’s how you can use Google Apps Script to import JSON data into Google Sheets:

    Each method has it’s own pros and cons. The Google Sheets functions and Google Apps Script methods are limited in functionality but they are free to use. The Google Sheets Add-ons are more feature-rich but they cost money. Depending on how simple or complex your query is will determine the right tool for your needs.

    read original article here