Saca tus datos de Meta Ads, Google Ads, tu cruce de ventas real, tu calendario de pipeline y tu email marketing — ya normalizados y cuadrados — hacia tu CRM, una IA como Claude o ChatGPT, un dashboard propio o cualquier herramienta. Solo lectura. Una clave. JSON limpio.
Bearer y a trabajar. Sin flujos ni caducidades.Authorization de tus peticiones. Ya está.# comprueba que tu clave funciona
curl -H "Authorization: Bearer frk_TU_CLAVE" \
https://furiareports.com/api/ping
// respuesta
{ "ok": true, "workspace": "Allora Publicidad", "plan": "pro", "via": "api_key" }
https://furiareports.com/api (también responde en https://app.furiareports.com/api). Todas las rutas empiezan por /api.Cada petición lleva tu clave en la cabecera Authorization con el prefijo Bearer:
Authorization: Bearer frk_xxxxxxxxxxxxxxxxxxxxxxxx
402.Por clave, con ventana fija. Los datos se cachean en servidor (~15 min), así que estos límites sobran para cualquier integración razonable:
| Ventana | Límite | Al superarlo |
|---|---|---|
| por minuto | 60 peticiones | 429 con cabecera Retry-After (segundos) |
| por hora | 1000 peticiones |
Cachea del lado del cliente lo que no cambie a menudo. No hace falta pedir el mismo rango cada pocos segundos.
Todos son GET y devuelven JSON. El parámetro de fecha range acepta: hoy, ayer, hoyayer, 7d, 14d, 30d, 90d, o un rango libre custom&since=YYYY-MM-DD&until=YYYY-MM-DD (máx. 366 días). Si gestionas varias cuentas, añade account=act_123 o client=<id>.
tot), serie diaria (daily) y desglose por campaña (camps), con el periodo anterior para comparar (prev).Ejemplo abreviado de GET /api/panel?range=30d. El dinero va en euros (número, no céntimos); las métricas están ya sumadas y cuadran entre tot, daily y camps.
{
"range": "30d", "days": 30,
"source": "meta", // "meta" = datos reales · "demo" = cuenta de demostración
"account": { "id": "act_123", "name": "Mi Cuenta", "currency": "EUR" },
"cur": {
"tot": { "spend": 4538.10, "imp": 454133, "clk": 6274,
"leads": 711, "compras": 36, "rev": 57857.00, "reach": 198340 },
"daily": [ { "date": "2026-06-12", "spend": 151.20, "leads": 24, "compras": 1, ... } ],
"camps": [ { "n": "Leads – Advantage+", "active": true, "spend": 1140.00,
"leads": 311, "compras": 12, "rev": 19100.00, ... } ]
},
"prev": { /* misma forma: el periodo anterior, para calcular variaciones */ }
}
Métricas derivadas (CPL, CPM, CPC, ROAS, CTR) las calculas tú a partir de estos campos crudos, para que nunca haya redondeos escondidos:
CPL = spend / leads · CPM = spend / imp × 1000 · CPC = spend / clkROAS = rev / spend · CTR = clk / imp × 100curl -H "Authorization: Bearer $FURIA_KEY" \
"https://furiareports.com/api/crossdata/roas?range=30d"
const res = await fetch("https://furiareports.com/api/panel?range=30d", {
headers: { Authorization: `Bearer ${process.env.FURIA_KEY}` }
});
const data = await res.json();
console.log("Gasto:", data.cur.tot.spend, "€ · Leads:", data.cur.tot.leads);
import os, requests
r = requests.get(
"https://furiareports.com/api/panel",
params={"range": "30d"},
headers={"Authorization": f"Bearer {os.environ['FURIA_KEY']}"},
)
d = r.json()
print("ROAS:", d["cur"]["tot"]["rev"] / d["cur"]["tot"]["spend"])
Este es el caso que hace magia: das tu clave a un asistente y le preguntas por tus campañas en lenguaje natural. Como todo son GET con una cabecera, cualquier IA con acceso a herramientas (Claude con MCP/HTTP, GPTs personalizados, agentes) puede consultarla.
https://furiareports.com/apiAuthorization → valor Bearer frk_TU_CLAVEGET).Eres mi analista de paid media. Para responder, consulta la API de Furia
Reports (GET, cabecera Authorization: Bearer <clave>). Usa /api/panel para
Meta, /api/google/panel para Google y /api/crossdata/roas para el ROAS real
de tienda. Calcula CPL = spend/leads y ROAS = rev/spend. Da cifras exactas,
nunca inventes datos: si la API no lo devuelve, dilo.
| Código | Significado | Qué hacer |
|---|---|---|
200 | OK | — |
401 | Clave ausente, mal formada o revocada | Revisa la cabecera Authorization; crea una clave nueva si hace falta. |
402 | Suscripción no activa | Activa tu suscripción en Furia Reports. |
429 | Límite de peticiones superado | Espera los segundos que indica Retry-After y reintenta. |
502 / 503 | La fuente (Meta/Google/tienda) falló al responder | Reintenta con espera; es temporal. |
Los errores devuelven { "error": "descripción" }. Nada de datos inventados: si una fuente cae, la API lo dice, no rellena con ceros.
Crea tu primera clave en menos de un minuto desde los ajustes de tu cuenta.
Crear una clave de API →