Mexico Company Notice API and MCP — Registro Público de Comercio Publication Lookup
This source reads the company publications of the Registro Público de Comercio (PSM), not a classic company record. Send a publication number and you get that one notice: the company name, its legal form, the type, title and date of the publication, a link to the published text and a publication history.
- You send
- a publication number
- You get back
- One company notice with legal form, publication type, title, date, link and publication history
- Coverage
- Mexico — entities on PSM (Registro Público de Comercio publications).
- 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 |
|---|---|---|---|
| PSM (Registro Público de Comercio publications) directly | Open PSM (Registro Público de Comercio publications) 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 Mexico — 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 "mx_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 | Publication number, for example 2026-0000001606. |
machine.company.name | string | Company name as published. |
machine.company.status | null | Not part of a publication; null. |
machine.company.address | null | Not part of a publication; null. |
machine.company.url | null | Empty in the sample; see document_url. |
machine.company.company_type | string | Legal form, for example S.A.B. de C.V. |
machine.company.incorporation_date | null | Not part of a publication; null. |
machine.company.publication_type | string | Type of notice, for example Convocatoria para Asambleas Generales (call to general meetings). |
machine.company.publication_title | string | Title of the notice. |
machine.company.publication_number | string | Publication number. |
machine.company.publication_date | string | Publication date, YYYY-MM-DD. |
machine.company.document_url | string | Link to the published text on PSM. |
machine.company.history | array | Publication history, each with name, publication_type, publication_title, publication_number and date. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "mx_company",
"company": "2026-0000001606",
"company_id": "2026-0000001606",
"human": "# Mexico — PSM (Registro Público de Comercio publications) — company\n\n- **Number:** 2026-0000001606\n- **Pages opened:** 1\n- **Proxy traffic:** 12.6 KB\n- **Name:** Cemex, S.A.B. de C.V.\n- **Type:** S.A.B. de C.V.",
"machine": {
"company": {
"registration_number": "2026-0000001606",
"name": "Cemex, S.A.B. de C.V.",
"status": null,
"address": null,
"url": null,
"company_type": "S.A.B. de C.V.",
"incorporation_date": null,
"publication_type": "Convocatoria para Asambleas Generales",
"publication_title": "Convocatoria a la Asamblea General Ordinaria de Accionistas",
"publication_number": "2026-0000001606",
"publication_date": "2026-02-06",
"document_url": "https://psm.economia.gob.mx/PSM/ServletMain?id_pub=381751",
"history": [
{
"name": "Cemex, S.A.B. de C.V.",
"publication_type": "Convocatoria para Asambleas Generales",
"publication_title": "Convocatoria a la Asamblea General Ordinaria de Accionistas",
"publication_number": "2026-0000001606",
"date": "2026-02-06"
}
]
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 12865
},
"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-mx-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"2026-0000001606"}'What teams use it for
Where this field shows up in an actual workflow.
Read the type, title and date of an assembly notice.
Follow publications by listed companies and subsidiaries.
Read the legal form (S.A. de C.V., S.A.B. de C.V. and so on) as published.
Use document_url to open the published text.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Mexico — entities on PSM (Registro Público de Comercio publications).
Read at request time, so the answer reflects the register as it stands when you ask.
PSM (Registro Público de Comercio publications) is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —The source is publications, not a company file: no address, status or incorporation date.
- —One notice per lookup; use Mexico company publications for the list.
- —The history array in the sample holds one entry.
Questions, answered
No. It is a notice from the Registro Público de Comercio publications, so it describes a publication and the company that issued it.
Related sources
Try mexico company on your own data
One request format across every source in the catalog.