Colombia Company Registry API and MCP — NIT Lookup with Establishments (RUES)
Send a NIT, the Colombian tax ID, or a RUES link, and you get one company record from the Registro Mercantil: name, status, legal form, chamber of commerce, registration number (matrícula), registration and renewal dates, economic activity codes, legal representation and the establishments registered under the company.
- You send
- a NIT or a registry URL
- You get back
- Name, status, registration and renewal dates, activities, legal representation and establishments
- Coverage
- Colombia — entities on RUES (Registro Mercantil).
- Price
- 5 pts — $5 per 1,000
- Charged only when the record resolves. A lookup that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| RUES (Registro Mercantil) directly | Open RUES (Registro Mercantil) and read the record | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $5 per 1,000, misses not billed | Covers Colombia — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Always "co_company". |
company | string | The identifier you sent. |
company_id | string | The identifier as the register keys it. |
human | string | Readable Markdown summary of the record. |
machine.company | object | The company record, described below. |
machine.blocked | boolean | False when the register answered normally. |
machine.pages_opened | number | Register pages read for this record. |
machine.proxy_traffic_bytes | number | Data transferred for the run. |
total_points | number | Points charged: 5 for a resolved lookup. |
machine.company.registration_number | string | NIT with check digit. |
machine.company.name | string | Registered name. |
machine.company.status | string | Registration status, for example Activa. |
machine.company.address | null | Empty in the sample. |
machine.company.url | string | Link to the record on RUES. |
machine.company.company_type | string | Legal form, for example SOCIEDAD ANONIMA. |
machine.company.incorporation_date | string | Registration date, YYYY-MM-DD. |
machine.company.nit | string | NIT without the check digit. |
machine.company.check_digit | string | NIT check digit. |
machine.company.acronym | null | Empty in the sample. |
machine.company.chamber | string | Chamber of commerce where the company is registered. |
machine.company.matricula | string | Registration number at the chamber. |
machine.company.company_class | string | Class of registration, for example SOCIEDAD COMERCIAL. |
machine.company.registration_category | string | Registration category as published. |
machine.company.activity | string | Economic activities on one line. |
machine.company.activities | array | Activities as code and description pairs. |
machine.company.valid_until | string | Date until which the registration is valid. |
machine.company.last_renewal_date | string | Date of the last renewal. |
machine.company.last_renewed_year | string | Year last renewed. |
machine.company.cancellation_date | null | Cancellation date; null for an active company. |
machine.company.cancellation_reason | null | Cancellation reason; null for an active company. |
machine.company.updated_at | string | Date the record was last updated. |
machine.company.social_enterprise | boolean | Social-enterprise flag. |
machine.company.phone | null | Empty in the sample. |
machine.company.email | null | Empty in the sample. |
machine.company.legal_representation | string | Text describing who represents the company legally. |
machine.company.establishments | array | Establishments with name, category, chamber, matricula, registration_date, last_renewal, last_year_renewed and status. |
machine.company.establishments_total | number | Total establishments. |
machine.company.establishments_pages_total | null | Empty in the sample. |
machine.company.establishments_truncated | boolean | Whether the establishments list was cut. |
machine.company.legal_representation_truncated | boolean | Whether the legal representation text was cut. |
machine.company.chamber_code | string | Code of the chamber of commerce. |
machine.company.id_type | string | Type of identifier, NIT in the sample. |
machine.company.law_1780_benefit | null | Empty in the sample. |
machine.company.bic_company | null | Empty in the sample. |
machine.company.transport_indicator | null | Empty in the sample. |
machine.company.asset_forfeiture | null | Empty in the sample. |
machine.company.ciiu_rev3 | null | Empty in the sample. |
machine.company.ciiu_rev4 | null | Empty in the sample. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "co_company",
"company": "899999068-1",
"company_id": "899999068-1",
"human": "# Colombia — RUES — company\n\n- **Number:** 899999068-1\n- **Pages opened:** 1\n- **Proxy traffic:** 17.1 KB\n- **Name:** ECOPETROL S A\n- **Status:** Activa\n- **Type:** SOCIEDAD ANONIMA\n- **Registered:** 2003-07-18\n- **Activity:** 0610 Extracción de petróleo crudo; 0620 Extracción de gas natural",
"machine": {
"company": {
"registration_number": "899999068-1",
"name": "ECOPETROL S A",
"status": "Activa",
"address": null,
"url": "https://www.rues.org.co/buscar/RM/899999068",
"company_type": "SOCIEDAD ANONIMA",
"incorporation_date": "2003-07-18",
"nit": "899999068",
"check_digit": "1",
"acronym": null,
"chamber": "BOGOTA",
"matricula": "1291197",
"company_class": "SOCIEDAD COMERCIAL",
"registration_category": "SOCIEDAD ó PERSONA JURIDICA PRINCIPAL ó ESAL",
"activity": "0610 Extracción de petróleo crudo; 0620 Extracción de gas natural",
"activities": [
{
"code": "0610",
"description": "Extracción de petróleo crudo"
},
{
"code": "0620",
"description": "Extracción de gas natural"
}
],
"valid_until": "2103-07-07",
"last_renewal_date": "2026-03-30",
"last_renewed_year": "2026",
"cancellation_date": null,
"cancellation_reason": null,
"updated_at": "2026-09-21",
"social_enterprise": false,
"phone": null,
"email": null,
"legal_representation": "El presidente es el representante legal general de la sociedad, quien ejercerá la representación comercial y legal de Ecopetrol para todos los efectos y tendrá, al menos, dos (2) suplentes, quienes lo",
"establishments": [
{
"name": "LA TIENDA ECOPETROL",
"category": "ESTABLECIMIENTO DE COMERCIO",
"chamber": "BOGOTA",
"matricula": "2167505",
"registration_date": "2012-01-02",
"last_renewal": "2026-03-30",
"last_year_renewed": "2026",
"status": "Activa"
},
{
"name": "LA TIENDA ECOPETROL",
"category": "ESTABLECIMIENTO DE COMERCIO",
"chamber": "BOGOTA",
"matricula": "2456764",
"registration_date": "2014-05-22",
"last_renewal": "2026-03-30",
"last_year_renewed": "2026",
"status": "Activa"
}
],
"establishments_total": 4,
"establishments_pages_total": null,
"establishments_truncated": false,
"legal_representation_truncated": false,
"chamber_code": "04",
"id_type": "NIT",
"law_1780_benefit": null,
"bic_company": null,
"transport_indicator": null,
"asset_forfeiture": null,
"ciiu_rev3": null,
"ciiu_rev4": null
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 17464
},
"total_points": 5
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One company per request. Pass the registration number or the link to the record on the register.
curl -X POST https://api.neuralverge.ai/functions/v1/run-co-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"899999068-1"}'What teams use it for
Where this field shows up in an actual workflow.
Check that a NIT is active and when its registration was last renewed.
Read legal form, chamber and the legal representation text.
Use the establishments list to see the shops and branches registered under it.
Compare last_renewal_date and valid_until against today.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Colombia — entities on RUES (Registro Mercantil).
Read at request time, so the answer reflects the register as it stands when you ask.
RUES (Registro Mercantil) is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Address, phone and email were null in the sample.
- —Several flag and code fields (CIIU, benefit and transport indicators) came back null.
- —Long legal representation text and establishments lists can be truncated; the truncated flags tell you.
Questions, answered
The registration number a chamber of commerce assigns in the Registro Mercantil. It is returned with the chamber that issued it.
Related sources
Try colombia company on your own data
One request format across every source in the catalog.