Banks
GET /api/quantis/v3/rates/banks/
Returns the most recent buy/sell/average exchange rate entry for each Venezuelan bank, quoted in VES. Results are sorted by date descending — banks that report more frequently appear at the top. buy and sell can be null for banks that only report one side.
| Method | GET |
| URL | https://app.vzla.io/api/quantis/v3/rates/banks/ |
| Authentication | Authorization: Bearer qapi_... |
| Parameters | None |
Request
curl --request GET \ --url 'https://app.vzla.io/api/quantis/v3/rates/banks/' \ --header 'Authorization: Bearer qapi_YOUR_KEY_HERE'Response
data
An array of bank rate objects, one per bank.
| Field | Type | Description |
|---|---|---|
bank_name | string | Bank name, e.g. "Banco de Venezuela" |
date | string (ISO 8601 date) | Date this entry was recorded |
buy | string | null | Buy rate: VES per 1 USD. null if not reported |
sell | string | null | Sell rate: VES per 1 USD. null if not reported |
average | string | Average of buy and sell (or whichever side is available) |
indicators | object | Change indicators for each rate |
indicators object
| Field | Type | Description |
|---|---|---|
buy_pct | string | null | Percentage change in buy rate vs. previous entry |
buy_amount | string | null | Absolute change in buy rate in VES |
sell_pct | string | null | Percentage change in sell rate vs. previous entry |
sell_amount | string | null | Absolute change in sell rate in VES |
average_pct | string | null | Percentage change in average rate vs. previous entry |
average_amount | string | null | Absolute change in average rate in VES |
Indicator fields are null when the corresponding rate is null or when there is no previous entry to compare against.
meta
| Field | Type | Description |
|---|---|---|
source | string | Always "banks" |
currency_quote | string | Always "VES" |
Example response
{ "data": [ { "bank_name": "Otras Instituciones", "date": "2026-05-05", "buy": "589.08070000", "sell": "591.98960000", "average": "590.53515000", "indicators": { "buy_pct": "5.88998405", "buy_amount": "32.76680000", "sell_pct": "3.92183677", "sell_amount": "22.34070000", "average_pct": "4.89425583", "average_amount": "27.55375000" } }, { "bank_name": "BBVA Provincial", "date": "2026-05-05", "buy": "525.00000000", "sell": "594.93830000", "average": "559.96915000", "indicators": { "buy_pct": "0.96153846", "buy_amount": "5.00000000", "sell_pct": "2.87071925", "sell_amount": "16.60240000", "average_pct": "1.96683000", "average_amount": "10.80120000" } }, { "bank_name": "Banco de Venezuela", "date": "2025-12-16", "buy": null, "sell": "273.59370000", "average": "273.59370000", "indicators": { "buy_pct": null, "buy_amount": null, "sell_pct": "7.64891481", "sell_amount": "19.44000000", "average_pct": "7.64891481", "average_amount": "19.44000000" } } ], "meta": { "source": "banks", "currency_quote": "VES" }}HTTP status codes
| Code | Meaning |
|---|---|
200 OK | Success. |
401 Unauthorized | Missing, invalid or revoked key. |
405 Method Not Allowed | Only GET is supported. |
429 Too Many Requests | Monthly quota spent (quota_exceeded) or rate limit hit (throttled). See Tiers and limits. |
500 Internal Server Error | Server error. Retry after a short delay. |
401: no Authorization header
{ "error": { "code": "auth_missing", "message": "Authentication credentials were not provided" }}401: invalid key
{ "error": { "code": "auth_token_unknown", "message": "Invalid token format" }}429: monthly quota spent
{ "error": { "code": "quota_exceeded", "message": "Monthly quota exceeded. It resets on the 1st of next month." }}429: rate limit hit
{ "error": { "code": "throttled", "message": "Rate limit exceeded", "details": { "retry_after": 1 } }}