With Forex data from FXCM, you will have access to over 10 years of data for 39 currency pairs, including majors and exotics, via our REST API. Historical data is available at minute, hourly and daily intervals, making it possible to back-test your trading strategies.
The data in this feed is market activity data, not sale data, so you will only see bids and asks. However, the spreads will be incredibly low, so you can always obtain the price by taking an average of the bid and ask at any time.
- Data Feed Product Page
- API Documentation
- Getting Started Guide for Intrinio's API
- Formula Builder
- Ask a Question
How to Access this Data
If this is the first time you're accessing the Intrinio REST API, you'll want to get started with the following tutorial:
As you go through the below examples, make sure to have the formula builder open, here: https://intrinio.com/data/fxcm-forex-historical-prices. That lists the endpoints discussed below, and clicking into each will help build out your syntax.
To return a list of currencies for which prices are available, use the currencies endpoint, like so:
https://api.intrinio.com/currencies to return in JSON
https://api.intrinio.com/currencies.csv to output to a csv
To instead return the actual currency pairs available, along with the corresponding IDs you'll use to bring in historical data for each, use the currency pairs endpoint, like so:
Now, to return data for one of those currency pairs, use the ID returned in the output above, and run it in the currency prices endpoint, like so:
https://api.intrinio.com/currency_prices?pair=EURUSD&timeframe=D1 to return in JSON
https://api.intrinio.com/currency_prices.csv?pair=EURUSD&timeframe=D1 to output to a csv
The above will return all historical data available for the EURUSD currency pair, on a daily frequency (specified by "D1" in the above call). The output will look like this:
To change the frequency of data returned, alter the "timeframe" parameter. For example, the below will return all historical data at 3 hour intervals:
If you'd instead like to output data for a specific date range and/or time range, you can utilize the optional start and end date, and start and end time parameters. For example, the below returns data from 12:00 UTC on 5/1/2018 to 12:00 UTC on 5/2/2018, at 30 minute intervals:
HOW MUCH DOES THIS DATA COST?
As with all Intrinio data feeds, you can see the pricing plans that are available on each respective product page:
- Individual Monthly Plan- $25/month (no redistribution)
- Individual Yearly Plan - $250/year (no redistribution)
- Redistribution Monthly Plan - $100/month (redistribution included)
- Redistribution Yearly Plan - $1,000/year (redistribution included)
You can also click the "terms" link next to the Individual and Redistribution plans to view the terms and limits for each. The Individual plan does not allow you to redistribute this data and gives you access to 300 API calls per minute. The Redistribution plan does allow you to redistribute this data and gives you access to 600 API calls per minute.
Should you need more data or a custom solution, we are happy to provide you with a quote. Send our team a message!
Quotes are generally returned within 1 business day and are by default paid month to month, meaning users can cancel at anytime. A quote and a free trial are always made available before any subscription.
If you have any additional questions about the FXCM Historical Forex Data Feed, feel free to chat with a member of our team and get started with Intrinio!