Integraciones

La API de Furia Reports: tus informes en JSON, en una línea

Una clave de solo lectura, una cabecera Authorization y todos tus datos en JSON: Meta Ads, Google Ads, ROAS real, CRM y email marketing. Cómo funciona, qué límites tiene y cómo enchufarla a una IA.

Pedro AlvaradoFundador de Furia Funnel · 3 de agosto de 2026 · 6 min de lectura · revisado por el equipo
La API de Furia Reports: tus informes en JSON, en una línea

Para qué quieres una API en una herramienta de informes

Una herramienta de informes que no deja sacar los datos es una jaula bonita. Puedes mirarlos, pero no llevártelos: si tu jefe los quiere en el Excel de siempre, o tu CRM necesita el coste por lead para calcular márgenes, o quieres que una IA te resuma la semana, te toca copiar a mano.

La API de Furia Reports existe para eso: una clave, una cabecera y los mismos números que ves en el panel, en JSON. Sin SDK que instalar, sin OAuth que implementar, sin webhooks que mantener vivos. Todo son peticiones GET.

Los tres usos que más se piden, por orden:

Cómo funciona: una clave, una cabecera, JSON

Se crea en Ajustes → API de Furia Reports. Le pones nombre (te agradecerás haber puesto «CRM de Aitor» y no «clave 3»), y la copias: por seguridad se enseña una sola vez, porque lo que guardamos en base de datos es su hash, no la clave.

A partir de ahí, va en la cabecera Authorization de cada petición:

curl -H "Authorization: Bearer frk_TU_CLAVE" \
     https://furiareports.com/api/ping

Y la respuesta te dice de quién es la clave, que es la forma rápida de comprobar que todo está en su sitio:

{ "ok": true, "workspace": "Allora Publicidad", "plan": "pro", "via": "api_key" }

No hay más ceremonia. Todas las rutas cuelgan de https://furiareports.com/api, todas son GET y todas devuelven JSON.

Panel de Furia Reports con datos de Meta Ads y ventas reales
Un informe de Furia Reports listo para compartir con el cliente en modo lector.

Qué puedes leer

Los endpoints principales, con lo que devuelve cada uno:

EndpointQué te da
/api/panelEl informe de Meta Ads: totales, serie diaria, desglose por campaña y el periodo anterior para comparar
/api/panel/audienceEdad y género, plataformas, dispositivos, regiones y embudo de vídeo
/api/panel/adsDetalle a nivel anuncio: campaña → conjunto → anuncio, con estado y métricas
/api/google/panelGoogle Ads: totales, diario, campañas, palabras clave y términos de búsqueda
/api/crossdata/roasEl cruce estrella: inversión en anuncios contra las ventas reales de tu tienda
/api/calendarEl pipeline del CRM por días: leads, ganadas con importe, perdidas
/api/emailmktEmail marketing: envíos, aperturas, clics, OR y CTR por campaña
/api/clientsTus clientes en modo agencia y las fuentes atadas a cada uno

El dinero va en euros (número, no céntimos) y las métricas llegan ya sumadas. La lista completa, con el formato exacto de cada respuesta, está en la documentación de la API.

Rangos de fechas y varias cuentas

El parámetro range acepta atajos (hoy, ayer, 7d, 30d, 90d) o un rango libre con since y until en formato YYYY-MM-DD, hasta un máximo de 366 días por petición.

Si gestionas varias cuentas o varios clientes, añades account= o client= y la respuesta se limita a esa. Sin ese parámetro obtienes lo mismo que verías al entrar al panel.

GET /api/crossdata/roas?range=30d&client=<id>
💡Un truco para informes mensuales

Para el informe de cierre, en vez de 30d usa el rango exacto del mes con since/until. Los «últimos 30 días» se mueven cada vez que los pides, y un número que cambia entre dos ejecuciones es la forma más tonta de perder una discusión con un cliente.

Límites, caché y errores

Por clave: 60 peticiones por minuto y 1.000 por hora. Suena poco hasta que se piensa: los datos se cachean unos 15 minutos en servidor, así que pedir el mismo rango cada dos segundos no te da información más fresca, solo gasta tu cuota. Al pasarte, la respuesta es un 429 con la cabecera Retry-After diciéndote cuántos segundos esperar.

Los errores que verás:

CódigoQué significa
401Clave ausente, mal formada o revocada
402Suscripción no activa — la API deja de servir datos
429Te pasaste del límite; espera lo que diga Retry-After
502 / 503Falló la fuente (Meta, Google, tu tienda). Es temporal

Y una promesa que va con todo lo que hacemos: si una fuente falla, la API lo dice. Nunca rellena con ceros. Un cero silencioso en un informe es peor que un error, porque el error lo investigas y el cero te lo crees.

Enchufarla a una IA (el caso que más se pide)

Es el motivo por el que la mitad de la gente pide una clave. La receta corta: crea la clave, dale a tu asistente la URL base y la cabecera, y dile qué endpoint usar para cada pregunta.

Una instrucción de sistema que funciona bien:

Tienes acceso de lectura a la API de Furia Reports por HTTPS (solo GET,
cabecera Authorization: Bearer <clave>). Usa /api/panel para Meta,
/api/google/panel para Google y /api/crossdata/roas para el ROAS real.
Si un dato no está en la respuesta, dilo. No estimes ni completes cifras.

Esa última línea es la importante. Un modelo al que se le pide un informe y le falta un dato tiende a rellenar el hueco con algo verosímil, y un número verosímil en un informe de cliente es una bomba con temporizador. Con acceso a datos reales y permiso explícito para decir «no lo tengo», el resultado es otra cosa.

⚠️Tu clave es tuya, y sale de tu casa

Si pegas la clave en una herramienta de terceros, esa herramienta puede leer tus informes mientras la clave viva. Crea una clave distinta para cada integración — puedes tener hasta diez activas — y así revocar una no te tira las demás. Es la misma lógica que aplicamos con los conectores: claves separadas y de solo lectura siempre.

Qué NO puede hacer una clave

Esto es tan importante como lo que sí puede, así que va explícito:

Por dónde empezar

  1. Entra en Ajustes → API de Furia Reports y crea una clave con un nombre que te diga algo dentro de seis meses.
  2. Comprueba que responde: curl -H "Authorization: Bearer frk_…" https://furiareports.com/api/ping.
  3. Pide tu primer informe de verdad: /api/crossdata/roas?range=30d, que es el que enseña la diferencia entre lo que declara el píxel y lo que dice tu tienda.

Los ejemplos completos en cURL, Node y Python están en la documentación. Y si lo que te interesa es la otra punta del tubo — cómo entran los datos antes de poder sacarlos —, la guía avanzada de la conexión con Google Ads cuenta lo que hay detrás de un simple «iniciar sesión con Google».

Preguntas frecuentes

¿Qué puede hacer alguien que robe mi clave de la API?

Leer tus informes, y nada más. Las claves son de solo lectura por diseño: no pueden conectar ni desconectar cuentas publicitarias, ni cambiar tu configuración, ni tocar la facturación, ni borrar nada. Aun así, trátala como una contraseña: guárdala en una variable de entorno, nunca en código de cliente ni en un repositorio. Si sospechas que se ha filtrado, la revocas desde Ajustes y deja de funcionar al instante.

¿Se guarda mi clave en algún sitio de donde puedan sacarla?

No en claro. Al crearla se te muestra una sola vez y en base de datos guardamos únicamente su hash SHA-256 más los primeros caracteres, para que puedas distinguir una clave de otra en la lista. Ni nosotros podemos recuperar una clave perdida: si la pierdes, se revoca y se crea otra.

¿Puedo conectar la API a Google Sheets, n8n o Make?

Sí. Son peticiones GET con una cabecera Authorization, que es lo que cualquiera de esas herramientas sabe hacer sin plugins. En Sheets con IMPORTDATA no llega, porque no manda cabeceras, pero con un Apps Script de cinco líneas usando UrlFetchApp sí. En n8n o Make basta un nodo HTTP Request con autenticación de tipo cabecera.

¿Los datos de la API son los mismos que veo en el panel?

Exactamente los mismos, calculados por el mismo código. La regla de la casa es que los números cuadren al dato exacto entre el total, la serie diaria y el desglose por campaña — y eso vale igual para lo que pinta el panel y para lo que devuelve el JSON. Si un día no cuadran, es un bug, no una diferencia de método.

Tus datos, donde tú los necesites

Conecta Meta y Google Ads con tu tienda o CRM, y llévate los números a donde quieras por API. Prueba 5 días sin tarjeta.

Empezar gratis
Pedro Alvarado

Fundador de Furia Funnel. Lleva años gestionando campañas de Meta y Google para agencias y ecommerce — todo lo que lees aquí sale de cuentas reales, no de teoría. Más sobre el autor →