# currencyapi.com — Full content > Currencyapi.com is a free, reliable & feature complete currency exchange rates API. 170+ world currencies & 60 second update rate. Source: https://currencyapi.com/ --- # Top 10 Currency APIs 2026 URL: https://currencyapi.com/top-10-currency-apis/ In this article, we show you the top 10 currency API providers in 2026 and compare their features, price and frequency of updates. ![Top 10 Currency API providers in 2026](/img/top-9-currency-apis-header.jpg) ## Introduction If your business is working with international markets, you know the struggle of having the correct and up-to-date information when it comes to currencies. The rapid changes in exchange rates make it hard to always have the correct currency values. Potential users of your application can come from anywhere in the world. Developers must therefore prepare for multiple types of currency by considering currency conversion, multi-currency pricing, current foreign exchange rates, and cryptocurrencies. In globally operating businesses that deal with a variety of financial markets, there is a need for a tool that can help you keep up to date with the constant changes. A currency exchange API can help you convert currencies with speed and accuracy. By providing you with updated exchange data a currency converter API can help you save time and money on unnecessary efforts and make your business more efficient. With globalization advancing, the ability to exchange and convert currencies has become indispensable for businesses and individuals. If you are looking to integrate a currency conversion into your website or app you came to the right place! Here are our top picks for the best currency exchange APIs out there and how you can profit from implementing them into your website or app. ## What is a Currency Exchange API? A currency exchange application interface is a tool developer can integrate into an application to enable currency exchange and currency conversion. They are databases that use the collected data from international banks and therefore always offer up-to-date data. This, for example, makes it possible to convert currencies like US Dollar or the Euro into any other currency, like the British Pound. The API itself is a code snippet that is inserted into your application to enable access to the exchange rate tracker. They support a variety of currency types and data sources to fetch current and historical currency data. Other than that, these are some features that many currency APIs offer: * Coverage of all or most major currencies * Comprehensive documentation * Intuitive dashboards * Real-time or interval-based updates * User interface * Various file formats like XML, CSV, JSON, etc. ## How to use a Currency API To implement an API into your application, the first thing you will need is an API key. This key is unique to you or your team and the API you are using. When you have the key, you then insert it into your existing code to implement the API. Usually, APIs come with additional documentation that will help you if any errors accrue or you need help with getting the features working within your application. ## Why Do You Need a Currency API? To make a reasonable business decision in an international market you need exact and correct currency values. Other than that, a currency exchange API comes with a lot of additional advantages: * A good currency API will get you accurate and up-to-date data, so you will have all the current and historical dates, no matter how much the currency values change. Some APIs update their data every 60 seconds. * Usually, currency APIs support multiple currencies, which means you can convert and exchange currencies easily. * Exchange API services gather their data from more than one data source. Usually, the comprehensive data sources include hundreds to thousands of sources, like global banks, financial institutions, or financial providers. The current and historical data allows you to make sound decisions and even predictions. * APIs are easily integrated into your application. The comprehensive documentation offers additional help for developers, while features like dashboards, notifications, and adaptable parameters make it easy to use/enable ease of use. * APIs are usually built to offer great performance and scalability. They handle thousands of requests every second and often provide 99.99% uptime. So, without further ado, here are our Top 10 Currency Exchange APIs for your business. ## Top 10 Currency Exchange APIs Currency exchange APIs are ten a penny, however, there are drastic differences in quality and feature completeness. Therefore, we have collected the top 10 APIs when it comes to currency conversion. To provide a fair and comprehensive comparison, we looked at the following criteria: * Features * Number of currencies * Data sources * Frequency of updates * Price Here is our top pick for excellent currency APIs! #### **1. currencyapi.com** Currencyapi.com is an currency exchange tool that helps you with current and historical foreign exchange conversions. With an update frequency of 60 seconds and more than 170 currency pairs, currencyapi.com is used by leading companies worldwide. Made from developers for developers, the API is easy to use and fully customizable. ![A screenshot from the currencyapi.com website](/img/currencyapi.com-website.jpg) **Features:** * Dashboard * Scalable * Live rate updates * Current and historical currency conversions * Fast response times * Trusted data sources * Bank-level security * Team compatibility **No. of Currencies:** 170+ **Data Sources:** no information **Frequency of Updates:** depending on the subscription plan, up to every 60 seconds **Price:** * Free plan: $0/month for 300 requests per month * Small Plan: $9.99/month for 15.000 requests per month * Medium Plan: $39.99/month for 60.0000 requests per month * Large Plan: $79.99/month 1.700.000 requests per month * Custom plan #### 2. Fxapi [Fxapi](https://fxapi.com) is a lightweight foreign exchange rates JSON API. The rates are collected from multiple reliable providers blended. Next to current dates, end-of-day rates are available historically back to 1st January 1999. With 7 years of experience, their customer base includes companies like CoinDesk, Metorik, Purse, and Numi. ![A screenshot from Fxapi' website](/img/fxapi-website.jpg) **Features:** * Team Management * Custom SLA * Scalable * Live rate updates * Current & historical currency values * Documentation * JSON format **No. of Currencies:** 170+ **Data Sources:** no information **Frequency of Updates:** **On VIP basis** : live rate updates up to every 1 second **Price:** * Free plan: $0/month for 300 requests per month * Basic Plan: $9.99/month for 15000 requests per month * Professional Plan: $34.99/month for 600000 requests per month * Enterprise Plan: $74.99/month for 1700000 requests per month * Unlimited Plan: for unlimited requests per month #### 3. Open Exchange Rates Open Exchange Rates is a currency exchange API that provides a lightweight JSON API. The rates are collected from multiple reliable providers blended. Next to current dates, end-of-day rates are available historically back to 1st January 1999. With 7 years of experience, their customer base includes companies like CoinDesk, Metorik, Purse, and Numi. ![A screenshot from Open Exchange Rates' website](/img/open-exchange-rates-website.jpg) **Features:** * Open-source integrations * Scalable * Live rate updates * Current and historical currency values * Phone support * Documentation * JSON format **No. of Currencies:** 200+ **Data Sources:** no information **Frequency of Updates:** **On VIP basis** : live rate updates up to every 1 second **Price:** * Free plan: $0/month for 1000 requests per month * Developer Plan: $12/month for 10000 requests per month * Enterprise Plan: $47/month for 100000 requests per month * Unlimited Plan: $97/month for unlimited requests per month #### 4. Currencylayer Currencylayer offers a reliable forex rate JSON API that is compatible with multiple programming languages. Besides world currencies, it also offers exchange rates for precious metals. It allows you to request exchange rates for a specific time-frame and fluctuation data for a specific currency throughout a certain period. Currencylayer is a product of apilayer, a company that offers a wide variety of APIs. ![A screenshot from Currencylayer's website](/img/currencylayer-website.jpg) **Features:** * Usage statistics * Tech Support * Interactive documentation * 246-bit HTTPS * Current and historical currency values * Portable JSON format * Currency conversion endpoint * Timeframe and currency-change queries **No. of Currencies:** 168 **Data Sources:** Various commercial sources and banks **Frequency of Updates:** depending on the subscription plan, the data refreshes every day, every 60 minutes, 20 minutes, or 60 seconds. **Price:** * Free plan: $0/month for 250 requests per month * Basic Plan: $9,99/month for 10.000 requests per month * Enterprise Plan: $39,99/month for 500.000 requests per month * Enterprise+ Plan: $79,99/month for 1.000.000 requests per month #### 5. Fixer Another Currency Exchange API managed and maintained by apilayer is Fixer. It is a lightweight API that offers current as well as historical forex rates. With a focus on developers, the API promises a straightforward API structure that is implemented in under 10 minutes. ![A screenshot from Fixer's website](/img/fixer-website.jpg) **Features:** * Bank-level security * Tech Support * Extensive documentation * SSL Encryption * Current and historical currency values * Portable JSON format * Currency conversion endpoint **No. of Currencies:** 170 **Data Sources:** over 15 financial data providers and banks, including the European Central Bank Frequency of Updates: depending on the plan, hourly, every 10 minutes or every 60 seconds **Price:** * Free plan: $0/month for 100 requests per month * Basic Plan: $10/month for 10.000 requests per month * Enterprise Plan: $40/month for 100.000 requests per month * Enterprise+ Plan: $80/month for 500.000 requests per month #### 6. XE With years of FX experience, the currency data API by XE is the oldest player in the game. Made for all types of businesses, it easily integrates with software such as Microsoft Dynamics, Oracle, Sage, SAP, and many more. Other than most of the currency API providers, XE offers yearly plans that offer a variety of features. ![A screenshot from XE's website](/img/xe-website.jpg) **Features:** * Email and phone support * Current and historical data back to 1998 * Timeframe queries * Currency volatility * No base currency restrictions * Customizable margin rates * Extensive documentation **No. of Currencies:** 170+ currencies and metals **Data Sources:** over 100 global sources **Frequency of Updates:** depending on the plan, daily, or every 60 seconds **Price:** (Pricing for live rate updates) * Lite plan: $1.199/year for 10.000 requests per month * Best Value Plan: $1.799/year for 30.000 requests per month * Prime Plan: $5.999/year for 100.000 requests per month * Infinite Plan: $11.999/year for unlimited requests per month #### 7. ExchangeRate-API A currency converter built for SaaS, dashboards, and e-commerce is the ExchangeRate-API by AYR Tech (Pty) Ltd. Launched in 2010 this service provides high uptime and reliable data. Besides E-commerce Stores, the API is commonly used in customers' internal dashboards and spreadsheets for academic projects, personal research, etc. ![A screenshot from ExchangeRate-API's website](/img/exchangerate-api-website.jpg) **Features:** * JSON Responses * Developer Focused * Email Support * Internal Dashboard * Clear documentation **No. of Currencies:** 161 **Data Sources:**central banks and commercial sources, at least 3 data sources for a currency **Frequency of Updates:** depending on the plan, daily, hourly, or every 5 minutes **Price:** * Business Plan: $30/month for 100.000 requests per month * Pro Plan: $10/month for 30.000 requests per month * Free Plan: $0/month for 1.500 requests per month #### 8. OANDA The currency converter API by OANDA offers you access to over 30 years of historical data for over 200 currencies, commodities, and precious metals. The API is made for auditors, accountants, hedge fund managers, treasurers, and more and ensures accurate rates to meet financial compliance requirements. ![A screenshot from OANDA's website](/img/oanda-website.jpg) **Features:** * ERP integration * Developer Portal * Sample code * Average rates, real-time rates, and forward rates * JSON, XML, and CSV * Online documentation **No. of Currencies:** 200+ currencies, commodities, and precious metals **Data Sources:** 50 central bank exchange rates **Frequency of Updates:** depending on the plan, daily, hourly, or every 5 minutes **Price:** * Standard Plan: $425/month for 100.000 requests per month * Advanced Plan: $800/month for unlimited requests per month * Custom Plan: custom/month for custom requests per month #### 9. Currency Converter API Designed for developers at any skill level this API offers a free currency API as well as a prepaid and premium service. The free version and prepaid service focus on companies that are not consuming a lot of requests. The paid service focuses on people who need production-ready currency converter API. ![A screenshot from Currency Converter API's website](/img/currency-converter-api.jpg) **Features:** * Simple integration * Dedicated servers for the premium plan * documentation * High customization * Minimal to no downtime **No. of Currencies:** no information **Data Sources:** no information **Frequency of Updates:** depending on the plan, hourly, or every 15 minutes **Price:** * Free API: $0, 100 requests per hour * Prepaid Plan: starts at $3, for 60 requests * Premium Plan: starts $17/month for 1000 requests per month * Dedicated Plan: start at $60/month for unlimited requests per month #### 10. Exchangerate.host If you are looking for a free and lightweight API that offers current and historical foreign exchange rates as well as crypto exchange rates. The API offers a 99.99% uptime and 20 years of historical data. ![A screenshot from exchangerate.host's website](/img/exchangerate.host-website.jpg) **Features:** * Documentation * JSON API * Currency conversion endpoints * Fixer.io compatibility * Developer focused **No. of Currencies:** approximately 170 forex and 6000+ cryptocurrencies **Data Sources:** financial data providers and banks, including the European Central Bank. **Frequency of Updates:** no information **Price:** Free ## Conclusion The right API for you or your company will in the end depend on your needs. While some APIs offer more currency pairs, others win in feature completeness or functionality. Whichever API you decide on, we hope this article helps in giving an overview of the best currency API providers currently on the market. --- # Scraping Currency Data with Javascript and NodeJS URL: https://currencyapi.com/scrape-currency-data-javascript/ Learn how to scrape currency data with Javascript and NodeJS in our step-by-step guide. **Javascript has become more and more popular over the last few years, especially since the introduction of the runtime known as NodeJS. This step-by-step guide will explain everything involved in scraping currency data with NodeJS.** ![How to Scrape Currency Data with Javascript and NodeJS](/img/blog/how-to-scrape-currency-data-with-nodejs.jpg) ## Prerequisites This guide is aimed at software developers with a certain level of Javascript experience. However, we will do our very best to describe every step in a detailed way, so that beginners can also follow. To get the project started, we will run the following code: ```shell npm init npm i axios npm i xml-js ``` `npm init` will create a new npm project. Before running this command, move to a directory of your choice. `npm i axios` adds axios to our project. Axios is a promise-based HTTP client. It is simple to use but comes with a ton of flexibility at the same time. `npm i xml-js` adds xml-js to our project. We will use this package to convert scraped XML to JSON. Some people choose to work with XML directly, but JSON has gained popularity over the past few years. ## Choosing a Data Source The ECB provides an [XML-feed](https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml) covering **31 currencies**. The data is updated daily, which should be perfectly fine for a hobby project of our kind. {{}} Let us open the feed with our browser. What we will see is the latest currency data for the 31 most important currencies in XML format. ![Scraping Currency Data from ECB](/img/blog/scraping-ecb-currency-data.jpg) ## Scraping ECB Currency Data Now that we have our data source let us start scraping the data. First, create a new file called `scraper.js` inside our project folder. Using the promise syntax of `Axios`, our code will look similar to this: ```javascript const axios = require('axios') axios .get('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') .then((response) => { console.log(response) }) .catch((error) => { console.log(error) }) ``` Let's run the code from our CLI by running: ```shell node scraper.js ``` Assuming the request was successful, the response object contains a key called `data`. This includes the data of our interest. You will notice the variable type of `data` is still a string. Hence, we must first parse the data to XML (and then to JSON). This is the point where the second package `xml-js` comes into play. It allows us to pass the XML as a string and converts everything into JSON. Implementing this into our code will change our snippet to the following: ```javascript const axios = require('axios') const convert = require('xml-js') /** * @param {string} data raw scraped data * @returns {JSON} */ function convertToJson(data) { return JSON.parse(convert.xml2json(data, {compact: true, spaces: 2})) } axios .get('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml') .then((response) => { let parsedJSON = convertToJson(response.data) let currencies = parsedJSON['gesmes:Envelope'].Cube.Cube.Cube console.log(currencies) }) .catch((error) => { console.log(error) }) ``` As you can see, we have added a function called `contertToJson()`, which converts the XML string to a JSON string and returns it as a parsed JSON object. To be honest, the object contains the desired data but comes along in a pretty messy and hard-to-read shape. Therefore, we focus on the inner part of the object by running the selector: `parsedJSON['gesmes:Envelope'].Cube.Cube.Cube` Of course, we could now go ahead and take this further by remoting the `_attributes` key and casting the `rate` value into a float variable. However, since we want to focus on the underlying concepts of getting the data, we will stick with the object the way it is. We are left with a JSON object that contains all relevant information: ````json [ { "_attributes":{ "currency":"USD", "rate":"1.0570" } }, { "_attributes":{ "currency":"JPY", "rate":"137.90" } }, ... ] ```` ## Scraping Exchange Rates from Yahoo Finance Since the ECB provides the currency data in a very easily accessible XML-Feed, let us look at another potential data source where the data is part of an HTML page and can be accessed with a javascript client request. ![Yahoo Finance Currency Data](/img/blog/yahoo-finance-currency-data.jpg) The first part, scraping the data, stays precisely the same as for our previous example - we simply adjust the target URL to `https://finance.yahoo.com/currencies`: ````javascript axios .get('https://finance.yahoo.com/currencies') .then((response) => { console.log(response.data); }) ```` This will show us the HTML body of the page containing the currency exchange rate data. Compared to our previous example, it is not enough to simply convert the retrieved string into JSON. This time, we actually have to parse the data we are looking for. For this, we are going to use a library called `jsdom`. To install it, we are going to run `yarn add jsdom`. Once the install has finished, we add it to the import section of our code snippet: ````javascript const axios = require('axios') const jsdom = require("jsdom") // new const { JSDOM } = jsdom // new ```` Now, let's take a look at our final scraper/parser. We will be walking through the code step-by-step afterward: ````javascript const axios = require('axios') const jsdom = require("jsdom") const { JSDOM } = jsdom axios .get('https://finance.yahoo.com/currencies') .then((response) => { let dom = new JSDOM(response.data) let pairRows = dom.window.document.querySelectorAll('#yfin-list table tbody tr') let results = [] pairRows.forEach(pairRow => { rate = { 'name': pairRow.querySelector('td[aria-label="Name"]').textContent, 'price': parseFloat(pairRow.querySelector('td[aria-label="Last Price"]').textContent.replaceAll(',', '')), 'change': pairRow.querySelector('td[aria-label="Change"]').textContent, 'percentChange': pairRow.querySelector('td[aria-label="% Change"]').textContent, } results.push(rate); }) console.log(results) }) .catch((error) => { console.log(error) }) ```` ## Parsing the Data with JSDOM The first part should look familiar; hence we will not talk about what is happening. `let dom = new JSDOM(response.data)` is the part where it becomes interesting. This line brings the HTML string into a DOM that allows us to run selector queries. The page contains a lot of code, and we want to focus on the table that contains the exchange rate information. Therefore, the following selector will collect every row (every currency pair) inside the table: `let pairRows = dom.window.document.querySelectorAll('#yfin-list table tbody tr')` Since we want to parse each currency pair explicitly, we loop over the array of results, parse each column of our interest and push it into a `results` array that we are going to log in our console: ````javascript pairRows.forEach(pairRow => { rate = { 'name': pairRow.querySelector('td[aria-label="Name"]').textContent, 'price': parseFloat(pairRow.querySelector('td[aria-label="Last Price"]').textContent.replaceAll(',', '')), 'change': pairRow.querySelector('td[aria-label="Change"]').textContent, 'percentChange': pairRow.querySelector('td[aria-label="% Change"]').textContent, } results.push(rate); }) ```` At first sight, parsing the specific columns looks a little tricky, as they do not have specific or reliably looking ids or class names. However, each column has an attribute called "aria-label" that describes the cell's content in a very descriptive way. ![Parsing Yahoo Finance Data](/img/blog/parsing-yahoo-finance-data.jpg) The `'price'` column is worth mentioning at this point, as we want to convert the parsed `string` into a `float`. We do this by wrapping the selector with the function `parseFloat`. However, before doing that, we remove all commas from the string, as this would distort the results (e.g. `14,630.0000` would turn into 14 and not `14630`). ## Results & Summary When running the script from our terminal, we end up with a nicely formatted array full of scraped currency data: ![Parsing Yahoo Finance Data](/img/blog/results-scraping-currency-data.jpg) I hope you liked the tutorial! If you need reliable currency data for over 170 currencies for a fair price, click [here](//app.currencyapi.com/register). {{}} --- # How To Get Currency Data Into Excel URL: https://currencyapi.com/currency-data-in-excel/ In this tutorial, we show you how to get currency data into Microsoft Excel using different methods. **In this tutorial, you will learn how to get currency data into Excel using different methods.** ![Excel Tutorial: How to get currency data in Excel](/img/blog/currency-data-in-excel.jpg) ## Introduction Excel spreadsheets are a powerful tool with countless usages possibilities. With its many possibilities however one can easily feel overwhelmed. When it comes to currency exchange rates, Excel 365 enables you to work with them in the program. The feature, however, is not easy to find at first glance since it is part of the stocks‘ data feed. So, if you are looking to compare different currencies in Excel, we have got you covered. In this article, you will learn how to enter currency data into Excel, how to compare currency pairs, convert them to a data type, how you create a currency conversion calculator, and how to extract the information. The scope of this task will differ, depending on how many currencies you want to compare. Generally, there are two levels of getting currency data into Excel: - **Comparing multiple currencies with daily updated rates** : this can be done with the help of the data stocks feature, which supports 160 worldwide currencies. - **Comparing multiple currency values with up-to-date conversion rates** : this is more advanced and extensive, but also more accurate with a higher number of currencies. ## Getting Started with currency data in Excel 365 - Open a new Excel sheet - Enter a currency pair in a cell. Keep in mind you must use this format: "From Currency to currency" with the ISO currency codes. You can separate the two currencies by a space, dash, colon, or slash. The first currency hereby is the one that is buying the second. **For example:** "USD/EUR" will get you the exchange rate from 1 US Dollar to Euros. "GBP-CAD" will get you the exchange rate from 1 UK Sterling to Canadian Dollars. ## Method 1: Comparing Currencies in Excel Once you have your cells in the right format, Excel 365 offers a feature called "Stocks". This allows you to work with daily updated currency exchange rates. **Here is how you proceed:** - To make the process easier later, we advise you to create a table first. This step is not mandatory but will be helpful later. To do so, select the cells and click on Insert > Table. - Select the correctly formatted cells that you want to convert. - Open the Data tab and click on "Stocks" - If Excel finds a match for your currency pairs, it converts them into a data type. If your format is correct, and data is found, the stock icon will appear in your cells. - If you see the question mark symbol in your cells, something went wrong (see our example below). This could be due to the wrong format, or not using the standardized designation for a currency. Simply correct any mistakes and press enter to try again. ![Using the Stocks feature in Excel](/img/excel-stocks-feature.jpg) - Now that you have converted the cells you can extract more information from them by clicking the stock icon. A card will pop up, that shows you information about the relationship between the two currencies. ![Curreny Information Pop Up Card Excel](/img/currency-information-card-excel.jpg) **Other ways to show the card are:** - Clicking the icon on the left of the main data cell - Right-click on the data and choosing "show card". - Shortcut: CTRL (for Mac CMD) + Shift+F5 The information from the pop-up card can also be shown in columns. To do so you can click the "insert data" button. This can be done by clicking the *Insert Data* icon that appears in the pop-up card next to a category or if you close the pop-up it is visible next to the table. ![Insert Data Icon Excel](/img/excel-insert-data.jpg) If you close the pop-up and click the symbol next to the table, it opens a list of all the fields available. By clicking a field, a new column is automatically created. For example, *Price* will show you the exchange rate for the currency pair. If your cell says EUR/USD, the price column will tell you how much one Euro is in US Dollar. The Last Trade Time option tells you, at what time the rate was quoted. ![Excel Table shwoing Currency, Price and Last Trade Time](/img/table-currency-price-tradetime-excel.jpg) 8. Another way to get your information is by using a formula. To do so, reference the cell you want to calculate and then press dot and select or enter the category you are looking for and then hit your enter key. For example, we type "=", then select the cell "EUR/USD" and then chose the category "price". ![Using the Currency Formula in Excel](/img/excel-price-formula.jpg) This will create a new column that shows the prices for all the currency pairs. So, the formula in our case is: `=A2.price` 9. Now that you have all the necessary currency data, you can use it in your calculations and formulas. 10. The data will of course not update itself automatically. To ensure your data is up to date, you can refresh it manually under Data > Refresh all. {{}} ## Method 2: Live currency rates in Excel Since Excel only provides as-is information we now look at what to do if you want or need to work with live currency rates in Excel. We have prepared a step-by-step guide on how to import and update live exchange rates via an API in Excel. You won´t need any programming skills to follow this tutorial. ### Get a currency API The most common and accurate way to get live currency rates in Excel is by using an API. We are using CurrencyAPI.com, as it offers over 170 currency pairs and updates its data up to every 60 seconds. You can find the documentation [here](https://currencyapi.com/docs). It also offers a free version in case you want to [try it out](https://app.currencyapi.com/register) first. {{}} ### Live currency rates in Excel To get started, open a spreadsheet and sign into your API. #### Step 1: Create a Web Query The first step is creating the web query to fetch the exchange rates. To do that go to the Data Tab and click on "from Web". ![Step 1: Creating a web query in Excel](/img/excel-creating-a-web-query.jpg) A window appears that asks for an URL. Enter the query with your own unique API key: {{}} The base currency here automatically is USD. ![Entering the API key in Excel](/img/Excel-enter-api-key.jpg) After that click OK. #### **Step 2: Drill Down** Once we click on OK, we get directed to another box. Right-click on **Record** next to Data and then select "Drill Down". ![Step 2: creating a Drill Down in Excel](/img/excel-drill-down.jpg) #### **Step 3: Into table** Clicking on Drill Down will redirect us again. We now right-click on the first conversion and select ”**Into table**“. Click OK on the Window that appears after this. ![Step 3: Using "into table" feature in Excel](/img/excel-to-table.jpg) #### **Step 4: Close and load** Now we have the live rates in the boxes. Click on **Close & Load** in the left upper corner. ![Step 4: Closing and Loading currency data in Ecel](/img/excel-close-and-load.jpg) And that's it! ![The final table with currency data in excel](/img/excel-final-table.jpg) We now have the live currency exchange rates in our Excel Sheet. If you want to work with the latest prices, simply click on Table Design > Refresh. --- # How To Get Currency Data In Google Sheets URL: https://currencyapi.com/currency-data-in-google-sheets/ In this tutorial, we show you how to get currency data in Google Sheets using three different methods. **In this tutorial, you will learn how to get currency data in Google Sheets using three different methods.** ![Gsheets Tutorial: How to get currency data in Google Sheets](/img/blog/currency-data-gsheets.jpg) We all got to know and love (more or less) spreadsheets throughout our professional lives, especially if you are working with money-related data. And when working with this data, you will sooner or later stumble upon currency conversions. If you are looking to get currency data in google sheets, you have come to the right place! There is more than one method to get currency data in google sheets and all of them have different pros and cons. Don't worry, we will walk you through them and show you how it's done. Let's get started! ## TLDR; First of all, here is a quick summary of the methods we are going to show you, so you can skip ahead to the one that is most helpful for your use case.
Method ✅ Pros ❌ Cons
GOOGLEFINANCE
click to jump
  • Easy to use
  • Fast
  • Great for small data sets
  • No API key is needed
  • No real-time data
  • Data is not as accurate
  • Not ideal for bigger data sets
API method with connector
click to jump
  • Accurate data
  • Real time data
  • fast
  • Installing an add on
  • unclear format
API method with script
click to jump
  • Accurate data
  • Real time data
  • Clear format
  • Fast with script template
  • Script needed (but provided by us)
## Using the GOOGLE FINANCE Function The fastest and easiest way to get your currency data in GSheets is by using the GOOGLE FINANCE function. It allows you to fetch _almost_ real-time currency data provided by Google. All you need is the right formula: `=GOOGLEFINANCE(“CURRENCY:”)` For the base and target currency you need to use the three-letter code for the currencies, you want to convert. For example, let’s convert US Dollar into Euros. We will therefore write: `=GOOGLEFINANCE("USDEUR")` {{}} Now, let’s look at an example, step by step. **Example:** Let‘s say we have three currencies that we want to convert. Our base currency is US Dollar (column A). We want to convert them into Euro, Canadian Dollar, and British Pound Sterling (column B). ![An exemplary start for googlefinance in gsheets. ](/img/gsheets-google-finance-start.jpg) **Step 1** We type the formula into the cell where we want the results to show. Therefore, we click on C2 and type `=GOOGLEFINANCE("USDEUR")` and press enter. And now we have the current conversion rate for USD to EUR. ![Step 1 for using googlefinance in gsheets.](/img/gsheets-google-finance-step1.jpg) **Step 2** We can now do this for the other two currencies as well. However, if you have more than three conversions to do, typing in the formula manually would take way too much time. To save a little time, we can include references. To do so, we type the formula as follows: `=GOOGLEFINANCE("CURRENCY:"&A2&B2)` …and press enter. ![Step 2 for using googlefinance in gsheets](/img/gsheets-google-finance-step2.jpg) **Tipp**: To copy the formula to the rest of the cells click and hold the little blue square in the right low corner of the cell and drag it down to the last currency in your list. **Step 3** What we now have is the conversion rates between two currencies. If you, however, want to convert money from one currency to another, for example, if you are working with prices, we will simply multiply the function above with the price we want to convert. Let's assume we have the following prices in US Dollars and want to convert them to Euro. ![Step 3 for using googlefinance in gsheets](/img/gsheets-google-finance-step3.jpg) For this, we first select the cell where we want our first column to appear (B2), type the following formula, and then press enter: `=GOOGLEFINANCE("CURRENCY:USDEUR")*A2` ![Step 4 for using googlefinance in gsheetst](/img/gsheets-google-finance-step4.jpg) We then again use the little blue square to drag the formula down the column to get the rest of the prices. ![Step 5 for using googlefinance in gsheets](/img/gsheets-google-finance-step5.jpg) For this, we first select the cell where we want our first column to appear (B2), type the following formula, and then press enter: `=GOOGLEFINANCE("CURRENCY:USDEUR")*A2` ![Step 4 for using googlefinance in gsheetst](/img/gsheets-google-finance-step4.jpg) We then again use the little blue square to drag the formula down the column to get the rest of the prices. ![Step 5 for using googlefinance in gsheets](/img/gsheets-google-finance-step5.jpg) ## Using an API Two ways to do it. Number two shows data more clearly, but you will need a script. Don't worry, we have you covered, you will not need any programming skills, we have prepared the code you need. But first, let's look at API method 1, where you don't need any code. ### API Method 1 This method allows you to quickly get your currency data into Google Sheets. It requires you to install an Add-on, which means no coding skills are required. Let's take a closer look at what to do: **Step 1: Get the API Key** For this method to work, you will need an API Key. For this example, we used CurrencyAPI.com. If you want to try out this currency conversion API, there is a free version which makes it ideal for this tutorial. Create an account and open your dashboard. Here you can see your API Key, your remaining credits, and more general information. What we will need for this method is the following endpoint: ![Step 1: Getting an API key](/img/gsheets-apimethod1-Step1.jpg) **Step 2: Install the Connector** Now that we have an API key, we can get started on the Google Sheets document. For this we go to **Extensions > Add-ons > Get add-ons** Click into the search field, search for "API Connector", and install it. It is free, all you need is an internet connection. ![Step 2: Installing the connector](/img/gsheets-apimethod1-Step2.jpg) **Step 3: Open the connector** After you have installed the add-on, go to **Extensions** again. Now you will see the **API Connector** at the bottom of the dropdown. Click **open**. A window on the right will appear. It will show us our saved requests, which for now only consist of a dem request. We will add a new request by clicking **"Add new request"**. **Step 4: Configuring the API Request** Enter your API Key as shown above into the **"API URL"** field. Select the current sheet as destination and name your request. We named it CurrencyConversion. Now click **Save** and then **Run.** ![Step 4: Configuring the API request](/img/gsheets-apimethod1-Step4.jpg) **Step 5: Making it easier to read** What you will get now should look something like this. Since this is not the easiest way to work with the conversions, especially if you are working with more than one pair, like we did, it can help to switch the rows and columns. ![Step 5 of using an API in Gsheets](/img/gsheets-apimethod1-Step5.jpg) For this, we will open another sheet and select cell A1. We will enter the following formula: `=transpose(!1:2)` is hereby the name of the sheet you have your currency data in. In our example, this would simply be "sheet1". So, our formula goes as follows: `=transpose(Sheet1!1:2)` By hitting the enter key we get the data from before transposed into a new layout which makes it easier to work with. ![This is my alt](/img/gsheets-apimethod1-Step6.jpg) ### API Method 2 While method 1 may not be very easy on the eyes, method 2 can be adjusted to your liking. **Step 1: Get your API key** Just like in method 1, we will need an API key for this method as well. See here **API method 1 > Step 1** for more information **Step 2: Create a Table** Now, what we want to do first is create a table with the data we want to fetch. For this, we will create three columns. The first column will simply tell us the amount of money we want to convert. The second column includes our currency symbols. This is the most important column since the script will only get the data, we ask for in this column. The third column will show us the conversion rate for the respective currency. In our example this looks as follows: - Our base currency is USD (column A). For the start, we only want to know the exchange rate for one US Dollar, so we enter a 1 into the cells. - We want to convert USD into EUR, GBP, BTC, XRP, STD, BYR, CUC, and ALL. Therefore, in our second column (B) we enter the international symbols for the currencies we want to convert. - The third column (C) we name Conversion Rate, this is the column that the apps script will fill for us automatically. ![Step 2 of using an API in Gsheets: Create a Table](/img/gsheets-apimethod2-Step2.jpg) **Step 3: Open Apps Script** To open Apps Script we will now go to Extensions > Apps Script ![Step 3 of using an API in Gsheets: Opening Apps Script](/img/gsheets-apimethod2-Step3.jpg) A new tab will open that will look like this. ![Step 3: How Apps Script will lool in Gsheets](/img/gsheets-apimethod2-Step3.1.jpg) **Step 4: Enter the Code** You can now enter the code we have prepared for you. You can either copy and paste the code below or you can open this Google Sheet where we already have created a table and the code is integrated. If you want to use our preprepared sheet, open the doc, click on **File > Make a copy** to create your own document. {{