Volver al comparador

API de tasas hipotecarias

Las tasas que publican los bancos de Puerto Rico, en JSON, para que las muestres en tu sitio. Abierta, sin registro y sin llave. Solo te pedimos que cites la fuente con un enlace.

Empezar

Una llamada, sin autenticación. Devuelve todas las tasas vigentes, las entidades y un resumen con la más baja de cada tipo.

bash
curl https://www.smarlin.com/api/tasas

GET /api/tasas

El comparador completo. Todos los parámetros son opcionales y se combinan.

tipoFHA · conventional · VA · USDATipo de préstamo. También acepta “convencional”.
plazonúmeroAños del préstamo. Por ejemplo 30 o 15.
entidadslugUna sola entidad: banco-popular, firstbank, oriental-bank…
formatocompleto · simple“simple” devuelve filas planas, listas para pintar en una tabla.
bash
curl "https://www.smarlin.com/api/tasas?tipo=FHA&plazo=30&formato=simple"

Respuesta

json
{
  "success": true,
  "meta": {
    "fuente": "Smarlin — smarlin.com",
    "docs": "https://www.smarlin.com/tasas/api",
    "atribucion": "Uso libre citando a Smarlin con enlace a la fuente.",
    "actualizado": "2026-08-11T12:03:41.220Z",
    "filtros": { "tipo": "FHA", "plazo": 30 }
  },
  "resumen": {
    "entidades": 5,
    "entidadesConTasas": 3,
    "mejorFha": { "entidad": "FirstBank Puerto Rico", "interest_rate": 4.75, "apr": 5.42, "...": "..." },
    "mejorConvencional": { "...": "..." },
    "promedioFha": 4.817,
    "promedioConvencional": 5.646,
    "actualizado": "2026-08-11T12:03:41.220Z"
  },
  "tasas": [
    {
      "entidad": "FirstBank Puerto Rico",
      "entidadSlug": "firstbank",
      "tipo": "FHA",
      "tipoEtiqueta": "FHA",
      "plazo": 30,
      "interes": 4.75,
      "apr": 5.42,
      "vigenciaDesde": "2026-08-10",
      "vigenciaHasta": "2026-08-14",
      "actualizado": "2026-08-11T12:03:41.220Z"
    }
  ],
  "entidades": [ { "name": "FirstBank Puerto Rico", "slug": "firstbank", "website_url": "https://www.1firstbank.com", "...": "..." } ]
}

GET /api/tasas/vigente

Un solo número: la tasa de mercado para usar en una calculadora. Es la mediana de lo que publican los bancos esta semana —no el promedio— para que una oferta promocional suelta no distorsione el cálculo. Es exactamente la misma tasa que Smarlin usa internamente, así que tu calculadora y la nuestra no se van a contradecir.

tipoconventional · FHAPor defecto: conventional.
plazonúmeroPor defecto: 30.
bash
curl "https://www.smarlin.com/api/tasas/vigente?tipo=conventional&plazo=30"
json
{
  "success": true,
  "tipo": "conventional",
  "plazo": 30,
  "tasa": 0.06,          // decimal, para meter en una fórmula
  "porcentaje": 6,       // para mostrar
  "origen": "mercado",   // "respaldo" si todavía no hay datos de la semana
  "muestras": 3          // cuántos bancos entraron en la mediana
}
Este endpoint nunca falla con error por falta de datos. Si los bancos todavía no publicaron, devuelve una tasa de respaldo y lo marca en origen. Revisa ese campo si te importa distinguir un dato real de un valor por defecto.

GET /api/tasas/historico

Cómo se movieron las tasas de Puerto Rico. Cada punto es la mediana de lo que publicaron los bancos esa semana —la misma métrica que /api/tasas/vigente, para que el gráfico y el número grande nunca se contradigan.

tipoconventional · FHA · VA · USDAPor defecto: conventional.
plazonúmeroPor defecto: 30.
entidadslugUn solo banco. Si lo omites, es todo el mercado.
semanasnúmeroPor defecto 52, máximo 260.
bash
curl "https://www.smarlin.com/api/tasas/historico?tipo=conventional&plazo=30&semanas=26"
json
{
  "success": true,
  "tendencia": {
    "cambio": -0.25,          // puntos porcentuales
    "direccion": "bajando",   // subiendo · bajando · estable
    "desde": "2026-02-16",
    "hasta": "2026-08-10"
  },
  "serie": [
    {
      "semana": "2026-08-10",
      "mediana": 6,
      "minimo": 6,
      "maximo": 6.25,
      "entidades": 3          // cuántos bancos publicaron ese producto
    }
  ]
}
El histórico arranca cuando se empezó a archivar, no cubre años hacia atrás. Con menos de dos semanas, tendencia viene en null: con un solo punto no hay tendencia que reportar, y decir «estable» sería afirmar algo que no se sabe.

GET /api/tasas/us

El promedio del mercado hipotecario de Estados Unidos, según la encuesta semanal PMMS de Freddie Mac. Es la referencia que cita la prensa cuando dice «la tasa a 30 años está en X». Sirve para poner en contexto lo de Puerto Rico: la respuesta trae la comparación ya calculada.

No es la tasa de un banco. Es un promedio de mercado: no es una oferta, no se puede solicitar y no es lo que te van a aprobar. Para las tasas que sí publican los bancos de Puerto Rico, usa /api/tasas.
serie30y_fijo · 15y_fijoUna sola serie. Si lo omites vienen las dos.
historiconúmeroSemanas de serie histórica. Por defecto 52, máximo 520. Usa 0 para que no venga.
bash
curl "https://www.smarlin.com/api/tasas/us?serie=30y_fijo&historico=0"
json
{
  "success": true,
  "aclaracion": "Promedio semanal del mercado hipotecario de Estados Unidos…",
  "series": [
    {
      "serie": "30y_fijo",
      "etiqueta": "30 años fijo",
      "plazo": 30,
      "tasa": 6.67,
      "semana": "2026-08-13",   // semana de la encuesta, no de la descarga
      "historico": []
    }
  ],
  "comparacion": [
    {
      "serie": "30y_fijo",
      "promedioEeuu": 6.67,
      "mejorPuertoRico": 6,
      "diferencia": -0.67       // negativo = PR está por debajo del promedio
    }
  ]
}

La comparación es convencional contra convencional, y contra la mejor tasa publicada en Puerto Rico, no contra un promedio local. La serie histórica llega hasta 1971, así que sirve para graficar tendencia.

GET /api/tasas/macro

Los rendimientos de los bonos del Tesoro de Estados Unidos. El bono a 10 años es la referencia que siguen las hipotecas a 30, y la diferencia entre ambos —el spread— es lo que explica por qué la hipoteca está donde está.

Esto no es una tasa hipotecaria. Nadie compra casa a la tasa del bono a 10 años. Es contexto macro, y mostrarlo junto a las ofertas de los bancos sin distinguirlo confunde al que lo lee.
serie2y · 10y · 30ySi lo omites vienen las tres.
historiconúmeroDías de serie. Por defecto 180, máximo 750. Usa 0 para que no venga.
bash
curl "https://www.smarlin.com/api/tasas/macro?serie=10y&historico=0"
json
{
  "success": true,
  "series": [
    { "serie": "10y", "etiqueta": "Bono a 10 años", "valor": 4.63, "fecha": "2026-08-13" }
  ],
  "spread": {
    "valor": 2.04,
    "nivel": "normal",        // estrecho · normal · amplio · muy_amplio
    "hipoteca30": 6.67,
    "bono10": 4.63,
    "fechaHipoteca": "2026-08-13",  // el PMMS es semanal…
    "fechaBono": "2026-08-13",      // …y el Tesoro diario
    "explicacion": "La diferencia está cerca de su rango habitual…",
    "advertencia": "Describe dónde está el spread hoy comparado con su propia historia. No es un pronóstico."
  }
}

Las dos fechas van por separado a propósito: el PMMS se publica una vez por semana y el Tesoro todos los días hábiles, así que casi nunca coinciden. Mostrar una sola daría una precisión que el dato no tiene.

Ejemplo en JavaScript

javascript
// Pago mensual estimado con la tasa real del mercado de PR
const r = await fetch('https://www.smarlin.com/api/tasas/vigente?tipo=conventional&plazo=30')
const { tasa, origen } = await r.json()

function pagoMensual(monto, tasaAnual, anios) {
  const i = tasaAnual / 12
  const n = anios * 12
  return (monto * i) / (1 - Math.pow(1 + i, -n))
}

console.log(pagoMensual(250000, tasa, 30).toFixed(2), origen)

Límites y condiciones

  • Sin llave y sin cuota. Las respuestas se sirven desde caché (30 minutos), así que no hace falta que guardes copia: pega directo.
  • CORS abierto. Puedes llamarla desde el navegador, sin proxy.
  • Atribución. Muestra “Fuente: Smarlin” con enlace a la página de tasas. Es lo único que pedimos a cambio.
  • Las tasas son informativas. Son las publicadas por cada banco y cambian sin aviso; la tasa final de una persona depende de su crédito, su pronto y la propiedad. Si las muestras, deja eso claro también.

¿No quieres programar nada?

Pega este iframe y listo: la tabla de tasas, actualizada sola, dentro de tu página. Se adapta al ancho del contenedor y no lleva cabecera ni menú de Smarlin.

html
<iframe
  src="https://www.smarlin.com/embed/tasas"
  width="100%" height="520" frameborder="0"
  title="Tasas hipotecarias de Puerto Rico"
  loading="lazy"></iframe>

Acepta los mismos filtros que la API: /embed/tasas?tipo=FHA.

¿Vas a usarla en un sitio de Puerto Rico?

Escríbenos y te avisamos antes de cualquier cambio que rompa el formato. También podemos agregar tu banco o cooperativa al comparador.

Escribir a Smarlin