post/public/v1/valuation/estimate

Estimación por comparables (público)

Calcula una valoración orientativa de mercado a partir de ubicación, características del inmueble y comparables cercanos.

Descripción

Calcula una valoración orientativa de mercado a partir de ubicación, características del inmueble y comparables cercanos.

La respuesta incluye:

  • bandas de venta, arriendo tradicional y renta corta;
  • métricas por m² cuando hay datos suficientes;
  • avisos comparables ordenados por parecido (similarity_score);
  • desglose de parecido (match_breakdown) para entender por qué un comparable es relevante;
  • análisis estratégico en español con lectura de oportunidad, riesgos de datos y siguiente paso.

Campos recomendados para mejorar precisión: normalized_type, area_m2, rooms, bathrooms, garages, antiquity, estrato, country y coordenadas (latitude/longitude) o address_query.

Notas:

  • max_distance_km controla el radio de búsqueda de comparables.
  • distance_weight controla cuánto pesan los comparables más cercanos frente a los más lejanos.
  • min_comparables define la muestra mínima deseada antes de relajar algunos criterios.
  • garages y antiquity ayudan a seleccionar comparables más parecidos cuando esos datos están disponibles.
  • Es una orientación de mercado, no una tasación ni avalúo formal.

Autenticación (obligatoria)

  • X-Api-Key: <tu_api_key> o
  • Authorization: Bearer <tu_api_key>

Prefijo base: /public/v1/valuation.

Seguridad

  • ApiKeyHeader
  • ApiKeyBearer

Respuestas

200Successful Response

application/json

{
  "airbnb_monthly": "⟨EstimateBand⟩",
  "airbnb_nightly": "⟨EstimateBand⟩",
  "airbnb_occupancy_pct": "⟨EstimateBand⟩",
  "disclaimer": "string",
  "location_resolved": {
    "geocoded_from_address": false,
    "label": "…",
    "latitude": 42,
    "longitude": 42
  },
  "ml_estimate_sale_cop": 42,
  "ml_model_version": "string",
  "rent": "⟨EstimateBand⟩",
  "rent_per_m2": "⟨EstimateBand⟩",
  "sale": {
    "median": "…",
    "n": 0,
    "p25": "…",
    "p75": "…",
    "unit": "string"
  },
  "sale_per_m2": "⟨EstimateBand⟩",
  "strategic_analysis": "string",
  "traditional_comparables": [
    {
      "antiquity": {},
      "area_m2": {},
      "business_type": {},
      "distance_km": {},
      "garages": {},
      "image_url": {},
      "latitude": {},
      "listing_id": {},
      "longitude": {},
      "match_breakdown": {},
      "match_quality": {},
      "neighborhood": {},
      "normalized_type": {},
      "rent_price": {},
      "rent_price_per_m2": {},
      "rooms": {},
      "sale_price": {},
      "sale_price_per_m2": {},
      "similarity_score": {},
      "title": {},
      "url": {}
    }
  ],
  "warnings": [
    "string"
  ]
}
401Falta cabecera de API key o la clave no es válida.
422La solicitud no cumple el contrato esperado.
502No se pudo completar el análisis en este momento.
503El análisis estratégico no está disponible temporalmente.

Ejemplo de solicitud

Base URL y código de ejemplo (sin CORS desde el navegador).

postPOST /public/v1/valuation/estimate
curl -sS -X POST \
  -H "X-Api-Key: TU_API_KEY" \
  "http://127.0.0.1:8000/public/v1/valuation/estimate"

Respuesta en vivo

La petición se envía vía el proxy del servidor Next.