1. Introducción
La API Pública de Consulta de Casos Judiciales es un servicio web que permite a usuarios y aplicaciones consultar información sobre los trámites de los casos judiciales de la República Dominicana.
Características Principales
No requiere autenticación ni registro
Por NUC o por Número de Solicitud
Respuestas en formato JSON para fácil integración
¿Qué información puedo consultar?
- Número Único de Caso (NUC): Identificador único del caso
- Número de trámite y solicitud: Referencias del proceso
- Asunto del caso: Descripción del tema judicial
- Materia legal: Tipo de materia (Civil, Penal, Laboral, etc.)
- Tribunal y sala asignados: Información de la jurisdicción
- Fecha del trámite: Registro temporal
- Estado actual: Situación del proceso
- Resultado de audiencias: Si aplica al caso
2. Requisitos Previos
Para utilizar esta API, necesitará:
Requisitos Técnicos
- Conexión a Internet: Para realizar las peticiones HTTP
- Cliente HTTP: Puede usar:
- Navegador web (para pruebas simples)
- Herramientas como Postman, Insomnia o cURL
- Código en cualquier lenguaje de programación (JavaScript, Python, C#, etc.)
- Datos de consulta: NUC o Número de Solicitud válido
Conocimientos Recomendados
- Conceptos básicos de APIs REST
- Formato JSON
- Códigos de estado HTTP
- Manejo de peticiones asíncronas
3. URL Base de la API
Ejemplo de URL completa
https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorNuc?Nuc=123-2024-00456
4. Autenticación
Puede realizar consultas directamente sin necesidad de tokens, API keys o credenciales.
5. Límites de Uso
Para garantizar la disponibilidad del servicio, se aplican las siguientes restricciones:
Límite de Peticiones (Rate Limiting)
| Parámetro | Valor |
|---|---|
| Peticiones permitidas | 100 por minuto |
| Identificación | Por dirección IP |
| Período | Ventana deslizante de 1 minuto |
| Código de respuesta al exceder | 429 Too Many Requests |
¿Qué sucede si excedo el límite?
Si realiza más de 100 peticiones en un minuto, recibirá la siguiente respuesta:
{
"error": "Peticiones excedidas",
"message": "Ha excedido la cantidad de peticiones. Intente de nuevo en 1 minuto."
}
Recomendaciones
- Implemente lógica de reintento con retroceso exponencial
- Distribuya sus peticiones a lo largo del tiempo
- Cache los resultados cuando sea posible
- Monitoree sus patrones de uso
- Espere al menos 1 minuto antes de realizar nuevas peticiones si recibe un error 429
6. Endpoints Disponibles
6.1 Consulta por Número Único de Caso (NUC)
Este endpoint permite obtener todos los trámites asociados a un Número Único de Caso.
ObtenerDatosPorNuc
Consulta todos los trámites asociados a un NUC específico.
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
Nuc |
string | Sí | Número Único de Caso a consultar |
Respuesta Exitosa 200 OK
{
"message": "Resultados para el caso: 123-2024-00456",
"data": [
{
"nuc": "123-2024-00456",
"numeroTramite": "TR-001",
"numeroSolicitud": "SOL-2024-001",
"asunto": "Demanda Civil",
"materia": "Civil",
"tribunal": "Tribunal Superior de Justicia",
"sala": "Sala Civil 1",
"fecha": "2024-01-15",
"estado": "En proceso",
"referencia": "REF-123",
"resultadoAudiencia": null
}
]
}
Respuesta Sin Resultados 200 OK
{
"message": "No se encontraron resultados para el caso: 123-2024-00456",
"data": []
}
Respuesta de Error 400 Bad Request
{
"message": "Debe verificar el 'Nuc' suministrado."
}
6.2 Consulta por Número de Solicitud
Este endpoint permite obtener un trámite específico mediante su número de solicitud.
ObtenerDatosPorSolicitud
Consulta un trámite específico mediante su número de solicitud.
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
NroSolicitud |
string | Sí | Número de solicitud del trámite |
Respuesta Exitosa 200 OK
{
"message": "Resultados para la solicitud: SOL-2024-001",
"data": {
"nuc": "123-2024-00456",
"numeroTramite": "TR-001",
"numeroSolicitud": "SOL-2024-001",
"asunto": "Demanda Civil",
"materia": "Civil",
"tribunal": "Tribunal Superior de Justicia",
"sala": "Sala Civil 1",
"fecha": "2024-01-15",
"estado": "En proceso",
"referencia": "REF-123",
"resultadoAudiencia": null
}
}
Respuesta Sin Resultados 404 Not Found
{
"message": "No se encontraron resultados con el número suministrado: SOL-2024-001",
"data": {}
}
Respuesta de Error 400 Bad Request
{
"message": "Debe verificar el Número de Solicitud suministrado."
}
7. Estructura de Respuestas
Estructura General
Todas las respuestas de la API siguen esta estructura:
{
"message": "Descripción del resultado",
"data": {objeto o array de datos}
}
Campos del Objeto de Trámite
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
nuc |
string | Número Único de Caso | "123-2024-00456" |
numeroTramite |
string | Identificador del trámite | "TR-001" |
numeroSolicitud |
string | Número de solicitud asociada | "SOL-2024-001" |
asunto |
string | Descripción del asunto judicial | "Demanda Civil" |
materia |
string | Tipo de materia legal | "Civil", "Penal", "Laboral" |
tribunal |
string | Tribunal asignado al caso | "Tribunal Superior de Justicia" |
sala |
string | Sala judicial específica | "Sala Civil 1" |
fecha |
string | Fecha de recepción del trámite | "2024-01-15" |
estado |
string | Estado actual del trámite | "En proceso", "Realizada" |
referencia |
string | Información de referencia adicional | "REF-123" |
resultadoAudiencia |
string | Resultado de audiencia (si aplica) | "Aceptada", "Rechazada", null |
8. Códigos de Estado HTTP
La API utiliza los siguientes códigos de estado HTTP estándar:
| Código | Descripción | Situación |
|---|---|---|
| 200 OK | Solicitud exitosa | Petición procesada correctamente |
| 400 | Bad Request | Parámetros faltantes o inválidos |
| 404 | Not Found | No se encontraron resultados |
| 429 | Too Many Requests | Límite de peticiones excedido |
| 500 | Internal Server Error | Error del servidor |
9. Ejemplos de Uso
Ejemplo 1: Consulta con cURL
Consulta por NUC
curl -X GET "https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorNuc?Nuc=2024-0087812"
Consulta por Número de Solicitud
curl -X GET "https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorSolicitud?NroSolicitud=2024-R0434917"
Ejemplo 2: Consulta con JavaScript (Fetch API)
// Consulta por NUC
async function consultarPorNuc(nuc) {
try {
const response = await fetch(
`https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorNuc?Nuc=${nuc}`
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log('Resultados:', data);
return data;
} catch (error) {
console.error('Error:', error);
}
}
// Consulta por Número de Solicitud
async function consultarPorSolicitud(numeroSolicitud) {
try {
const response = await fetch(
`https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorSolicitud?NroSolicitud=${numeroSolicitud}`
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log('Resultados:', data);
return data;
} catch (error) {
console.error('Error:', error);
}
}
// Uso
consultarPorNuc('123-2024-00456');
consultarPorSolicitud('SOL-2024-001');
Ejemplo 3: Consulta con Python (Requests)
import requests
def consultar_por_nuc(nuc):
url = f"https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorNuc"
params = {"Nuc": nuc}
try:
response = requests.get(url, params=params)
response.raise_for_status()
data = response.json()
print("Resultados:", data)
return data
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
def consultar_por_solicitud(numero_solicitud):
url = f"https://api.poderjudicial.gob.do/Casos/Tramite/ObtenerDatosPorSolicitud"
params = {"NroSolicitud": numero_solicitud}
try:
response = requests.get(url, params=params)
response.raise_for_status()
data = response.json()
print("Resultados:", data)
return data
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
# Uso
consultar_por_nuc("123-2024-00456")
consultar_por_solicitud("SOL-2024-001")
Ejemplo 4: Consulta con C# (.NET)
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class ApiCliente
{
private static readonly HttpClient client = new HttpClient();
private const string UrlBase = "https://api.poderjudicial.gob.do/Casos";
public static async Task ConsultarPorNuc(string nuc)
{
try
{
string url = $"{UrlBase}/Tramite/ObtenerDatosPorNuc?Nuc={nuc}";
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(responseBody);
Console.WriteLine("Resultados:");
Console.WriteLine(JsonConvert.SerializeObject(data, Formatting.Indented));
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
public static async Task ConsultarPorSolicitud(string numeroSolicitud)
{
try
{
string url = $"{UrlBase}/Tramite/ObtenerDatosPorSolicitud?NroSolicitud={numeroSolicitud}";
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(responseBody);
Console.WriteLine("Resultados:");
Console.WriteLine(JsonConvert.SerializeObject(data, Formatting.Indented));
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
// Uso
await ApiCliente.ConsultarPorNuc("2024-0087812");
await ApiCliente.ConsultarPorSolicitud("2024-R0434917");
10. Manejo de Errores
Error 400 - Bad Request
Parámetros Inválidos
Causa: Falta el parámetro requerido o está vacío.
Solución: Verifique que está enviando el parámetro correcto (Nuc o NroSolicitud) y que no está vacío.
{
"message": "Debe verificar el 'Nuc' suministrado."
}
Error 404 - Not Found
Sin Resultados
Causa: No se encontró información con el número de solicitud proporcionado.
Solución: Verifique que el número de solicitud sea correcto y exista en el sistema.
{
"message": "No se encontraron resultados con el número suministrado: SOL-2024-001",
"data": {}
}
Error 429 - Too Many Requests
Límite de Peticiones Excedido
Causa: Ha excedido el límite de 100 peticiones por minuto.
Solución: Espere 1 minuto antes de realizar nuevas peticiones. Considere implementar un mecanismo de reintentos con espera.
{
"error": "Peticiones excedidas",
"message": "Ha excedido la cantidad de peticiones. Intente de nuevo en 1 minuto."
}
Error 500 - Internal Server Error
Error del Servidor
Causa: Error interno del servidor.
Solución: Intente nuevamente más tarde. Si el problema persiste, contacte con soporte técnico.




