Comenzando

La API de Finexly ofrece tasas de cambio en tiempo real e históricas para más de 170 monedas. Comenzar es fácil:

  1. Regístrate para obtener una cuenta gratuita
  2. Obtén tu clave de acceso API desde el panel de control
  3. Realiza tu primera solicitud de API

URL base

https://api.finexly.com/v1/

Autenticación

Todas las solicitudes de API requieren autenticación mediante un token Bearer. Incluye tu clave API en el encabezado de Autorización:

Encabezado de Autorización (Obligatorio)

Authorization: Bearer YOUR_API_KEY

Limitación de Tasa: Verifique los encabezados de respuesta para su uso actual: X-RateLimit-Limit, X-RateLimit-Used, X-RateLimit-Units

Puntos finales de API

GET /v1/currencies

Obtener una lista de todos los códigos de moneda compatibles.

Parámetros

Nombre Tipo Obligatorio Descripción

Ejemplo

GET https://api.finexly.com/v1/currencies

// Respuesta
[
    "AED",
    "ANG",
    "AUD",
    "EUR",
    "GBP",
    "USD"
]
GET /v1/rate

Obtener el tipo de cambio para un par de monedas específico.

Parámetros

Nombre Tipo Obligatorio Descripción
from string Código de moneda base (mayúsculas)
to string Código de moneda cotizada (mayúsculas)

Ejemplo

GET https://api.finexly.com/v1/rate?from=USD&to=EUR

// Respuesta
{
    "pair": "USD_EUR",
    "rate": 0.9215
}
GET /v1/convert

Obtener tipos de cambio para múltiples pares de monedas en una sola solicitud.

Parámetros

Nombre Tipo Obligatorio Descripción
q string Pares separados por comas en formato BASE_COTIZACIÓN

Ejemplo

GET https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP

// Respuesta
{
    "USD_EUR": {
        "rate": 0.9215
    },
    "USD_GBP": {
        "rate": 0.7892
    }
}
GET /v1/convert-amount

Convertir una cantidad específica de una moneda a otra.

Parámetros

Nombre Tipo Obligatorio Descripción
from string Código de moneda origen (mayúsculas)
to string Código de moneda destino (mayúsculas)
amount number Cantidad a convertir

Ejemplo

GET https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100

// Respuesta
{
    "pair": "USD_EUR",
    "rate": 0.9215,
    "amount": 100,
    "result": 92.15
}

Ejemplos de código

# Get single rate
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/rate?from=USD&to=EUR"

# Get multiple rates
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/convert?q=USD_EUR,USD_GBP,BTC_USD"

# Convert amount
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100"
<?php
$apiKey = 'YOUR_API_KEY';

// Using cURL
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.finexly.com/v1/rate?from=USD&to=EUR',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo "USD/EUR Rate: " . $data['rate'];
const apiKey = 'YOUR_API_KEY';

// Get single rate
const response = await fetch('https://api.finexly.com/v1/rate?from=USD&to=EUR', {
  headers: {
    'Authorization': `Bearer ${apiKey}`
  }
});

const data = await response.json();
console.log(`USD/EUR Rate: ${data.rate}`);

// Convert amount
const convertResponse = await fetch(
  'https://api.finexly.com/v1/convert-amount?from=USD&to=EUR&amount=100',
  { headers: { 'Authorization': `Bearer ${apiKey}` } }
);
const result = await convertResponse.json();
console.log(`100 USD = ${result.result} EUR`);
import requests

api_key = 'YOUR_API_KEY'
headers = {'Authorization': f'Bearer {api_key}'}

# Get single rate
response = requests.get(
    'https://api.finexly.com/v1/rate',
    params={'from': 'USD', 'to': 'EUR'},
    headers=headers
)
data = response.json()
print(f"USD/EUR Rate: {data['rate']}")

# Convert amount
response = requests.get(
    'https://api.finexly.com/v1/convert-amount',
    params={'from': 'USD', 'to': 'EUR', 'amount': 100},
    headers=headers
)
result = response.json()
print(f"100 USD = {result['result']} EUR")

Códigos de Error

Código Tipo Descripción
400 BAD_REQUEST Parámetros de solicitud inválidos o campos requeridos faltantes.
401 UNAUTHORIZED Token de API faltante o inválido.
403 FORBIDDEN Acceso denegado. Su cuenta puede estar inactiva.
413 PAYLOAD_TOO_LARGE El payload de la solicitud excede el tamaño máximo permitido.
429 RATE_LIMIT_EXCEEDED Ha excedido su límite de tasa. Verifique los encabezados X-RateLimit.
500 INTERNAL_ERROR Ocurrió un error interno del servidor. Por favor, intente de nuevo.