Plataforma independiente para integración y consulta de datos públicos del padrón de contribuyentes de República Dominicana.
DGII API Cloud Platform
Documentación pública · v1

API de consulta RNC

Integra la validación de contribuyentes dominicanos en tu sistema en minutos. Autenticación por API Key, respuestas JSON estructuradas, rate limiting por plan.

GET /api/v1/rnc/130999991
{
  "success": true,
  "message": "Consulta procesada correctamente.",
  "error_code": null,
  "data": {
    "rnc": "130999991",
    "name": "EMPRESA DEMO SRL",
    "status": "ACTIVO",
    "regime": "NORMAL",
    "economic_activity": "SERVICIOS DE SOFTWARE",
    "operations_start_date": "2010-03-15"
  },
  "meta": {
    "requested_at": "2026-03-31T10:00:00",
    "monthly_quota": {
      "type": "limited",
      "limit": 1000,
      "used": 45,
      "remaining": 955
    }
  }
}
01

Autenticación

Cada solicitud debe incluir tu API Key en el header X-API-Key. La clave se genera desde tu panel de cliente después de elegir un plan.

Header requerido
X-API-Key: TU_API_KEY
Puedes generar hasta 5 API Keys activas por cuenta. La clave completa solo se muestra una vez al crearla o regenerarla.
02

Endpoint

Método GET
Ruta /api/v1/rnc/{rnc}
URL completa
https://api.tommypos.com/api/v1/rnc/130999991
Parámetro Tipo Requerido Descripción
rnc string RNC del contribuyente a consultar. Ej: 130999991
03

Ejemplos de integración

cURL
curl -X GET "https://api.tommypos.com/api/v1/rnc/130999991" \
  -H "Accept: application/json" \
  -H "X-API-Key: TU_API_KEY"
JavaScript
fetch("https://api.tommypos.com/api/v1/rnc/130999991", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "X-API-Key": "TU_API_KEY"
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));
PHP
<?php

$ch = curl_init("https://api.tommypos.com/api/v1/rnc/130999991");

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "X-API-Key: TU_API_KEY",
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Python
import requests

url = "https://api.tommypos.com/api/v1/rnc/130999991"
headers = {
    "Accept": "application/json",
    "X-API-Key": "TU_API_KEY"
}

response = requests.get(url, headers=headers)
print(response.json())
C# — HttpClient
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "TU_API_KEY");
client.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("application/json")
);

var response = await client.GetAsync("https://api.tommypos.com/api/v1/rnc/130999991");
var json = await response.Content.ReadAsStringAsync();

Console.WriteLine(json);
ASP.NET — IHttpClientFactory
// Program.cs — usando HttpClient con IHttpClientFactory

builder.Services.AddHttpClient("DgiiApi", client =>
{
    client.BaseAddress = new Uri("https://api.tommypos.com/api/v1/");
    client.DefaultRequestHeaders.Add("X-API-Key", "TU_API_KEY");
    client.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json")
    );
});

// En tu Controller o Service:
public class RncService
{
    private readonly IHttpClientFactory _factory;

    public RncService(IHttpClientFactory factory)
        => _factory = factory;

    public async Task<string> ConsultarRncAsync(string rnc)
    {
        var client = _factory.CreateClient("DgiiApi");
        var response = await client.GetAsync($"rnc/{rnc}");
        response.EnsureSuccessStatusCode();
        return await response.Content.ReadAsStringAsync();
    }
}
04

Estructura de respuesta

Todas las respuestas siguen una estructura JSON consistente con los campos success, message, error_code, data y meta.

✓ RNC encontrado — 200

JSON
{
  "success": true,
  "message": "Consulta procesada correctamente.",
  "error_code": null,
  "data": {
    "rnc": "130999991",
    "name": "EMPRESA DEMO SRL",
    "status": "ACTIVO",
    "regime": "NORMAL",
    "economic_activity": "SERVICIOS DE SOFTWARE",
    "operations_start_date": "2010-03-15"
  },
  "meta": {
    "requested_at": "2026-03-31T10:00:00",
    "monthly_quota": {
      "type": "limited",
      "limit": 1000,
      "used": 45,
      "remaining": 955
    }
  }
}

✕ RNC no encontrado — 404

JSON
{
  "success": false,
  "message": "RNC no encontrado.",
  "error_code": "RNC_NOT_FOUND",
  "data": null
}
Campo Tipo Descripción
rncstringRNC consultado
namestringRazón social del contribuyente
statusstringEstado fiscal (ACTIVO, SUSPENDIDO, etc.)
regimestringRégimen de pago
economic_activitystringActividad económica declarada
operations_start_datestringFecha de inicio de operaciones
05

Códigos de error

HTTP error_code Descripción
401UNAUTHORIZEDAPI Key ausente o inválida
401API_AUTH_RATE_LIMIT_EXCEEDEDDemasiados intentos de autenticación fallidos
403SUBSCRIPTION_NOT_USABLESin suscripción activa
403MONTHLY_QUOTA_EXCEEDEDCuota mensual agotada
404RNC_NOT_FOUNDRNC no existe en la base de datos
429RATE_LIMIT_EXCEEDEDLímite de requests por minuto excedido
06

Planes disponibles

Cada plan define tu cuota mensual de consultas y el límite de requests por minuto.

Gratis

US$ 0.00 /mes

  • 500 consultas/mes
  • 10 req/min
  • API Key incluida
Comenzar →

STARTER

US$ 10.00 /mes

  • 2,000 consultas/mes
  • 30 req/min
  • API Key incluida
Comenzar →

BUSINESS

US$ 30.00 /mes

  • 15,000 consultas/mes
  • 120 req/min
  • API Key incluida
Comenzar →

SCALE

US$ 79.00 /mes

  • 60,000 consultas/mes
  • 300 req/min
  • API Key incluida
Comenzar →