Documentación de la API del Ministerio de Hacienda

Introducción

Aquí se describen los principales recursos y lineamientos para el uso de la API pública del Ministerio de Hacienda de Costa Rica. Su objetivo es facilitar la integración de aplicaciones desarrolladas por terceros, garantizando al mismo tiempo la disponibilidad, estabilidad y equidad en el acceso.

A lo largo de este documento se detallan los diferentes endpoints disponibles, los parámetros requeridos y los códigos de respuesta. También se incluyen ejemplos prácticos en cURL, lineamientos de validación, políticas de uso y límites de consumo, así como recomendaciones de buenas prácticas para evitar bloqueos y asegurar una integración eficiente.

La API pone a disposición información de contribuyentes, tipos de cambio, exoneraciones, registros agropecuarios y pesqueros, además del Catálogo de Bienes y Servicios (CABYS). Cada sección incorpora casos de prueba y orientaciones técnicas para ayudar a los desarrolladores a implementar soluciones robustas y responsables.

En caso de consultas adicionales, reportes de incidencias o solicitudes de apoyo técnico relacionadas con el uso de esta API, le invitamos a comunicarse directamente con el equipo de soporte a través del correo electrónico: facturati@hacienda.go.cr.


1. EndPoints

https://api.hacienda.go.cr/fe/ae

Permite obtener el nombre, el tipo de identificación, el régimen, la situación tributaria y las actividades económicas asociadas a un contribuyente.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/fe/ae?identificacion=2100042005"
EJECUTAR

https://api.hacienda.go.cr/indicadores/tc/dolar

Permite obtener el tipo de cambio del dólar (compra/venta). No requiere parámetros.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/indicadores/tc/dolar"
EJECUTAR

https://api.hacienda.go.cr/indicadores/tc/dolar/historico

Permite obtener el histórico del tipo de cambio diario del dólar. Requiere parámetros d (desde) y h (hasta).

Ejemplo cURL:

curl "https://api.hacienda.go.cr/indicadores/tc/dolar/historico?d=2019-12-01&h=2019-12-09"

https://api.hacienda.go.cr/indicadores/tc/euro

Permite obtener el tipo de cambio del euro en dólares y colones. No requiere parámetros.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/indicadores/tc/euro"
EJECUTAR

https://api.hacienda.go.cr/indicadores/tc

Permite obtener tipo de cambio del dólar y euro en un solo recurso.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/indicadores/tc"
EJECUTAR

https://api.hacienda.go.cr/fe/ex

Permite obtener información de exoneración. Requiere el parámetro autorizacion en formato AL-XXXXXXXX-XX.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/fe/ex?autorizacion=al-00460853-20"
EJECUTAR

https://api.hacienda.go.cr/fe/agropecuario

Permite obtener información de productores agropecuarios del MAG.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/fe/agropecuario?identificacion=2100042005"

https://api.hacienda.go.cr/fe/pesca

Permite obtener datos de productores agropecuarios, INCOPESCA y acuicultores vinculados a pesca.

Ejemplo cURL:

curl "https://api.hacienda.go.cr/fe/pesca?identificacion=2100042005"

https://api.hacienda.go.cr/fe/cabys

Permite obtener información del Catálogo de Bienes y Servicios (CABYS).

curl "https://api.hacienda.go.cr/fe/cabys?q=jugo%20de%20tomate&top=2"
EJECUTAR
curl "https://api.hacienda.go.cr/fe/cabys?codigo=2132100000100"
EJECUTAR

2. Políticas de uso y límites

Con el propósito de asegurar la continuidad del servicio y la igualdad de acceso, se aplican límites de consumo que permiten regular la cantidad de consultas realizadas por los usuarios.

Tipo de límite Umbral configurado Equivalente en volumen Consecuencia
Burst (ráfagas cortas) 20 solicitudes/seg en 5 seg Máx. 100 en 5 seg Bloqueo de IP por 10 min
Promedio sostenido 10 solicitudes/seg en 120 seg Máx. 1200 en 2 min Bloqueo de IP por 10 min

3. Impacto de abusos y bloqueos

Las consultas excesivas o mal diseñadas pueden generar bloqueos automáticos, afectando tanto al consumidor de la API como a otros usuarios que comparten la misma red.

Causas comunes de bloqueos:

Escenarios de riesgo:

Recomendaciones para mitigar bloqueos:


4. Validación de parámetros

Cada endpoint exige parámetros específicos:

Códigos de error diferenciados:


5. Casos de prueba

En los siguientes ejemplos se utiliza la opción -i de cURL, la cual permite visualizar los encabezados HTTP junto con la respuesta. Esto facilita la verificación del código de estado devuelto por la API y asegura que las solicitudes estén siendo procesadas correctamente.

Endpoint Parámetro Caso curl HTTP Status JSON esperado
/fe/ae identificacion OK curl -i "https://api.hacienda.go.cr/fe/ae?identificacion=2100042005" 200 OK { "code":200, "status":"OK" }
/fe/ae identificacion Falta parámetro curl -i "https://api.hacienda.go.cr/fe/ae" 400 Bad Request { "code":400, "status":"Bad Request" }
/fe/ex autorizacion OK curl -i "https://api.hacienda.go.cr/fe/ex?autorizacion=al-00460853-20" 200 OK { "code":200, "status":"OK" }
/fe/ex autorizacion Formato incorrecto curl -i "https://api.hacienda.go.cr/fe/ex?autorizacion=AL-0460853-20" 400 Bad Request { "code":400, "status":"Bad Request" }
/fe/cabys codigo OK curl -i "https://api.hacienda.go.cr/fe/cabys?codigo=2132100000100" 200 OK { "code":200, "status":"OK" }
/fe/cabys q OK curl -i "https://api.hacienda.go.cr/fe/cabys?q=jugo%20de%20tomate" 200 OK { "code":200, "status":"OK" }
/fe/cabys codigo/q Falta parámetro curl -i "https://api.hacienda.go.cr/fe/cabys" 400 Bad Request { "code":400, "status":"Bad Request" }

6. Buenas prácticas de integración

Con el fin de garantizar la disponibilidad, estabilidad y equidad en el acceso a api.hacienda.go.cr, se han identificado patrones de consumo que exceden los límites razonables, especialmente en las consultas al estado de situación tributaria.

Si bien entendemos que algunos accesos provienen de entornos con IP compartidas (por CGNAT o arquitecturas en la nube), el principal factor de sobrecarga no está en la conectividad, sino en la lógica de integración implementada por cada desarrollador.

El monitoreo continuo realizado por el equipo técnico de la DTIC ha detectado consultas repetitivas en intervalos muy cortos que no responden a cambios reales en el estado tributario. En seguimiento al monitoreo constante del servicio, se recalcan las siguientes recomendaciones:


7. Consideraciones de red

Entendemos que en escenarios donde múltiples clientes comparten un mismo servidor o dirección IP (como ocurre en entornos de nube o con CGNAT), la concurrencia de solicitudes puede ser elevada.

Se aclaran algunos puntos importantes:

Toda la información publicada en esta documentación se ofrece con el objetivo de facilitar la integración tecnológica y garantizar el acceso equitativo a los servicios. En caso de dudas, comentarios o incidencias técnicas, le invitamos a comunicarse directamente con nuestro equipo de soporte a través del correo electrónico: facturati@hacienda.go.cr.