Dukascopy
Dukascopy's free tick and one-minute history, including XAUUSD gold going back to 2003.
Instrument List
Dukascopy — the instrument manifest behind the historical archive.
/v1/finance:dukascopy/instrument-listParameters
| Name | Type | In | Description |
|---|---|---|---|
| query | string | query | Filter on instrument name, symbol or description. Omit for the full list. |
| limit | number | query | Items to return. Default 100, max 1000. |
Example response
{"project":"finance:dukascopy", "data": {"count":33, "items": [ { "tags": [ "" ],"symbol":"GDXUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GDX.US/USD","description":"VanEck Vectors Gold Miners ETF","baseCurrency":"GDX.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:24.243Z" }, { "tags": [ "" ],"symbol":"GDXJUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GDXJ.US/USD","description":"VanEck Vectors Junior Gold Miners ETF ","baseCurrency":"GDXJ.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:02.678Z" }, { "tags": [ "" ],"symbol":"GLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GLD.US/USD","description":"SPDR Gold Shares ETF","baseCurrency":"GLD.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:07.724Z" }, { "tags": [ "" ],"symbol":"GSUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GS.US/USD","description":"Goldman Sachs Group Inc/The","baseCurrency":"GS.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:12:59.163Z" }, { "tags": [ "" ],"symbol":"IGLNUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"IGLN.US/USD","description":"iShares Physical Gold ETC - IGLN","baseCurrency":"IGLN.US","quoteCurrency":"USD","h1HistoryStart":"2024-03-11T07:00:00.000Z","m1HistoryStart":"2024-03-11T07:50:00.000Z","tickHistoryStart":"2024-03-11T07:50:00.000Z" }, { "tags": [ "" ],"symbol":"RGLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"RGLD.US/USD","description":"ROYAL GOLD INC","baseCurrency":"RGLD.US","quoteCurrency":"USD","h1HistoryStart":"2022-05-13T14:00:00.000Z","m1HistoryStart":"2022-05-13T14:04:00.000Z","tickHistoryStart":"2022-05-13T14:04:53.418Z" }, { "tags": [ "" ],"symbol":"SGLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"SGLD.US/USD","description":"Invesco Physical Gold ETC","baseCurrency":"SGLD.US","quoteCurrency":"USD","h1HistoryStart":"2024-03-18T05:00:00.000Z","m1HistoryStart":"2024-03-18T05:00:00.000Z","tickHistoryStart":"2024-03-18T05:00:04.000Z" }, { "tags": [ "" ],"symbol":"XAUAED","pipValue":0.01,"priceStep":0.001,"instrument":"XAU/AED","description":"Gold vs UAE Dirham","baseCurrency":"XAU","quoteCurrency":"AED","h1HistoryStart":"2024-09-17T09:00:00.000Z","m1HistoryStart":"2024-09-17T09:39:00.000Z","tickHistoryStart":"2024-09-17T09:39:43.255Z" } ],"query":"gold","total":33,"dataset":"instruments","hasMore":false,"provider":"dukascopy" },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
M1 Candles
Dukascopy — one-minute OHLC history from the public tick archive.
/v1/finance:dukascopy/m1-candlesParameters
| Name | Type | In | Description |
|---|---|---|---|
| instrument | string | query | Instrument name or archive symbol, e.g. XAU/USD or XAUUSD. Required. |
| from | string | query | First UTC day to include, YYYY-MM-DD. Required. |
| to | string | query | Last UTC day to include, YYYY-MM-DD. Defaults to `from`. A long range can come back partial — resume from `nextFrom` when `hasMore` is true. |
| side | enum | query | Quote side the candles are built from. Default bid. One of bid, ask. |
Example response
{"project":"finance:dukascopy", "data": {"to":"2024-01-15","from":"2024-01-15","side":"bid","count":1440, "items": [ {"low":2046.815,"date":"2024-01-15T00:00:00.000Z","high":2047.675,"open":2047.525,"close":2046.935,"volume":0.01064,"timestamp":1705276800000 }, {"low":2046.695,"date":"2024-01-15T00:01:00.000Z","high":2047.005,"open":2046.855,"close":2046.915,"volume":0.00878,"timestamp":1705276860000 }, {"low":2046.935,"date":"2024-01-15T00:02:00.000Z","high":2047.445,"open":2046.945,"close":2047.035,"volume":0.00876,"timestamp":1705276920000 }, {"low":2046.885,"date":"2024-01-15T00:03:00.000Z","high":2047.155,"open":2046.985,"close":2046.945,"volume":0.00465,"timestamp":1705276980000 }, {"low":2046.445,"date":"2024-01-15T00:04:00.000Z","high":2047.015,"open":2047.015,"close":2046.445,"volume":0.00717,"timestamp":1705277040000 }, {"low":2046.345,"date":"2024-01-15T00:05:00.000Z","high":2046.818,"open":2046.465,"close":2046.745,"volume":0.00798,"timestamp":1705277100000 }, {"low":2046.155,"date":"2024-01-15T00:06:00.000Z","high":2046.748,"open":2046.695,"close":2046.265,"volume":0.01471,"timestamp":1705277160000 }, {"low":2045.675,"date":"2024-01-15T00:07:00.000Z","high":2046.355,"open":2046.255,"close":2045.735,"volume":0.01739,"timestamp":1705277220000 } ],"symbol":"XAUUSD","dataset":"m1-candles","hasMore":false,"nextFrom":null,"provider":"dukascopy","instrument":"XAU/USD","daysCovered":1,"rateLimited":false },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
Ticks
Dukascopy — raw ticks for one UTC hour, straight from the public archive.
/v1/finance:dukascopy/ticksParameters
| Name | Type | In | Description |
|---|---|---|---|
| instrument | string | query | Instrument name or archive symbol, e.g. XAU/USD or XAUUSD. Required. |
| date | string | query | UTC day of the hour block, YYYY-MM-DD. Required. |
| hour | number | query | UTC hour block, 0-23. Required. |
Example response
{"project":"finance:dukascopy", "data": {"date":"2024-01-15","hour":10,"count":4022, "items": [ {"ask":2055.235,"bid":2054.925,"date":"2024-01-15T10:00:00.113Z","spread":0.31,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312800113 }, {"ask":2055.245,"bid":2054.935,"date":"2024-01-15T10:00:00.867Z","spread":0.31,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312800867 }, {"ask":2055.285,"bid":2054.985,"date":"2024-01-15T10:00:01.219Z","spread":0.3,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312801219 }, {"ask":2055.345,"bid":2055.045,"date":"2024-01-15T10:00:01.370Z","spread":0.3,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312801370 }, {"ask":2055.295,"bid":2055.005,"date":"2024-01-15T10:00:03.629Z","spread":0.29,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312803629 }, {"ask":2055.325,"bid":2055.035,"date":"2024-01-15T10:00:03.932Z","spread":0.29,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312803932 }, {"ask":2055.315,"bid":2055.015,"date":"2024-01-15T10:00:03.985Z","spread":0.3,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312803985 }, {"ask":2055.335,"bid":2055.035,"date":"2024-01-15T10:00:04.089Z","spread":0.3,"askVolume":0.00012,"bidVolume":0.00012,"timestamp":1705312804089 } ],"symbol":"XAUUSD","dataset":"ticks","provider":"dukascopy","instrument":"XAU/USD" },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
Sentiment Index
Dukascopy — the current retail long/short split across the whole quoted universe.
/v1/finance:dukascopy/sentiment-indexParameters
| Name | Type | In | Description |
|---|---|---|---|
| type | enum | query | Universe keying. `swfx` quotes by traded pair (EUR/USD), `ccy` by underlying (0700.HK). Default swfx. One of swfx, ccy. |
| query | string | query | Filter on instrument name. Omit for the whole universe. |
| limit | number | query | Items to return. Default 100, max 1000. |
Example response
{"project":"finance:dukascopy", "data": {"asOf":"2026-08-21T02:00:00.000Z","type":"swfx","count":100, "items": [ {"instrument":"0700.HK/HKD","longPercent":72.23,"instrumentId":"35136","shortPercent":27.77,"netShortPercent":-44.46 }, {"instrument":"AON.US/USD","longPercent":70.14,"instrumentId":"86258","shortPercent":29.86,"netShortPercent":-40.28 }, {"instrument":"AOS.US/USD","longPercent":72.21,"instrumentId":"86362","shortPercent":27.79,"netShortPercent":-44.42 }, {"instrument":"ARKI.US/USD","longPercent":70.08,"instrumentId":"99630","shortPercent":29.92,"netShortPercent":-40.16 }, {"instrument":"ASML.NL/EUR","longPercent":72.43,"instrumentId":"72048","shortPercent":27.57,"netShortPercent":-44.86 }, {"instrument":"AUD/CAD","longPercent":26.38,"instrumentId":"2050","shortPercent":73.62,"netShortPercent":47.24 }, {"instrument":"AUD/CHF","longPercent":55.87,"instrumentId":"2052","shortPercent":44.13,"netShortPercent":-11.74 }, {"instrument":"AUD/DKK","longPercent":70.94,"instrumentId":"2256","shortPercent":29.06,"netShortPercent":-41.88 } ],"query":null,"total":312,"dataset":"sentiment-index","provider":"dukascopy" },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
Sentiment History
Dukascopy — how retail crowding sat at four fixed look-backs: now, 6 hours,
/v1/finance:dukascopy/sentiment-historyParameters
| Name | Type | In | Description |
|---|---|---|---|
| query | string | query | Filter on instrument name; the slash is optional. Omit for the whole universe. |
| limit | number | query | Items to return. Default 100, max 1000. |
Example response
{"project":"finance:dukascopy", "data": {"count":1, "items": [ { "last": {"longPercent":28.64,"shortPercent":71.36,"netShortPercent":42.72 }, "oneDay": {"longPercent":30.96,"shortPercent":69.04,"netShortPercent":38.08 }, "fiveDays": {"longPercent":37.07,"shortPercent":62.93,"netShortPercent":25.86 }, "sixHours": {"longPercent":29.89,"shortPercent":70.11,"netShortPercent":40.22 },"instrument":"EUR/USD","nameTruncated":false } ],"query":"EUR/USD","total":1,"dataset":"sentiment-history","provider":"dukascopy" },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
Try it
Live request with your key
const data = await client.run( "finance:dukascopy", "instrument-list", { query: "gold", limit: 100 });
Dukascopy
Dukascopy's free tick and one-minute history, including XAUUSD gold going back to 2003.
Dukascopy — the instrument manifest behind the historical archive.
/v1/…dukascopy/instrument-listTry it
Parameters
query
string · query · optional
Filter on instrument name, symbol or description. Omit for the full list.
limit
number · query · optional
Items to return. Default 100, max 1000.
Example response
{"project":"finance:dukascopy", "data": {"count":33, "items": [ { "tags": [ "" ],"symbol":"GDXUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GDX.US/USD","description":"VanEck Vectors Gold Miners ETF","baseCurrency":"GDX.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:24.243Z" }, { "tags": [ "" ],"symbol":"GDXJUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GDXJ.US/USD","description":"VanEck Vectors Junior Gold Miners ETF ","baseCurrency":"GDXJ.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:02.678Z" }, { "tags": [ "" ],"symbol":"GLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GLD.US/USD","description":"SPDR Gold Shares ETF","baseCurrency":"GLD.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:13:07.724Z" }, { "tags": [ "" ],"symbol":"GSUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"GS.US/USD","description":"Goldman Sachs Group Inc/The","baseCurrency":"GS.US","quoteCurrency":"USD","h1HistoryStart":"2017-03-01T18:00:00.000Z","m1HistoryStart":"2017-03-01T18:12:00.000Z","tickHistoryStart":"2017-03-01T18:12:59.163Z" }, { "tags": [ "" ],"symbol":"IGLNUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"IGLN.US/USD","description":"iShares Physical Gold ETC - IGLN","baseCurrency":"IGLN.US","quoteCurrency":"USD","h1HistoryStart":"2024-03-11T07:00:00.000Z","m1HistoryStart":"2024-03-11T07:50:00.000Z","tickHistoryStart":"2024-03-11T07:50:00.000Z" }, { "tags": [ "" ],"symbol":"RGLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"RGLD.US/USD","description":"ROYAL GOLD INC","baseCurrency":"RGLD.US","quoteCurrency":"USD","h1HistoryStart":"2022-05-13T14:00:00.000Z","m1HistoryStart":"2022-05-13T14:04:00.000Z","tickHistoryStart":"2022-05-13T14:04:53.418Z" }, { "tags": [ "" ],"symbol":"SGLDUSUSD","pipValue":0.01,"priceStep":0.001,"instrument":"SGLD.US/USD","description":"Invesco Physical Gold ETC","baseCurrency":"SGLD.US","quoteCurrency":"USD","h1HistoryStart":"2024-03-18T05:00:00.000Z","m1HistoryStart":"2024-03-18T05:00:00.000Z","tickHistoryStart":"2024-03-18T05:00:04.000Z" }, { "tags": [ "" ],"symbol":"XAUAED","pipValue":0.01,"priceStep":0.001,"instrument":"XAU/AED","description":"Gold vs UAE Dirham","baseCurrency":"XAU","quoteCurrency":"AED","h1HistoryStart":"2024-09-17T09:00:00.000Z","m1HistoryStart":"2024-09-17T09:39:00.000Z","tickHistoryStart":"2024-09-17T09:39:43.255Z" } ],"query":"gold","total":33,"dataset":"instruments","hasMore":false,"provider":"dukascopy" },"timestamp":"2026-08-20T15:03:41Z"}
Errors
- 401Missing or invalid x-api-key
- 404Not found or private
- 429Rate limit or monthly quota reached
Code
const data = await client.run( "finance:dukascopy", "instrument-list", { query: "gold", limit: 100 });