Fase 1 · Acceso 100% gratuito

La API pública de granos.ar

Pizarra de granos, dólar, riesgo país, clima, diferencial FOB vs. CBOT e indicadores del agro argentino — en JSON, listos para que cualquier sitio o app los muestre.

Auth: opcional (X-API-Key) Formato: JSON Método: GET CORS: abierto
Base URL https://granosar.lfcaucino.workers.dev/api/v1
01

Empezar en 30 segundos

No hace falta registrarse ni pedir una API key. Un GET alcanza.

// Precio de pizarra del día fetch('https://granosar.lfcaucino.workers.dev/api/v1/pizarra') .then(r => r.json()) .then(data => console.log(data)); // … o directo desde la terminal curl https://granosar.lfcaucino.workers.dev/api/v1/pizarra
02

Autenticación (opcional, por ahora)

Hoy ningún endpoint la exige. Pero si sumás una API key, empezamos a trackear tu uso y tu cuenta queda lista para cuando existan tiers pagos — sin que tengas que cambiar nada de tu integración.

Sin key

  • Acceso completo a todos los endpoints, igual que hoy
  • meta viene igual en la respuesta
  • Header de respuesta: X-API-Authenticated: false

Con key

  • Mandala en el header X-API-Key o como ?api_key=
  • Se suma a tu contador de uso (requests_total)
  • Header de respuesta: X-API-Plan con tu plan actual
// Con API key, vía header (recomendado) fetch('https://granosar.lfcaucino.workers.dev/api/v1/pizarra', { headers: { 'X-API-Key': 'gr_live_tu_key_aca' } }); // … o como query param, si el header no es cómodo curl "https://granosar.lfcaucino.workers.dev/api/v1/pizarra?api_key=gr_live_tu_key_aca"

Si mandás una key inválida o desactivada, la respuesta es 401. Si en el futuro pedís un endpoint que tu plan no incluye, es 403. Ninguno de los dos caso existe hoy — todos los endpoints piden plan free.

¿Necesitás una key? Escribinos por los canales de contacto del sitio.

03

Formato de respuesta

Todos los endpoints devuelven el mismo sobre: metadata + el dato pedido (o un error).

Respuesta OK

  • meta.fuente — siempre "granos.ar"
  • meta.version — versión de la API
  • meta.generado_en — timestamp ISO 8601
  • data — el contenido del endpoint

Respuesta con error

  • Mismo objeto meta
  • error — descripción legible del problema
  • Status HTTP acorde (404, 405, 503…)
04

Endpoints

Catorce endpoints de solo lectura. Los de series históricas aceptan ?dias= para acotar el rango.

GET/pizarra

Precios de pizarra Rosario del día (soja, maíz, trigo, sorgo, girasol) en ARS/tn y USD/tn, con variación vs. la rueda anterior.

{
  "fecha": "2026-08-14",
  "tipo_cambio_bna_divisas": 1420.5,
  "granos": {
    "soja": { "ars_tn": 452000, "usd_tn": 318.2, "variacion_pct_vs_rueda_anterior": 0.8 },
    "maiz": { ... }, "trigo": { ... }
  }
}
GET/pizarra/historico

Query: dias (default 30, máx 365)

Serie histórica diaria de precios en USD/tn, ordenada de más antigua a más reciente.

GET/dolar

Dólar oficial (compra/venta), blue y TC BNA Divisas (mayorista/comercial — el que corresponde para convertir pizarra a USD), más la brecha cambiaria.

GET/riesgo-pais

Valor de hoy, de ayer, y variación en puntos.

GET/clima

Temperatura y lluvia prevista a 48hs en la zona núcleo (Rosario).

GET/lluvias

Query: localidad, limit (máx 200)

Últimos registros pluviométricos cargados por localidad y zona.

GET/cbot/diferencial

Diferencial entre el FOB argentino (pizarra convertida a USD) y CBOT en vivo, para soja, maíz y trigo. Calculado al momento de la consulta.

{
  "soja": { "fob_usd_tn": 318.2, "cbot_usd_tn": 389.4, "diferencial_usd_tn": -71.2 },
  "maiz": { ... }, "trigo": { ... }
}
GET/cbot/historico

Query: dias (default 30, máx 365)

Serie histórica diaria del diferencial (un registro por día hábil).

GET/wasde

Último análisis del reporte mensual USDA/WASDE: tendencia global y por cultivo, con lectura del impacto local.

GET/resumen

El resumen diario de mercado en texto plano — el mismo que se publica en LinkedIn.

GET/indicadores

ENSO (El Niño/La Niña), precio de leche MAGYP, superficie de trigo, avance de siembra, USDA crop progress y tasa Fed Funds — todo en un solo llamado.

GET/plantas-acondicionamiento

Las 33 plantas de acondicionamiento relevadas (nombre, CUIT, dirección, localidad, teléfono/WhatsApp).

GET/plantas-sisa

Query: actividad, provincia, localidad, search, limit (máx 200)

Búsqueda en el padrón SISA completo de plantas habilitadas.

GET/alertas

Alertas de mercado actualmente activas publicadas en granos.ar.

GET/status

Chequeo de salud simple — útil para monitoreo. También GET /api/v1 devuelve el índice completo de endpoints en JSON.

05

Uso justo y qué viene después

Fase 1 — hoy

Gratis, sin límites duros

Todos los endpoints son públicos y no requieren API key. Se pide buen uso: cacheá las respuestas de tu lado (los datos de mercado se actualizan cada pocos minutos, no en cada request) y atribuí a granos.ar cuando publiques los datos.

Próximamente

Tiers ampliado y con suscripción

Vamos a sumar un tier con datos adicionales de acceso libre, y un tier con suscripción para series históricas extendidas, mayor frecuencia de actualización y soporte prioritario. La infraestructura de API keys y planes ya está lista del lado del servidor — lo que falta es habilitar qué endpoints piden qué plan. Lo que ya es gratis hoy, sigue siendo gratis.