# Dominican RNC / Tax ID Lookup 🇩🇴 (DGII) (`edmartinez/dominican-rnc-lookup`) Actor

Full DGII registry: 771,000+ Dominican Republic taxpayers. Look up by RNC, company name, or economic activity. Bulk validate up to 500 tax IDs. Covers all statuses: active, suspended, deregistered. For KYC, compliance, and invoicing.

- **URL**: https://apify.com/edmartinez/dominican-rnc-lookup.md
- **Developed by:** [Edwin Martinez L.](https://apify.com/edmartinez) (community)
- **Categories:** Business, Lead generation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Dominican RNC / Tax ID Lookup 🇩🇴 — Full DGII Registry

Instantly verify any Dominican Republic taxpayer — individuals and businesses — against the official **DGII** (*Dirección General de Impuestos Internos*) registry.

Current database: **771,000+ taxpayers** (updated April 2026). Covers **all statuses**: active, suspended, deregistered, temporarily ceased, annulled, and rejected.

> **Why this matters:** In the Dominican Republic, every fiscal invoice (*comprobante fiscal*) requires a valid RNC. Invalid or suspended RNCs mean rejected invoices, DGII penalties, and compliance risk.

---

### What you get

| Field | Description | Example |
|---|---|---|
| `rnc` | Tax ID number (RNC / Cédula) | `101897686` |
| `name` | Legal name (as registered with DGII) | `EL CONUCO S R L` |
| `trade_name` | Commercial / trade name | `EL CONUCO` |
| `economic_activity` | DGII economic activity classification | `SERVICIOS DE EXPENDIO DE COMID` |
| `registration_date` | Date registered with DGII | `24/01/2003` |
| `status` | Current tax status | `ACTIVO` / `SUSPENDIDO` / `DADO DE BAJA` |
| `regime` | Tax regime | `NORMAL` / `RST` / `PST` |

---

### Search modes

#### 1. RNC Lookup (exact match)
Enter a single RNC and get the full record instantly. Perfect for:
- Verifying a supplier or customer's tax status before doing business
- Checking if a company is active with DGII
- KYC / compliance checks
- Validating fiscal invoices (*comprobantes fiscales NCF*)

#### 2. Name Search
Search by company or person name (case-insensitive, prefix match). Searches both legal name and trade name. Ideal for:
- Finding a company's RNC when you only know the name
- Discovering all businesses registered under a person's name
- Market research by company name
- Competitor identification in a specific sector

#### 3. Bulk Validate
Paste up to 500 RNCs (comma-separated) and get validation results for each. Each result includes a `valid` boolean flag. Perfect for:
- Cleaning CRM databases
- Validating supplier and vendor lists
- Bulk compliance checks before invoicing
- ERP data migration and cleanup

#### 4. Browse
Filter the entire registry by status, regime, or economic activity. Great for:
- Finding all active pharmacies, restaurants, or construction companies
- Listing all businesses under RST (Régimen Simplificado de Tributación)
- Sector analysis and market sizing
- Lead generation by industry

---

### Output example

#### RNC Lookup
```json
{
  "rnc": "101897686",
  "name": "EL CONUCO S R L",
  "trade_name": "EL CONUCO",
  "economic_activity": "SERVICIOS DE EXPENDIO DE COMID",
  "registration_date": "24/01/2003",
  "status": "ACTIVO",
  "regime": "NORMAL"
}
````

#### Bulk Validate

```json
[
  { "rnc": "101897686", "valid": true,  "name": "EL CONUCO S R L", "status": "ACTIVO" },
  { "rnc": "999999999", "valid": false, "name": null, "status": null }
]
```

***

### Registry statistics

| Status | Count |
|---|---|
| ACTIVO (Active) | 362,397 |
| SUSPENDIDO (Suspended) | 323,459 |
| DADO DE BAJA (Deregistered) | 74,382 |
| CESE TEMPORAL (Temporarily Ceased) | 9,992 |
| ANULADO (Annulled) | 1,228 |
| RECHAZADO (Rejected) | 279 |
| **Total** | **771,737** |

***

### Use cases

- **Accounts Payable / Receivable** — Verify RNC before issuing or accepting fiscal invoices (*comprobantes fiscales*)
- **Compliance & KYC** — Check that business partners are active taxpayers
- **CRM Enrichment** — Bulk-validate RNCs in your customer database
- **ERP Integration** — Automate RNC validation in SAP, Oracle, or custom systems
- **Market Research** — Quantify businesses by economic activity, status, or regime
- **Lead Generation** — Filter active businesses by sector (restaurants, pharmacies, construction, etc.)
- **Due Diligence** — Verify company registration dates and current status
- **Auditing** — Cross-reference vendor lists against DGII for tax compliance

***

### Frequently asked questions

**What is an RNC?**
RNC (*Registro Nacional de Contribuyentes*) is the tax identification number assigned by DGII to every taxpayer in the Dominican Republic. Businesses use a 9-digit RNC; individuals use their 11-digit cédula.

**How often is the data updated?**
The registry is updated regularly from the official DGII *Padrón de Contribuyentes*. Current data: April 2026.

**Can I validate comprobantes fiscales (NCF)?**
This actor validates the RNC (taxpayer ID). For NCF sequence validation, you need the DGII e-CF portal. However, step 1 of any NCF validation is confirming the RNC is active — which is exactly what this actor does.

**What's the difference between ACTIVO and SUSPENDIDO?**

- **ACTIVO**: taxpayer is current with DGII obligations
- **SUSPENDIDO**: taxpayer has been suspended (usually for non-compliance). They cannot issue fiscal invoices until reinstated
- **DADO DE BAJA**: permanently deregistered
- **CESE TEMPORAL**: temporarily ceased operations (can reactivate)

**Does this work for both companies (SRL, SAS, SA) and individuals (persona física)?**
Yes. The registry includes all taxpayer types: SRL, SAS, SA, EIRL, cooperatives, NGOs, and individuals (*persona física*).

***

### Data source

All data comes from the official **DGII Padrón de Contribuyentes** (taxpayer registry) of the Dominican Republic. This is public data made accessible and searchable via API.

***

### Pricing

Pay-per-result: **$0.005 per record** returned.

| Operation | Typical results | Cost |
|---|---|---|
| RNC lookup | 1 | $0.005 |
| Name search (10 results) | 10 | $0.05 |
| Bulk validate (200 RNCs) | 200 | $1.00 |
| Browse (100 results) | 100 | $0.50 |

***

### Related Actors

- [Dominican Republic Business Directory](https://apify.com/edmartinez/dominican-business-directory) — Verified business profiles with GPS, contacts, social media, and market intelligence

***

*Built by [edmartinez](https://apify.com/edmartinez) · Data updated April 2026 · Santo Domingo, Dominican Republic 🇩🇴*

# Actor input Schema

## `search_mode` (type: `string`):

How to search the registry.

## `rnc` (type: `string`):

The RNC (tax ID) to look up. For bulk validation, enter multiple RNCs separated by commas.

## `query` (type: `string`):

Search by legal name or trade name. Case-insensitive, partial match supported.

## `status` (type: `string`):

Filter results by DGII status.

## `regime` (type: `string`):

Filter by tax regime.

## `economic_activity` (type: `string`):

Filter by economic activity keyword (e.g., 'RESTAURANTE', 'INMOBILIARIA', 'FARMACIA').

## `limit` (type: `integer`):

Maximum number of results to return (1-1000).

## Actor input object example

```json
{
  "search_mode": "rnc_lookup",
  "rnc": "101897686",
  "query": "EL CONUCO",
  "status": "",
  "regime": "",
  "limit": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("edmartinez/dominican-rnc-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("edmartinez/dominican-rnc-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call edmartinez/dominican-rnc-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=edmartinez/dominican-rnc-lookup",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Dominican RNC / Tax ID Lookup 🇩🇴 (DGII)",
        "description": "Full DGII registry: 771,000+ Dominican Republic taxpayers. Look up by RNC, company name, or economic activity. Bulk validate up to 500 tax IDs. Covers all statuses: active, suspended, deregistered. For KYC, compliance, and invoicing.",
        "version": "0.1",
        "x-build-id": "fm1aavhvxdLYmtUWc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/edmartinez~dominican-rnc-lookup/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-edmartinez-dominican-rnc-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/edmartinez~dominican-rnc-lookup/runs": {
            "post": {
                "operationId": "runs-sync-edmartinez-dominican-rnc-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/edmartinez~dominican-rnc-lookup/run-sync": {
            "post": {
                "operationId": "run-sync-edmartinez-dominican-rnc-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "search_mode"
                ],
                "properties": {
                    "search_mode": {
                        "title": "Search Mode",
                        "enum": [
                            "rnc_lookup",
                            "name_search",
                            "bulk_validate",
                            "browse"
                        ],
                        "type": "string",
                        "description": "How to search the registry.",
                        "default": "rnc_lookup"
                    },
                    "rnc": {
                        "title": "RNC Number",
                        "type": "string",
                        "description": "The RNC (tax ID) to look up. For bulk validation, enter multiple RNCs separated by commas."
                    },
                    "query": {
                        "title": "Company / Person Name",
                        "type": "string",
                        "description": "Search by legal name or trade name. Case-insensitive, partial match supported."
                    },
                    "status": {
                        "title": "Status Filter",
                        "enum": [
                            "",
                            "ACTIVO",
                            "SUSPENDIDO",
                            "DADO DE BAJA",
                            "CESE TEMPORAL",
                            "ANULADO",
                            "RECHAZADO"
                        ],
                        "type": "string",
                        "description": "Filter results by DGII status.",
                        "default": ""
                    },
                    "regime": {
                        "title": "Tax Regime Filter",
                        "enum": [
                            "",
                            "NORMAL",
                            "RST",
                            "PST"
                        ],
                        "type": "string",
                        "description": "Filter by tax regime.",
                        "default": ""
                    },
                    "economic_activity": {
                        "title": "Economic Activity",
                        "type": "string",
                        "description": "Filter by economic activity keyword (e.g., 'RESTAURANTE', 'INMOBILIARIA', 'FARMACIA')."
                    },
                    "limit": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of results to return (1-1000).",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
