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.


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:

Getting Started With the Intrinio API

As you go through the below examples, make sure to have the formula builder open, here. 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:

https://api.intrinio.com/currency_pairs  to return in JSON
https://api.intrinio.com/currency_pairs.csv to output to a csv

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:



As with all Intrinio data feeds, you can see the pricing plans that are available on each respective product page, under tab Pricing.

You can also click the "Limits and Terms" link under the plan's price to view the terms and limits for each. The Individual plan does not allow you to redistribute this data, while the Redistribution plan does.

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!

Did this answer your question?