← Volver a docs

Guía rápida (Quickstart)

Pon a funcionar Cotizave en tu proyecto en menos de 5 minutos. Esta guía asume que sabes hacer un request HTTP desde tu lenguaje favorito.


Paso 1: Regístrate y obtén tu API Key

  1. Ve a app.cotizave.com
  2. Haz clic en “Crear cuenta gratis”
  3. Ingresa tu email y una contraseña
  4. Confirma tu email (te llega un enlace al instante)
  5. Una vez dentro del dashboard, ve a la sección API Keys
  6. Copia la key que se generó automáticamente para tu Cuenta

Tu primera API Key se ve así:

nd-tu-api-key-aqui

Guárdala en un lugar seguro. No la pegues en código público, no la subas a GitHub, no la compartas.

Tip: en el dashboard puedes crear múltiples API Keys para distintos entornos (ej: production, staging, local). Cada una tiene su propio nombre y puedes rotarlas individualmente.

Paso 2: Tu primer request

Vamos a hacer una llamada al endpoint principal: GET /v1/fx/rates. Este endpoint devuelve todas las tasas disponibles.

Con curl

curl https://api.cotizave.com/v1/fx/rates \
  -H "X-API-Key: nd-tu-api-key-aqui" \
  -H "Accept: application/json"

Con JavaScript (fetch)

const response = await fetch('https://api.cotizave.com/v1/fx/rates', {
  headers: {
    'X-API-Key': 'nd-tu-api-key-aqui',
    'Accept': 'application/json'
  }
})

const data = await response.json()
console.log(data)

Con Python (requests)

import requests

response = requests.get(
    'https://api.cotizave.com/v1/fx/rates',
    headers={
        'X-API-Key': 'nd-tu-api-key-aqui',
        'Accept': 'application/json'
    }
)

data = response.json()
print(data)

Con Go

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.cotizave.com/v1/fx/rates", nil)
    req.Header.Set("X-API-Key", "nd-tu-api-key-aqui")
    req.Header.Set("Accept", "application/json")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var data map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&data)
    fmt.Println(data)
}

Con PHP

$ch = curl_init('https://api.cotizave.com/v1/fx/rates');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: nd-tu-api-key-aqui',
    'Accept: application/json'
]);

$response = curl_exec($ch);
$data = json_decode($response, true);
print_r($data);

Paso 3: La respuesta

La respuesta es un JSON con esta estructura:

{
  "country": "VE",
  "currency": "VES",
  "base": "USD",
  "rates": [
    {
      "market": "reference",
      "type": "reference",
      "mid": 475.0083,
      "updated_at": "2026-04-08T14:00:00Z"
    },
    {
      "market": "parallel",
      "type": "parallel",
      "ask": 640.12,
      "bid": 637.63,
      "mid": 638.87,
      "updated_at": "2026-04-08T17:25:00Z"
    },
    {
      "market": "binance",
      "type": "p2p",
      "ask": 639.24,
      "bid": 636.50,
      "mid": 637.87,
      "updated_at": "2026-04-08T17:29:00Z"
    },
    {
      "market": "bybit",
      "type": "p2p",
      "ask": 639.88,
      "bid": 637.12,
      "mid": 638.50,
      "updated_at": "2026-04-08T17:29:00Z"
    }
  ],
  "fetched_at": "2026-04-08T17:29:15Z"
}

Qué significa cada campo

Paso 4: Usa los datos en tu app

Un ejemplo simple: mostrar la tasa BCV y paralela en un sitio.

async function mostrarTasas() {
  const response = await fetch('https://api.cotizave.com/v1/fx/rates', {
    headers: { 'X-API-Key': 'nd-tu-api-key-aqui' }
  })
  const data = await response.json()

  const bcv = data.rates.find(r => r.market === 'reference')
  const paralela = data.rates.find(r => r.market === 'parallel')

  document.getElementById('bcv').textContent = `Bs. ${bcv.mid.toFixed(2)}`
  document.getElementById('paralela').textContent = `Bs. ${paralela.mid.toFixed(2)}`
}

// Actualizar cada 30 segundos
mostrarTasas()
setInterval(mostrarTasas, 30000)

Próximos pasos

Ahora que hiciste tu primer request, explora:

Tips para el desarrollo

Maneja errores con grace

Las fuentes de datos upstream pueden fallar temporalmente. Tu integración debe:

¿Problemas?

Si algo no funciona: