Colombia Company Search API and MCP — Registrations by Name in RUES
Send a name and get the matching RUES registrations: name, status, chamber of commerce, registration category, matrícula and a link to the record. NIT and acronym fields are included where the result lists them.
- You send
- a company name
- You get back
- Matching registrations with chamber of commerce, status and category
- Coverage
- Colombia — entities on RUES (Registro Mercantil).
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
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 | Type the name into RUES (Registro Mercantil) and read the results | 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 | $1 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_companies_search". |
keyword | string | The search text you sent. |
max_items | number | The cap you set on returned records. |
start_page | number | Page the results started from. |
partial | boolean | True if the run stopped before the cap was reached. |
human | string | Readable Markdown summary of the run. |
machine.total_items | number | Records returned in this response. |
machine.total_found | number | Matches the register reports for the search, which can be more than you asked for. |
machine.page_count | number | Result pages read. |
machine.blocked | boolean | False when the register answered normally. |
machine.proxy_traffic_bytes | number | Data transferred for the run. |
total_points | number | Points charged: one per returned record. |
machine.first_item.registration_number | string | Chamber and matrícula joined, for example Barrancabermeja:123127. |
machine.first_item.name | string | Registered name. |
machine.first_item.status | string | Registration status, for example Activa. |
machine.first_item.address | null | Empty in search results. |
machine.first_item.url | string | Link to the RUES search for the name. |
machine.first_item.company_type | string | Type of registration, for example Establecimiento de comercio. |
machine.first_item.incorporation_date | null | Empty in the sample. |
machine.first_item.nit | null | NIT where the result lists it; null for the establishments in the sample. |
machine.first_item.sigla | null | Acronym; null in the sample. |
machine.first_item.matricula | string | Registration number at the chamber. |
machine.first_item.chamber | string | Chamber of commerce. |
machine.first_item.registrations | array | Further registrations; empty in the sample. |
machine.items | array | Every returned record, each with the same keys as first_item. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "co_companies_search",
"keyword": "ecopetrol",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Colombia — RUES — company search\n\n- **Keyword:** ecopetrol\n- **Results:** 2 of 85 found\n- **Proxy traffic:** 810.4 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "Barrancabermeja:123127",
"name": "AGUA LA CASCADA MICROFILTRADA SAS (CENTRO DE ECOPETROL DOS)",
"status": "Activa",
"address": null,
"url": "https://www.rues.org.co/buscar/RM/AGUA%20LA%20CASCADA%20MICROFILTRADA%20SAS%20(CENTRO%20DE%20ECOPETROL%20DOS)",
"company_type": "Establecimiento de comercio",
"incorporation_date": null,
"nit": null,
"sigla": null,
"matricula": "123127",
"chamber": "Barrancabermeja",
"registrations": []
},
"items": [
{
"registration_number": "Barrancabermeja:123127",
"name": "AGUA LA CASCADA MICROFILTRADA SAS (CENTRO DE ECOPETROL DOS)",
"status": "Activa",
"address": null,
"url": "https://www.rues.org.co/buscar/RM/AGUA%20LA%20CASCADA%20MICROFILTRADA%20SAS%20(CENTRO%20DE%20ECOPETROL%20DOS)",
"company_type": "Establecimiento de comercio",
"incorporation_date": null,
"nit": null,
"sigla": null,
"matricula": "123127",
"chamber": "Barrancabermeja",
"registrations": []
},
{
"registration_number": "Barrancabermeja:133402",
"name": "AGUA LA CASCADA MICROFILTRADA SAS (CENTRO DE ECOPETROL UNO)",
"status": "Activa",
"address": null,
"url": "https://www.rues.org.co/buscar/RM/AGUA%20LA%20CASCADA%20MICROFILTRADA%20SAS%20(CENTRO%20DE%20ECOPETROL%20UNO)",
"company_type": "Establecimiento de comercio",
"incorporation_date": null,
"nit": null,
"sigla": null,
"matricula": "133402",
"chamber": "Barrancabermeja",
"registrations": []
}
],
"total_found": 85,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 829867
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-co-companies-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword":"ecopetrol","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Resolve a company name to its registration.
Separate shops registered under a name from the company itself.
See every registration that contains a brand name.
Match free-text names to RUES records.
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.
- —Results include establishments as well as companies, so filter on company_type.
- —NIT, address and incorporation date were null in the sample results.
- —Broad names match many registrations; check total_found.
Questions, answered
Results are registrations whose name matches the search. In the sample both were shops with the brand in their name. Search with the full legal name or look up the NIT directly.
Related sources
Try colombia company search on your own data
One request format across every source in the catalog.