Primera llamada
De la clave a la normativa de una parcela en cinco llamadas, con una clave de prueba.
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.
Entorno de pruebas
Las claves de prueba (sk-normatia-test-), qué responden y las parcelas que hay.
Autenticación
Claves de API, acceso por organización, permisos, límites por minuto y cuota.
SDK de TypeScript y Python
Los clientes oficiales, con un método para cada ruta y los tipos de cada respuesta.
/v1Parcelas
La parcela por su referencia catastral, o las de un punto, con sus afecciones, planeamiento, edificación, inmuebles y geometría.
Capas y cobertura
Las capas de afección con sus fuentes y licencias, y qué hay cargado en cada municipio.
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.
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.
Cuenta
La clave y su organización, el consumo y tus claves, que puedes revocar sin pasar por la web.
Servidor MCP
Los mismos datos, como herramientas para asistentes de IA, y las consultas sobre tus proyectos.
| Recurso | Rutas |
|---|---|
| Cuenta | GET /v1/me, GET /v1/usage, GET /v1/keys, DELETE /v1/keys/{key_id} |
| Parcelas | GET /v1/parcels/{ref}, GET /v1/parcels?lat=&lon= |
| Capas y cobertura | GET /v1/layers, GET /v1/coverage |
| Municipios | GET /v1/places, GET /v1/places/{place} |
| Normativa | GET /v1/regulations, GET /v1/regulations/{slug}, GET /v1/regulations/{slug}/contents, GET /v1/regulations/{slug}/sections/{section} |
| Entorno de pruebas | GET /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.
| Grupo | Rutas | Estado |
|---|---|---|
| Ask | POST /api/v2/ask | Vigente. Consultas en lenguaje natural sobre un proyecto, con fuentes. Gasta un crédito |
| Verify | POST /api/v1/verify | Vigente. Si un valor técnico cumple la normativa del municipio del proyecto. Gasta un crédito |
| Projects | GET /api/v1/projects, GET /api/v1/project/info | Vigente. Los proyectos de la organización y su contexto |
| Location | GET /api/v1/location/search, GET /api/v1/location/{geo_id} | Sustituida por /v1/places |
| Codes | GET /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.