Si usas Google Sheets para rastrear tus inversiones, puedes jalar datos de las 16 FIBRAs mexicanas directamente a tu hoja de cálculo. Sin copiar y pegar, sin archivos CSV, sin descargas. Los datos se actualizan automáticamente cada vez que abres tu hoja.
FibrasMX ofrece una API diseñada específicamente para Google Sheets. Funciona con la fórmula nativa IMPORTDATA — no necesitas instalar nada. Escribes una fórmula, la hoja jala el dato, y listo.
En esta guía te explico cómo configurar todo desde cero y las fórmulas disponibles para cada tipo de dato.
Paso 1: Obtén tu API Key
Necesitas una clave API para conectar Google Sheets con FibrasMX. Es gratuita para datos básicos (precio, yield, sector) y premium para métricas financieras avanzadas.
Ve a fibrasmx.com/perfil, inicia sesión y haz clic en "Generar API Key." Tu clave empieza con fmx_ seguido de una serie de caracteres. Cópiala — la vas a usar en todas las fórmulas.
Recomiendo crear una celda dedicada en tu hoja para guardar la clave (por ejemplo, B1) y referenciarla en todas las fórmulas con $B$1. Así solo la cambias en un lugar si necesitas regenerarla.
Paso 2: Tu primera fórmula
En cualquier celda de Google Sheets, escribe:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FUNO11/price?key="&$B$1)
Reemplaza $B$1 con la celda donde tienes tu API key. Esa celda mostrará el precio actual de FUNO11. Cambia "FUNO11" por cualquier ticker y "price" por cualquier campo disponible.
Campos disponibles por FIBRA
La fórmula base es siempre la misma:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/TICKER/CAMPO?key="&$B$1)
Campos gratuitos (sin suscripción): price, price_change, volume, market_cap, yield, sector, name, ticker, pe_ratio, distribution_per_cbfi.
Campos premium (requieren Básico $49/mes): ffo, ffo_per_cbfi, affo, affo_per_cbfi, affo_payout_ratio, noi, noi_margin, ebitda, ebitda_margin, occupancy, ltv, dscr, total_debt, net_debt, wale, cap_rate, nav_per_cbfi, distribution_yield, fiscal_result_pct, capital_return_pct, cost_of_debt, credit_rating.
Por ejemplo, para ver el FFO por CBFI de Fibra Prologis:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FIBRAPL14/ffo_per_cbfi?key="&$B$1)
Sparklines: gráficas de precio dentro de una celda
Una de las funciones más útiles es ver una mini gráfica del historial de precio directamente dentro de una celda. Google Sheets tiene la función SPARKLINE, y la API de FibrasMX tiene un endpoint diseñado para alimentarla.
La fórmula:
=SPARKLINE(ARRAYFORMULA(VALUE(SPLIT(IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FUNO11/sparkline?key="&$B$1&"&days=30"),"|"))),{"charttype","line";"color","#2469F0";"linewidth",2})
Esto genera una línea azul mostrando los últimos 30 días de precio. Puedes cambiar days=30 por 7, 60 o hasta 90 para diferentes ventanas de tiempo. El color "#2469F0" es el azul de FibrasMX.
Ponla al lado de cada FIBRA en tu tabla y tendrás un dashboard visual sin salir de tu hoja de cálculo.
Historial de distribuciones
Para ver el historial de pagos de cualquier FIBRA:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FUNO11/distributions?key="&$B$1&"&periods=8")
Esto llena múltiples filas con: fecha, monto por CBFI, porcentaje de resultado fiscal y porcentaje de reembolso de capital. El parámetro periods controla cuántas distribuciones quieres ver (máximo 20).
Esta información es útil para rastrear cómo ha evolucionado el pago de una FIBRA y su desglose fiscal. Si no tienes claro qué significan el resultado fiscal y el reembolso de capital, revisa el análisis del desglose fiscal de FIBRAs.
Métricas trimestrales históricas
Para ver cómo han evolucionado el FFO, AFFO u ocupación en los últimos trimestres:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FUNO11/metrics?key="&$B$1&"&fields=ffo_per_cbfi,affo_per_cbfi,occupancy_portfolio&periods=8")
Esto llena una tabla con el periodo (2025Q1, 2025Q2, etc.) y los valores de cada métrica. Puedes solicitar cualquier combinación de campos premium: ffo_per_cbfi, affo_per_cbfi, noi_margin, ebitda_margin, affo_payout_ratio, occupancy_portfolio, gla_total, properties_count, wale_years, cap_rate, nav_per_cbfi, fiscal_result_pct, capital_return_pct, cbfis_outstanding, admin_expenses y advisory_fee.
Combina esto con un gráfico de Google Sheets (Insertar → Gráfico) y tendrás un dashboard de tendencias trimestrales que se actualiza solo.
Snapshot: las 16 FIBRAs en una sola fórmula
Probablemente la fórmula más útil. Con una sola llamada obtienes una tabla completa de las 16 FIBRAs con 14 columnas:
=IMPORTDATA("https://fibrasmx.com/api/v1/sheets/all/snapshot?key="&$B$1)
La tabla incluye: ticker, nombre, sector, precio, yield, FFO/CBFI, AFFO/CBFI, ocupación, LTV, margen NOI, WALE, cap rate, porcentaje fiscal y porcentaje de reembolso de capital. Todo actualizado.
Con esos datos puedes usar las funciones nativas de Google Sheets para ordenar, filtrar y analizar. Para filtrar solo las FIBRAs industriales:
=FILTER(A2:N17, C2:C17="industrial")
Para ordenar por yield de mayor a menor:
=SORT(A2:N17, 5, FALSE)
Tips para armar tu hoja
Guarda tu API key en una celda fija (como B1) y referéncala siempre con $B$1. Si regeneras la clave, la cambias en un solo lugar.
Usa IFERROR para manejar errores. Si la celda del ticker está vacía o hay un problema de conexión, IFERROR evita que tu hoja se llene de errores:
=IFERROR(IMPORTDATA("..."), "")
Para convertir texto a número, envuelve el IMPORTDATA en VALUE(). Algunos campos regresan texto que Google Sheets no reconoce como número:
=VALUE(IMPORTDATA("https://fibrasmx.com/api/v1/sheets/FUNO11/price?key="&$B$1))
Google Sheets tiene un límite de 50 fórmulas IMPORTDATA por hoja. Si necesitas más datos, usa el endpoint snapshot que trae las 16 FIBRAs en una sola llamada, en lugar de hacer 16 llamadas individuales.
Los datos no se actualizan al segundo. Google Sheets refresca IMPORTDATA cuando abres la hoja o cada ~hora. Para forzar una actualización, puedes usar Ctrl+Shift+F9 o ir a Archivo → Configuración → Recalculación → "Cada minuto" (esto consume más llamadas API).
Límites y precios
La API tiene un límite de llamadas diarias para proteger el servicio. Las cuentas gratuitas tienen 20 llamadas por día — suficiente para una hoja básica con precios y yields. Las cuentas premium (Básico $49/mes) tienen 200 llamadas por día y acceso a todos los campos premium: FFO, AFFO, deuda, ocupación, valuación y más.
Tu API key y el estado de tu cuenta los puedes administrar en fibrasmx.com/perfil. Puedes ver el comparador para entender qué métricas te serían más útiles antes de decidir si necesitas premium.
Resumen de endpoints
Los 6 tipos de consulta disponibles:
Campo individual: .../sheets/TICKER/CAMPO — un solo dato (precio, yield, ffo_per_cbfi, etc.)
Sparkline: .../sheets/TICKER/sparkline?days=30 — precios históricos para gráfica en celda
Distribuciones: .../sheets/TICKER/distributions?periods=8 — historial de pagos con desglose fiscal
Métricas históricas: .../sheets/TICKER/metrics?fields=ffo_per_cbfi,affo_per_cbfi&periods=8 — series trimestrales
Snapshot 16 FIBRAs: .../sheets/all/snapshot — tabla completa con 14 columnas, una sola llamada
Lista de FIBRAs: .../v1/fibras — ticker, nombre y sector de las 16 FIBRAs
Todos los endpoints usan el mismo formato: agrega ?key=TU_CLAVE al final. Los campos premium requieren suscripción Básico activa.
Si tienes dudas sobre cómo armar tu hoja o qué fórmulas usar, escríbenos a contacto@fibrasmx.com. Síguenos en X/Twitter (@FibrasMXcom) para datos diarios del mercado de FIBRAs.