List all latest forex prices
Return one row per currency pair with its latest available daily forex rate,
walking the whole pair universe in symbol order. Each row carries the same
open/high/low/close shape as the
single-pair latest price. Use it to snapshot the
whole forex market in a few paginated requests instead of calling that
endpoint once per pair.
Only prices from the last 10 days qualify. A pair with no quote inside that
window still appears, with date and the price fields set to null, so the
feed always covers every pair exactly once.
As a batch endpoint, it requires an Individual or higher plan; free API keys
receive a 402 error.
/v3.0.0/forex-prices/latestPlan Access
Free
(Your plan)
Individual
$29/mo
Professional
$89/mo
curl "https://api.roic.ai/v3.0.0/forex-prices/latest?apikey=YOUR_API_KEY&limit=500"{
"data": [
{
"symbol": "FX:EURUSD",
"date": "2026-07-31",
"open": 1.0921,
"high": 1.0964,
"low": 1.0898,
"close": 1.0937
},
{
"symbol": "FX:GBPUSD",
"date": "2026-07-31",
"open": 1.2712,
"high": 1.2769,
"low": 1.2688,
"close": 1.2741
}
],
"next_page_url": null,
"previous_page_url": null
}Parameters
Query parameters
base_currencystringoptionalReturn only pairs quoted from this base currency, given as a three-letter ISO 4217 code. Case-insensitive.
EURquote_currencystringoptionalReturn only pairs quoted into this quote currency, given as a three-letter ISO 4217 code. Case-insensitive.
USDcurrencystringoptionalReturn every pair in which this currency appears, on either side. Use it instead of base_currency and quote_currency when direction does not matter.
JPYorderstringoptionalSort by qualified pair symbol (symbol).
ascValues: ascdesclimitintegeroptionalMaximum number of resources to return.
500Min: 1Max: 2000pagestringoptionalOpaque page token from a previous response. Follow the returned page URL when possible.
Response
Each item in data is one pair's latest quote, identified by its symbol.
Follow next_page_url unchanged to continue paging; see
Responses for how cursor pagination works. The
freshness window is fixed when you request the first page, so a walk that takes
a while (even across midnight) stays consistent from the first page to the
last.
Response fields
dataarray of objectsArray of latest-price resources, one per currency pair, ordered by symbol.
+ Show child attributes- Hide child attributes
symbolstringQualified pair symbol, e.g. FX:EURUSD. Every pair appears exactly once. Accepted by the single-pair forex price endpoints.
datestringQuote date of the latest available price, in YYYY-MM-DD format. null when the pair has no price inside the 10-day freshness window.
opennumberExchange rate at the start of that day, in quote-currency units per base-currency unit. null when the pair has no recent price.
highnumberHighest exchange rate quoted during that day. null when the pair has no recent price.
lownumberLowest exchange rate quoted during that day. null when the pair has no recent price.
closenumberExchange rate at the end of that day, in quote-currency units per base-currency unit. null when the pair has no recent price.
next_page_urlnullableURL of the next page of results, or null when there are no more pages. Request it unchanged to continue paging.
previous_page_urlnullableURL of the previous page of results, or null on the first page.
Examples
The latest forex rate for every pair quoted into U.S. dollars:
curl "https://api.roic.ai/v3.0.0/forex-prices/latest?apikey=YOUR_API_KEY"e_currency=USD&limit=500"Use cases
Use the batch route when a workflow needs the latest daily forex rate for many currency pairs at once.
- Refresh a local currency-conversion table without making one request per pair.
- Snapshot every rate quoted into (or out of) one currency with the
quote_currency,base_currency, orcurrencyfilters. - Preserve a complete pair universe by retaining unpriced rows with
nullquote fields.
Data timing
Each row is the latest daily record available to the API, not an intraday tick.
While the current day is still open, its values can still change. Inspect
date rather than assuming the response is a live streaming quote.
Related endpoints
Use the single-pair routes when you only need one currency pair.