Skip to main content
GET /v1/fx/rates · All plans. The response is filtered by the account’s access.

Request

No parameters are required. Supports format for CSV/XML and markup to apply a saved markup configuration when included in the plan. There is no country selector or parameter to convert the entire snapshot to AUD. With markup=<tag>, a different representation is used: it adds root-level markup_applied and, for affected rows, mid_with_markup and markup_applied. mid retains the original reference. Currently this representation does not include per-row base, effective_date or stale_after_sec. Do not use it to obtain an invoice’s value date; query the rate without markup. It requires a paid plan and an active rule; a missing rule returns 404 markup_not_found. Run these examples on your server. JavaScript and Python use the clients in the quickstart; configure COTIZAVE_API_KEY there.

Response

Illustrative response: figures and dates are not current quotes.
The example contains three markets and omits optional index. Production responses can contain more markets. country, currency, base, rates and fetched_at describe the snapshot. The overall USD base does not convert EUR rows to USD: read each rate’s base currency. index is omitted when it cannot be calculated; see its reference.

Compare rates in the same currency

This example uses the client from the quickstart. For monetary calculations, use decimal precision and your application’s rounding policy.

Errors

The common errors for authentication, quota and availability also apply. API error responses are JSON; branch on code, not on the text of message.

Availability and freshness

Look up by market, never by array position. A source may be absent or retain its last quote; a recent fetched_at does not guarantee every updated_at is recent. P2P rates are representative quotes, not an order book or executed trades. The list can grow.