Para desarrolladores
API de Valuación Inmobiliaria
Integra el avalúo automatizado de VALUUM en tu CRM, portal inmobiliario o app. Cada valuación corre el mismo motor del sitio: modelo de factores calibrado y anclado a comparables reales de mercado (más de 140,000 anuncios activos en México).
Cómo empezar
- 1
Llena el formulario
Cuéntanos tu caso de uso y volumen estimado (sección de abajo). Sin tarjeta ni compromiso para la prueba Starter de 30 días.
- 2
Nuestro equipo la revisa
En 24–48 horas hábiles te contactamos por correo para confirmar tu plan y resolver dudas técnicas si las hay.
- 3
Recibes tu API key
Te llega en texto plano una sola vez — guárdala en tu backend, nunca en código de cliente/frontend.
- 4
Integra y valúa
Con los ejemplos de request/response de esta página tienes lo necesario para tu primera llamada en minutos.
Planes y precios
Todos los planes usan el mismo motor y los mismos endpoints. La diferencia es cuota, precio y soporte.
Starter
Gratis
Prueba de 30 días · hasta 30 valuaciones en total
- Para integrar y probar antes de salir a producción
- Sin tarjeta de crédito
- Las estimaciones que muestres deben indicar “Estimación por VALUUM” con enlace a valuum.app
- Soporte por correo
Growth
$2,900 MXN/mes
1,000 valuaciones/mes incluidas · $3.50 MXN por adicional
- Ideal para CRMs inmobiliarios y portales en escalamiento
- Soporte prioritario
- Facturación mensual
Enterprise
Cotización
Volumen alto (5,000+/mes)
- SLA garantizado y soporte dedicado
- Facturación anual disponible
- Ideal para bancos, aseguradoras y portales grandes
Referencia: un avalúo tradicional en México cuesta entre $3,500 y $8,000 MXN. Incluso en Growth, el costo por valuación vía API es una fracción de eso.
Autenticación
Todas las llamadas requieren tu API key en el header Authorization. La key se emite después de revisar tu solicitud de acceso (arriba) — no hay autoservicio todavía, cada key la emite nuestro equipo manualmente para poder acompañar tu integración.
Authorization: Bearer valuum_XXXXXXXXXXXXXXXXPOST/api/v1/valuate
Valúa una propiedad. Consume 1 de tu cuota mensual.
Request
curl -X POST https://valuum.app/api/v1/valuate \
-H "Authorization: Bearer valuum_XXXX" \
-H "Content-Type: application/json" \
-d '{
"property_type": "departamento",
"lat": 21.1416,
"lng": -86.8258,
"built_area_m2": 95,
"bedrooms": 2,
"parking_spots": 1
}'Campos
| Campo | Tipo | Req. | Descripción |
|---|---|---|---|
| property_type | string | · obligatoriosí | casa · departamento · terreno · local_comercial · oficina · bodega |
| lat / lng | number | · obligatoriosí | Coordenadas de la propiedad (México) |
| built_area_m2 | number | · obligatoriosí | m² de construcción (en terreno: usa total_area_m2) |
| estrato | string | · opcionalno | popular · medio_bajo · medio · medio_alto · residencial · residencial_alto · lujo — opcional: si se omite, se infiere automáticamente a partir de datos de mercado |
| total_area_m2 | number | · opcionalno | m² de terreno |
| operation_type | string | · opcionalno | venta (única disponible; renta temporalmente deshabilitada) |
| bedrooms / bathrooms / parking_spots | number | · opcionalno | Recámaras, baños, cajones |
| antiguedad | number | · opcionalno | Años de antigüedad (0–150). Si envías un año (p. ej. 2005) se interpreta como año de construcción |
| construction_year | number | · opcionalno | Año de construcción (alternativa a antiguedad) |
| colonia / fraccionamiento | string | · opcionalno | Opcionales: priorizan comparables de la misma colonia o fraccionamiento |
| municipio / estado | string | · opcionalno | Opcionales: mejoran la inferencia del estrato (el estado se deduce de lat/lng si se omite) |
| acabados / conservacion | string | · opcionalno | Nivel de acabados y estado de conservación |
| address | string | · opcionalno | Dirección legible (informativa) |
Response 200
{
"valuation_id": "8b2f6c1e-…",
"estimated_value": 3434000,
"value_range": { "low": 3125000, "high": 3743000 },
"price_per_m2": 36147,
"confidence": { "score": 88, "grade": "B" },
"comparables_count": 7,
"estimated_rent": null,
"cap_rate": null,
"land_value": 890000,
"construction_value": 2544000,
"methodology": "factors-v2-comps",
"estrato_inferido": null,
"confianza": {
"calidad": { "nivel": "media", "etiqueta": "Calidad media", "cumple": ["…"], "limitaciones": ["…"] },
"abstencion": null,
"margen": null,
"aviso": "estimacion_automatizada",
"aviso_texto": "Estimación automatizada de VALUUM con datos de mercado. No es un avalúo ni tiene validez legal, fiscal o notarial."
},
"created_at": "2026-07-02T22:14:03.512Z",
"powered_by": "VALUUM AVM API v1"
}methodology: factors-v2-comps indica que el valor quedó anclado a comparables reales de la zona. estimated_rent y cap_rate son null mientras la estimación de renta esté en roadmap (ver operation_type arriba).
estrato_inferido viene null si enviaste estrato en el request. Si lo omitiste, trae el valor que se infirió junto con confidence (alta · media · baja) y source. Con solo lat/lng (sin dirección), la inferencia v1 cae siempre en el tier más grueso — confidence: "baja" — así que trátalo como una estimación aproximada, no como un estrato verificado.
confianza describe la evidencia detrás del valor: calidad.nivel (alta · media · limitada · insuficiente) con los criterios que cumple y sus limitaciones. Si abstencion no es null, el valor es orientativo y abstencion.motivo dice por qué (sin_evidencia · estrato_disputado · otro). margen es null mientras no haya un benchmark con suficientes casos para publicar un margen de error medido. Muestra aviso_texto junto al valor.
land_value y construction_value solo vienen poblados para property_type: "casa" y "terreno" — para el resto (departamento, local_comercial, oficina, bodega) ambos son null, porque no existe un dato real de cuánto terreno le corresponde a una unidad individual en un condominio.
POST/api/v1/valuate/batch
Hasta 10 propiedades por request (ideal para valuar carteras o inventarios de CRM). Cada item válido consume 1 de la cuota; la cuota se verifica por los válidos antes de procesar. Un item inválido no aborta el batch ni consume cuota — su posición regresa con error y la respuesta incluye charged (items cobrados).
curl -X POST https://valuum.app/api/v1/valuate/batch \
-H "Authorization: Bearer valuum_XXXX" \
-H "Content-Type: application/json" \
-d '{ "items": [
{ "property_type": "casa", "lat": 19.4326, "lng": -99.1332,
"built_area_m2": 220, "estrato": "residencial" },
{ "property_type": "departamento", "lat": 21.1619, "lng": -86.8515,
"built_area_m2": 80 }
]}'
// → { "count": 2, "succeeded": 2, "charged": 2, "results": [ { "index": 0, … }, { "index": 1, … } ] }Errores
401— key faltante, inválida o desactivada403— prueba Starter vencida (trial_expired)422— campos inválidos (el mensaje dice cuáles); no consume cuota429— cuota agotada o insuficiente para el batch500— error interno (reintenta con backoff)
Límites operativos
- La prueba Starter vence a los 30 días de emitida la llave y sus 30 valuaciones no se renuevan
- En Growth y Enterprise, la cuota mensual se reinicia el día 1 de cada mes (hora de México)
- Máximo 10 propiedades por request en
/batch - El header
Authorizationes obligatorio en cada llamada - Sin versión anterior activa por ahora — todo corre sobre
/api/v1
¿Necesitas más cuota o cambiar de plan? contacto@valuum.app
Las valuaciones de la API son estimaciones automatizadas (AVM) con fines informativos; no sustituyen un avalúo formal con validez legal.