Skip to main content

Endpoint

GET https://api.marketdataset.ai/forex/prices

Parameters

NameTypeRequiredDescription
pairstringYesForex pair symbol, e.g. EURUSD, GBPUSD, USDJPY
intervalstringNoCandle interval: minute, hour, day, week, month (default: hour)
interval_multiplierintegerNoMultiplier for interval, e.g. 4 for 4-hour candles (default: 1)
start_datestringNoStart date in ISO 8601 format, e.g. 2024-01-01
end_datestringNoEnd date in ISO 8601 format
limitintegerNoNumber of candles (default: 100, max: 5000)
cursorstringNoPagination cursor from next_page_url

Credit cost

$0.005 per request (credits plan only; free for subscription users)

Example request

curl "https://api.marketdataset.ai/forex/prices?pair=EURUSD&interval=hour&limit=3" \
  -H "X-API-KEY: sk_your_key"

Example response

{
  "forex_prices": [
    {
      "pair": "EURUSD",
      "interval": "hour",
      "interval_multiplier": 1,
      "open": 1.08421,
      "high": 1.08589,
      "low": 1.08397,
      "close": 1.08534,
      "volume": 12847.0,
      "time": "2024-11-01T15:00:00+00:00"
    }
  ],
  "next_page_url": "https://api.marketdataset.ai/forex/prices?pair=EURUSD&interval=hour&limit=3&cursor=2024-11-01T14:00:00+00:00",
  "meta": {
    "request_id": "req_abc123",
    "credits_used": 0.005,
    "credits_remaining": 49.995
  }
}

Pagination

Results are ordered by time descending (newest first). When next_page_url is present, use it to fetch the next page:
url = "https://api.marketdataset.ai/forex/prices?pair=EURUSD&interval=day&limit=100"
headers = {"X-API-KEY": "sk_your_key"}

all_candles = []
while url:
    data = requests.get(url, headers=headers).json()
    all_candles.extend(data["forex_prices"])
    url = data["next_page_url"]