dukascopy.com APIwww.dukascopy.com ↗
Access historical OHLCV candle data for forex, commodities, indices, stocks, bonds, ETFs, and crypto from Dukascopy. Up to 60-day ranges, multi-period aggregation.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/4bf31981-ccca-4528-a4a4-598f6a88b633/get_instruments' \ -H 'X-API-Key: $PARSE_API_KEY'
List all available trading instruments with their codes, descriptions, and metadata. Use instrument names/codes from this list as input for the get_candles endpoint.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer - total number of instruments available",
"instruments": "array of instrument objects with id, name, code, description, group_id, pip_value, price_scale"
},
"sample": {
"data": {
"total": 1500,
"instruments": [
{
"id": 31912,
"code": "0005.HK-HKD",
"name": "0005.HK/HKD",
"group_id": 31,
"pip_value": 0.01,
"description": "HSBC Holdings Plc",
"price_scale": 3
}
]
},
"status": "success"
}
}About the dukascopy.com API
The Dukascopy API exposes 2 endpoints covering historical OHLCV candle data across forex pairs, commodities, indices, stocks, bonds, ETFs, and crypto. The get_candles endpoint returns open, high, low, close, and volume fields with timestamps in both UTC and a configurable local offset, supporting candle periods from 1 to 60 minutes and date ranges up to 60 days per request. The get_instruments endpoint lists all available symbols with metadata including pip value and price scale.
Instruments and Coverage
The get_instruments endpoint returns a full catalog of tradeable symbols available in Dukascopy's market data feed. Each instrument object includes an id, name, code, description, group_id, pip_value, and price_scale. The name field (e.g. EUR/USD, XAU/USD) is the value you pass to get_candles as the instrument parameter. The endpoint takes no inputs and returns the total count alongside the full instruments array.
Candle Data
The get_candles endpoint accepts a start_date and end_date in YYYY-MM-DD format, an instrument in slash format, an offer_side of BID or ASK, a period in minutes (1, 2, 3, 5, 10, 15, 30, or 60), and an optional timezone_offset integer. It returns an array of candle objects, each carrying timestamp_utc, timestamp_eat, open, high, low, close, and volume. The timezone_offset parameter controls the timestamp_eat field and the timezone label in the response (e.g. UTC+3). The response also surfaces instrument in dash format (e.g. EUR-USD), offer_side, period_minutes, total_candles, and an errors array for any days that failed to return data.
Limitations and Behavior
Each get_candles request is bounded to a maximum window of 60 days between start_date and end_date. Requests spanning longer periods require multiple calls. The errors field in the response records per-day failures rather than failing the entire request, so partial results are possible. All underlying data is 1-minute resolution aggregated up to the requested period — periods outside the accepted list (1, 2, 3, 5, 10, 15, 30, 60) are not supported.
- Backtesting forex trading strategies using bid/ask OHLCV candles for pairs like EUR/USD or GBP/USD
- Building commodity price history charts for gold (XAU/USD) with configurable candle periods
- Aggregating multi-instrument candle data across asset classes for portfolio analysis
- Converting UTC timestamps to local time zones using the timezone_offset parameter for regional trading desks
- Comparing BID vs ASK spread behavior over time by fetching both offer sides for the same instrument
- Populating a backtesting engine with high-resolution 1-minute data for crypto instruments
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.