Comparador de préstamos
Pedir 25 000 al 5,5 % a 36 meses cuesta 2176,4 de intereses; al 7,9 % a 48 meses cuesta 4239,2, aunque la cuota sea 145,75 más baja. Compare dos ofertas por los intereses totales, no por la tasa anunciada. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Capital A
- 25 000
- Tasa anual A
- 5,5
- Plazo en meses A
- 36
- Capital B
- 25 000
- Tasa anual B
- 7,9
- Plazo en meses B
- 48
- Pago mensual A
- 754,9
- Reembolso total A
- 27 176,4
- Total de intereses A
- 2 176,4
- Pago mensual B
- 609,15
Dos ofertas de préstamo no se pueden ordenar mirando solo la tasa anual anunciada. Un porcentaje más bajo en un plazo más largo puede costar más intereses que uno algo más alto liquidado antes, y una cuota mensual menor puede ocultar un coste total del crédito mayor. Este comparador de préstamos acepta un principal, una tasa de interés nominal anual en porcentaje y un plazo como número entero de meses para cada uno de dos préstamos, aplica a ambos la fórmula estándar de cuota sobre saldo decreciente y devuelve la cuota mensual y los intereses totales de cada uno, junto con cuál resulta más barato en intereses totales.
Qué significa comparar dos préstamos y cómo se calculan la cuota mensual y los intereses totales
Una comparación de préstamos parte de dos pagarés amortizables independientes, no de un porcentaje de portada. El número de pagos n es el plazo en meses enteros. Esa identidad es la cuota sobre saldo decreciente que publican las entidades: cada vencimiento cubre primero los intereses del capital pendiente y después reduce el saldo, de modo que la parte de intereses baja aunque el efectivo de la cuota no cambie.
Los campos de dinero se redondean a dos decimales para coincidir con la moneda. El préstamo más barato es el de menores intereses totales, que es el coste extra real del crédito; si los dos totales redondeados coinciden, el resultado es un empate. Una cuota mensual más baja no gana por sí sola: alargar el pagaré puede recortar el vencimiento y a la vez subir los intereses pagados a lo largo de la vida del préstamo.
Las comisiones de apertura, los puntos de descuento y el seguro no se inventan: súmelos a principal si van financiados; si no, déjelos fuera de la comparación.
Dónde un comparador de préstamos aporta valor
Las hojas de capacidad de pago ya conocen dos importes financiados; enviar ambos principales, tasas y plazos rellena una tarjeta con cuota mensual, intereses totales y cuál préstamo es más barato, para que un asesor vea si un pagaré más largo a tasa menor cuesta de verdad más intereses que uno más corto.
Quienes enseñan crédito amortizable frente a solo intereses pueden sembrar ejemplos de aula que fallen de forma ruidosa cuando cualquiera de los plazos no es un entero positivo, en lugar de tratar en silencio un mes fraccionario como un préstamo válido. La validación fallida, incluido un plazo que no es un entero positivo, no consume saldo.
Mantenga ambos principales estrictamente positivos y ambos plazos como números enteros de meses, fije los campos de dinero redondeados en las pruebas y obtendrá comparaciones reproducibles para widgets, módulos LMS y workers en el borde sin un stack propio de originación.
Qué puede hacer con ella
Confrontar dos ofertas de préstamo personal
Convierta dos principales, tasas anuales y plazos en meses en cuotas mensuales, intereses totales y cuál préstamo es más barato antes de firmar.
Landings de entidades y marketplaces
Permita que los visitantes introduzcan dos productos anunciados y vean la cuota mensual, los intereses totales y el préstamo más barato junto a cada ficha.
Preguntas frecuentes
¿Cómo decide el comparador de préstamos cuál es más barato?
Una cuota mensual más baja no gana por sí sola.
¿Qué ocurre si un plazo no es un entero positivo?
Las fracciones, el cero, los booleanos y los valores no numéricos se rechazan y no se facturan.
¿Pueden los dos préstamos tener principales o plazos distintos?
Sí. Cada préstamo se amortiza por separado. Importes y tenencias distintas son válidos; cheaper sigue los intereses totales, así que un principal menor o un plazo más corto puede ganar incluso con una tasa más alta.
¿Funciona una tasa 0% en uno o en ambos préstamos?
Los intereses totales de ese lado quedan en cero salvo el redondeo.
¿Por qué el préstamo con la cuota más baja puede salir más caro?
Porque un plazo más largo reparte la deuda en más cuotas, cada una más pequeña, mientras los intereses siguen sumándose. En el ejemplo, el préstamo a 48 meses ahorra 145,75 al mes pero cuesta 2062,8 más de intereses.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/fin/loan-comparison \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"principal_a":25000,"annual_rate_a":5.5,"term_months_a":36,"principal_b":25000,"annual_rate_b":7.9,"term_months_b":48}'const res = await fetch("https://api.kit.forhosting.com/fin/loan-comparison", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"principal_a": 25000,
"annual_rate_a": 5.5,
"term_months_a": 36,
"principal_b": 25000,
"annual_rate_b": 7.9,
"term_months_b": 48
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/loan-comparison",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"principal_a": 25000,
"annual_rate_a": 5.5,
"term_months_a": 36,
"principal_b": 25000,
"annual_rate_b": 7.9,
"term_months_b": 48
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/loan-comparison", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"principal_a":25000,"annual_rate_a":5.5,"term_months_a":36,"principal_b":25000,"annual_rate_b":7.9,"term_months_b":48}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"principal_a":25000,"annual_rate_a":5.5,"term_months_a":36,"principal_b":25000,"annual_rate_b":7.9,"term_months_b":48}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/loan-comparison", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"principal_a": 25000,
"annual_rate_a": 5.5,
"term_months_a": 36,
"principal_b": 25000,
"annual_rate_b": 7.9,
"term_months_b": 48
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.loan_comparison",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_term_months | 600 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Un plazo que no sea un entero positivo falla con invalid_input en lugar de inventar un calendario.
Qué significa comparar dos préstamos y cómo se calculan la cuota mensual y los intereses totales
En cada préstamo la tasa mensual r es el porcentaje nominal anual dividido entre mil doscientos: r es igual a annual_rate dividido entre doce y entre cien. Cuando r es mayor que cero, la forma cerrada es monthly_payment igual a P por r por (1 más r) elevado a n, dividido entre (1 más r) elevado a n menos uno. Cuando la tasa anual es cero el denominador sería cero, así que la calculadora pasa al caso especial honesto monthly_payment igual a P dividido entre n. El total a devolver es monthly_payment por n, y los intereses totales son ese total menos el principal.
Contrato de entrada, la regla del plazo entero positivo y la forma de la respuesta
El cero, una fracción como treinta y seis punto cinco, un booleano o una cadena no numérica nunca producen un calendario ficticio, porque un plazo que no sea un número entero de meses no es una entrada válida de comparación. Envíe por POST un cuerpo JSON con seis campos obligatorios. Para el préstamo A: principal_a, el importe financiado como número finito estrictamente mayor que cero (alias amount_a y loan_amount_a); annual_rate_a, el interés nominal anual como porcentaje —5.5 para el cinco y medio por ciento al año—, finito y al menos cero (alias rate_a e interest_rate_a); y term_months_a, el plazo como entero positivo de meses de uno a seiscientos (alias term_a y months_a). Para el préstamo B los tres campos análogos son principal_b, annual_rate_b y term_months_b, con los alias correspondientes. Cada campo numérico puede llegar como número JSON o como cadena numérica. Campos ausentes, cadenas vacías, valores no finitos, un principal no positivo y una tasa anual negativa fallan con invalid_input nombrando el campo y no se facturan. La regla distintiva del producto es el plazo: term_months_a y term_months_b deben ser cada uno un entero positivo. En caso de éxito el cuerpo repite ambos principales, tasas y plazos, y añade monthly_payment, total_repayment y total_interest de cada lado, más cheaper (loan_a, loan_b o tie), interest_difference, monthly_difference y una cadena de fórmula que reexpresa la identidad de amortización. Ejemplo: principal veinticinco mil en ambos lados, annual_rate_a 5.5 con term_months_a 36 frente a annual_rate_b 7.9 con term_months_b 48 produce dos cuotas redondeadas y una marca cheaper en el lado con menores intereses totales.
Dónde un comparador de préstamos aporta valor
Las herramientas de cotización y los CRM de originación pueden llamar al mismo módulo puro desde el navegador para previsualizaciones gratuitas y desde la API al guardar un escenario, garantizando que la marca de más barato que un visitante vio coincida con la almacenada tras guardar un par de ofertas. Los equipos de contenido pueden ilustrar financiación del vendedor al cero por ciento en un lado con annual_rate cero, donde monthly_payment se reduce a principal entre term_months sin dividir por cero. Como la implementación es parse pura de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente.
Casos de integración
Flujos de cotización y CRM
Almacene dos pagarés en una herramienta de cotización cuya marca de más barato en la API coincida byte a byte con la vista previa gratuita del navegador.
Preguntas técnicas
¿Cuánto cuesta el comparador de préstamos?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo KIT prepago a $0.002 por llamada exitosa; la entrada inválida, incluido un plazo que no sea un entero positivo, no se factura.