Skip to content

Referencia de la API

La API de Normatia es una API REST que devuelve JSON. Da la parcela por su referencia catastral con sus afecciones y su planeamiento, los municipios con sus datos técnicos y la normativa, del catálogo al texto de cada sección. Con una clave de vivo, además, responde preguntas en lenguaje natural sobre tus proyectos y comprueba un valor contra la normativa.

URL base: https://api.normatia.com

Primera llamada

De la clave a la normativa de una parcela en cinco llamadas, con una clave de prueba.

Empezar

Entorno de pruebas

Las claves de prueba (sk-normatia-test-), qué responden y las parcelas que hay.

Ver el entorno

Autenticación

Claves de API, acceso por organización, permisos, límites por minuto y cuota.

Ver autenticación

SDK de TypeScript y Python

Los clientes oficiales, con un método para cada ruta y los tipos de cada respuesta.

Ver los SDK

Parcelas

La parcela por su referencia catastral, o las de un punto, con sus afecciones, planeamiento, edificación, inmuebles y geometría.

Ver parcelas

Capas y cobertura

Las capas de afección con sus fuentes y licencias, y qué hay cargado en cada municipio.

Ver capas y cobertura

Municipios

Buscar un municipio, una provincia o una comunidad, y los datos técnicos de cada municipio con la norma de donde sale cada uno.

Ver municipios

Normativa

El catálogo, las versiones de cada norma, el índice y el texto completo de cada sección, con curated para saber si está revisado a mano.

Ver normativa

Cuenta

La clave y su organización, el consumo y tus claves, que puedes revocar sin pasar por la web.

Ver cuenta

Servidor MCP

Los mismos datos, como herramientas para asistentes de IA, y las consultas sobre tus proyectos.

Ver el servidor MCP

RecursoRutas
CuentaGET /v1/me, GET /v1/usage, GET /v1/keys, DELETE /v1/keys/{key_id}
ParcelasGET /v1/parcels/{ref}, GET /v1/parcels?lat=&lon=
Capas y coberturaGET /v1/layers, GET /v1/coverage
MunicipiosGET /v1/places, GET /v1/places/{place}
NormativaGET /v1/regulations, GET /v1/regulations/{slug}, GET /v1/regulations/{slug}/contents, GET /v1/regulations/{slug}/sections/{section}
Entorno de pruebasGET /v1/sandbox

Ninguna consume cuota, y todas responden con una clave de prueba, con lo que hay en el entorno de pruebas.

Las rutas de /api/v1 y /api/v2 son anteriores a /v1 y siguen funcionando. Las consultas, las comprobaciones y los proyectos solo están aquí; Location y Codes tienen su sustituto en /v1.

GrupoRutasEstado
AskPOST /api/v2/askVigente. Consultas en lenguaje natural sobre un proyecto, con fuentes. Gasta un crédito
VerifyPOST /api/v1/verifyVigente. Si un valor técnico cumple la normativa del municipio del proyecto. Gasta un crédito
ProjectsGET /api/v1/projects, GET /api/v1/project/infoVigente. Los proyectos de la organización y su contexto
LocationGET /api/v1/location/search, GET /api/v1/location/{geo_id}Sustituida por /v1/places
CodesGET /api/v1/codes/search, GET /api/v1/codes/{slug}, GET /api/v1/codes/{slug}/latest, GET /api/v1/codes/{slug}/{version}Sustituida por /v1/regulations

Con una clave de prueba, todas responden 403 not_available_in_sandbox.

Todas las rutas piden la clave en la cabecera Authorization:

Authorization: Bearer sk-normatia-...

La API se activa por organización, a petición: escríbenos a hola@normatia.com. Una clave de prueba (sk-normatia-test-) funciona sin ella, con el entorno de pruebas.

Las rutas de /v1 responden los errores en el formato estándar RFC 9457 (application/problem+json), con el código en code:

{
"type": "https://docs.normatia.com/api-reference/errores/#regulation_not_found",
"title": "No encontrado",
"status": 404,
"detail": "No hay ninguna norma con ese slug.",
"code": "regulation_not_found",
"request_id": "req_4f0c2a9e6b1d4c3e8a7f5b2d1e0c9a8b"
}

Las rutas de /api mantienen su formato, con el código en detail.error:

{
"detail": {
"error": "not_found",
"message": "Code not found"
}
}

Decide siempre por el código, no por el texto. La lista de códigos está en Errores, y las claves, los límites y la cuota, en Autenticación.