Back to blog

API de direcciones catastrales sin SOAP

API de direcciones catastrales sin SOAP

Una dirección escrita por un usuario rara vez llega lista para consultar. Puede faltar el tipo de vía, sobrar información en el portal o variar entre «Calle» y «C/». Cuando el producto necesita cruzarla con información oficial, una API de direcciones catastrales no es un detalle de infraestructura: es la capa que evita que la búsqueda de un inmueble se convierta en una cadena de excepciones, XML y reglas difíciles de mantener.

Para una plataforma proptech, un CRM inmobiliario, un visor GIS o un software municipal, el objetivo no es consumir servicios públicos por el mero hecho de hacerlo. Es obtener resultados predecibles: provincias, municipios, vías, números, referencias catastrales y coordenadas con estructuras que encajen en una aplicación moderna.

El problema no es buscar una calle

El Catastro contiene información fundamental para aplicaciones vinculadas al territorio y a los inmuebles, pero sus interfaces tradicionales no fueron diseñadas pensando en los flujos habituales de desarrollo actuales. SOAP, documentos XML extensos, campos con nombres poco evidentes y comportamientos distintos según la consulta añaden fricción antes de que el equipo llegue a la lógica de negocio.

El coste aparece en puntos muy concretos. Un desarrollador debe interpretar respuestas anidadas, transformar datos a modelos internos, gestionar errores poco expresivos y decidir qué hacer cuando una dirección no devuelve una coincidencia exacta. El equipo de producto, mientras tanto, no puede dar por cerrado un formulario de alta, una búsqueda de activos o un proceso de valoración hasta comprobar que los datos geográficos son utilizables.

Una integración directa puede tener sentido si se trata de una consulta puntual, si el equipo ya conoce en profundidad los servicios oficiales o si existe una capa propia consolidada. Pero para la mayoría de productos, mantener esa complejidad dentro de la aplicación es una mala asignación de tiempo. Cada hora dedicada a normalizar XML es una hora que no se dedica a mejorar la experiencia de búsqueda, la calidad de los datos o el flujo comercial.

Qué debe resolver una API de direcciones catastrales

Una API útil no se limita a devolver una lista de calles. Debe acompañar el recorrido natural de una dirección española y permitir que el cliente avance desde una selección amplia hasta un resultado concreto. El flujo habitual empieza por provincia y municipio, continúa con la vía y termina en el número, el inmueble o la referencia catastral cuando corresponde.

La diferencia está en que cada paso devuelva JSON consistente y fácil de consumir. Si el frontend necesita poblar un selector de municipios, no debería conocer la estructura de un mensaje SOAP. Si un backend necesita validar una calle antes de crear un expediente, debería recibir identificadores estables, nombres legibles y un estado HTTP comprensible.

Un diseño razonable separa las consultas en recursos claros. Por ejemplo:

```http GET /provincias GET /municipios?provincia=28 GET /vias?provincia=28&municipio=079&texto=alcala GET /direcciones?provincia=28&municipio=079&via=alcala&numero=45 ```

La URL exacta dependerá del proveedor, pero el principio es el mismo: peticiones simples, parámetros explícitos y respuestas estructuradas. Un resultado de dirección debería poder integrarse sin parsers específicos ni conversiones manuales de codificación.

```json { "provincia": "Madrid", "municipio": "Madrid", "tipoVia": "CL", "nombreVia": "ALCALA", "numero": "45", "codigoPostal": "28014", "coordenadas": { "latitud": 40.419, "longitud": -3.692 } } ```

No todos los casos requieren todos esos campos. Un autocompletado necesita sugerencias rápidas; una herramienta de tasación puede requerir además referencia catastral y localización precisa; un proceso administrativo puede priorizar los códigos territoriales. La API debe ofrecer datos suficientes sin forzar al consumidor a manejar respuestas gigantes para una tarea simple.

Normalizar no significa inventar datos

La normalización es especialmente relevante en direcciones. «Avda.», «Avenida» y «AVENIDA» pueden describir la misma vía, pero no conviene ocultar la información original ni asumir equivalencias que no estén respaldadas por el origen oficial. Una buena capa API normaliza formatos, expone identificadores y mantiene trazabilidad, sin convertir una coincidencia aproximada en una certeza.

También hay que distinguir entre dirección postal, localización catastral e inmueble. Pueden coincidir, pero no siempre. Edificios con varios elementos, diseminados, fincas rústicas o direcciones históricas exigen que el producto comunique el grado de precisión del resultado. Forzar una respuesta única cuando existen varias candidatas genera errores más caros que mostrar una selección al usuario.

Integración rápida: autenticación, pruebas y observabilidad

La velocidad de adopción depende de algo más que del formato JSON. Una API moderna debe permitir empezar con una clave de API, probar solicitudes desde documentación interactiva y trasladar ejemplos a Postman o al código del proyecto sin procesos manuales innecesarios.

En un flujo de trabajo sano, el equipo puede comprobar primero una consulta en Swagger UI, validar los campos que necesita y después implementar el cliente en su stack. La autenticación debe ser predecible, normalmente mediante una cabecera, y nunca quedar dispersa por múltiples mecanismos o documentos técnicos desactualizados.

```http GET /municipios?provincia=28 X-API-Key: TU_CLAVE_DE_API Accept: application/json ```

El siguiente requisito es la observabilidad. Cuando una búsqueda falla, el desarrollador necesita saber si el problema es un parámetro inválido, un límite de uso, una credencial incorrecta o una ausencia real de datos. Códigos HTTP correctos, mensajes de error claros y monitorización de solicitudes reducen el tiempo de diagnóstico y evitan que soporte técnico tenga que reconstruir cada caso a mano.

CatastroAPI está orientada precisamente a este modelo: una capa REST con datos catastrales estructurados, autenticación por API key, documentación interactiva y herramientas de prueba pensadas para equipos que trabajan con JSON. No se trata de sustituir la fuente oficial, sino de eliminar la complejidad técnica innecesaria entre esa información y el producto.

Casos de uso donde la estructura marca la diferencia

En una plataforma inmobiliaria, la API puede alimentar el autocompletado del formulario de publicación y reducir direcciones inconsistentes antes de que entren en la base de datos. El beneficio no es solo visual: mejora las deduplicaciones, las alertas de zona y los cruces con inventario existente.

En un CRM para agencias, una dirección validada permite enriquecer oportunidades, asociar visitas a ubicaciones reales y evitar que varios comerciales registren el mismo activo con variantes de escritura. Si el flujo incluye referencias catastrales, conviene pedirlas como dato complementario y validar que están ligadas al contexto territorial esperado.

Para GIS y software municipal, el valor está en conectar tablas operativas con geometrías y jerarquías territoriales. Aquí importan especialmente las conversiones de coordenadas, los códigos de provincia y municipio, y una respuesta que pueda almacenarse sin transformar decenas de nodos XML. Aun así, el equipo debe definir qué sistema de referencia utiliza internamente y no asumir que cualquier coordenada recibida puede mezclarse sin validación.

Las herramientas de valoración necesitan un enfoque distinto. La dirección es el punto de entrada, no una garantía de que el inmueble esté completamente identificado. La aplicación debería presentar coincidencias, solicitar datos adicionales cuando haya ambigüedad y registrar la fuente y la fecha de consulta. La API reduce el trabajo de acceso a datos; la decisión de valoración sigue requiriendo reglas de negocio y controles propios.

Cómo diseñar una integración que no se rompa

Empieza por modelar los estados de la búsqueda. Una consulta puede no devolver resultados, devolver una única coincidencia o devolver varias. Tratar los tres escenarios como si fueran errores es una fuente habitual de interfaces frustrantes. El usuario debe poder refinar municipio, vía o número sin perder el contexto ya seleccionado.

Después, conserva los identificadores oficiales junto al texto mostrado. Guardar solo «Calle Alcalá 45» es cómodo para leer, pero insuficiente para reconciliar registros después. Los identificadores territoriales, los valores normalizados y la referencia catastral cuando exista permiten actualizar, auditar y relacionar datos con menos ambigüedad.

Por último, incorpora caché con criterio. Provincias, municipios y muchas vías cambian poco y son buenos candidatos para cachear. Una consulta de detalle de inmueble, en cambio, puede requerir una política más conservadora según el caso de uso, los requisitos de actualización y las condiciones del proveedor. Cachear todo reduce llamadas, pero puede introducir datos obsoletos donde la precisión es crítica.

La API debe desaparecer de la experiencia del usuario

El usuario final no debería pensar en Catastro, SOAP, JSON ni referencias de servicio. Debería escribir una dirección, encontrar una opción fiable y continuar con su tarea. Ese resultado solo parece simple cuando la integración se ha diseñado bien: datos estructurados, errores útiles, decisiones explícitas ante la ambigüedad y un contrato API que el equipo pueda entender en minutos.

Cuando la capa de direcciones deja de ser un problema técnico, el equipo puede dedicar su esfuerzo a lo que realmente diferencia al producto: captar mejores datos, tomar decisiones más informadas y construir flujos que hagan avanzar el negocio.