3 minutos
PrincipianteTu primera cotización
Autenticación + consulta de precio de GGAL. Código listo para copiar y ejecutar.
Antes de empezar
- Cuenta comitente activa en IOL (creá tu cuenta gratis)
- Tu usuario y contraseña (los mismos de la app/web de IOL)
- Python 3.8+ / Node.js 18+ / cURL instalado
1
Obtener el token de acceso
Primero necesitás autenticarte para obtener un access_token. Este token lo usarás en todas las requests siguientes.
auth.py
Autenticación
import requests
API_URL = "https://api.iolinversiones.com"
# Autenticación
response = requests.post(f"{API_URL}/auth/token", json={
"grant_type": "password",
"username": "TU_USUARIO", # 👈 Mismo de la app IOL
"password": "TU_PASSWORD"
})
data = response.json()
token = data["data"]["access_token"]
print(f"Token obtenido: {token[:20]}...")Respuesta exitosa
Vas a recibir un JSON con access_token y refresh_token. El token dura varias horas.
2
Consultar cotización de GGAL
Con el token, ya podés consultar cualquier activo. Probemos con GGAL (Grupo Galicia):
quote.py
Consultar cotización
import requests
API_URL = "https://api.iolinversiones.com"
TOKEN = "tu_access_token"
headers = {"Authorization": f"Bearer {TOKEN}"}
# Consultar cotización de GGAL
response = requests.get(
f"{API_URL}/broker/market-data/GGAL/quote",
params={"market": "BCBA", "term": "T0"},
headers=headers
)
data = response.json()["data"]
print(f"GGAL: ${data['last_price']} ({data['change_percent']:+.2f}%)")Output esperado:
GGAL: $1250.50 (+2.35%)3
Código completo
Acá tenés todo junto, listo para copiar y ejecutar:
quickstart.py
quickstart.py / quickstart.js
import requests
API_URL = "https://api.iolinversiones.com"
# 1. Autenticación
print("🔐 Autenticando...")
auth = requests.post(f"{API_URL}/auth/token", json={
"grant_type": "password",
"username": "TU_USUARIO",
"password": "TU_PASSWORD"
})
token = auth.json()["data"]["access_token"]
print("✅ Autenticado!")
# 2. Headers para requests autenticadas
headers = {"Authorization": f"Bearer {token}"}
# 3. Consultar cotización de GGAL
print("\n📈 Consultando GGAL...")
quote = requests.get(
f"{API_URL}/broker/market-data/GGAL/quote",
params={"market": "BCBA", "term": "T0"},
headers=headers
)
data = quote.json()["data"]
print(f" Precio: ${data['last_price']}")
print(f" Cambio: {data['change_percent']:+.2f}%")
print(f" Volumen: {data['volume']:,} acciones")
# 4. Bonus: Consultar YPF también
print("\n📈 Consultando YPF...")
ypf = requests.get(
f"{API_URL}/broker/market-data/YPF/quote",
params={"market": "BCBA", "term": "T0"},
headers=headers
)
data = ypf.json()["data"]
print(f" Precio: ${data['last_price']}")
print(f" Cambio: {data['change_percent']:+.2f}%")
print("\n🎉 ¡Listo! Ya estás conectado a la API de IOL.")Solución de problemas
Error 401: Authentication Error
Usuario o contraseña incorrectos. Verificá que estés usando las mismas credenciales de la app de IOL.
Error 404: Not Found
El símbolo no existe o el formato es incorrecto. Usá el formato SYMBOL|MARKET|TERM (ej: GGAL|BCBA|T0).