API Reference

Look up a company in the commerce registry

Return a company's Registro Público de Comercio records: general data, shareholders, and registered acts.

POST /v1/rfc/commerce-registry Beta
This endpoint is in beta. Its pricing may change soon, and we will announce any change before it takes effect.

Look up a company in the Registro Público de Comercio (SIGER) of the Secretaría de Economía. Returns each matching commercial folio (FME) with its general data, shareholders, and registered acts. Document files (act PDFs) are not included. Completes in roughly 20-60 seconds; passing the company name skips the SAT name lookup.

Use for supplier and customer due diligence, onboarding companies, or checking who the registered shareholders are and when the company was incorporated.

Request body

Field Type Required Description
rfc string Yes A company (persona moral) RFC, 12 characters.
name string No The company name to search. When omitted, the name SAT has registered for the RFC is used. Legal-entity suffixes are ignored.
webhook_url string No Lookups take 20-60 seconds. Pass an HTTPS URL to get a 202 right away and receive the result there instead of holding the connection open. See Webhooks.

How records are matched

The registry is searched by company name, not by RFC. A record matches when its name equals the searched name once punctuation, accents, and legal-entity suffixes (S.A. de C.V., S. de R.L. de C.V., SAPI, etc.) are ignored. When a record has an RFC on file that differs from the requested one, it is dropped. A company can have several folios, for example after moving its domicile to another registry office, so records is a list.

Supported states

The endpoint reads the registry of many states, but not all of them yet. Support for the remaining states is coming soon.

A record kept in a state that is not supported yet is returned with supported set to false and only its FME, name, and registry office filled in. When every matching record is in an unsupported state, the message says so and the request is not charged. Requests sent with webhook_url are charged when accepted, whatever the lookup finds.

Try it

POST /v1/rfc/commerce-registry
Try it

Sign in to send a real request from this page.

New accounts get a $5 USD signup credit, no card required.

Example request

curl bash
curl -X POST https://rfccheck.com/v1/rfc/commerce-registry \
  -H "x-api-key: rfc_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"rfc": "ACM180711AB1"}'

Response (200)

200 OK json
{
  "rfc": "ACM180711AB1",
  "found": true,
  "name": "ACME CONSULTORES",
  "message": "Records retrieved from the Registro Público de Comercio",
  "records": [
    {
      "fme": "N-2018056047",
      "name": "ACME CONSULTORES, SOCIEDAD ANONIMA PROMOTORA DE INVERSION DE CAPITAL VARIABLE",
      "supported": true,
      "person_type": "moral",
      "status": "Abierto",
      "registry_office": "Monterrey",
      "registered_at": "2018-07-11T09:28:43",
      "prior_registration": null,
      "legal_regime": "Sociedad Anónima Promotora de Inversión",
      "duration": "INDEFINIDA",
      "corporate_purpose": "1.- Prestación de servicios profesionales de consultoría...",
      "business_line": null,
      "nationality": "Mexicana",
      "domicile": "SAN PEDRO GARZA GARCIA",
      "municipality": "San Pedro Garza García",
      "state": "Nuevo León",
      "rfc": null,
      "curp": null,
      "shareholders": [
        {
          "status": "Activo",
          "nationality": "Mexicana",
          "name": "JUAN CARLOS",
          "first_surname": "URIBE",
          "second_surname": "OJEDA",
          "rfc": "UIOJ750110R13",
          "curp": "UIOJ750110HDFRRN09",
          "series": "A",
          "incorporation_date": null,
          "birth_date": null,
          "shares": 99,
          "total_value": "49500.00",
          "share_value": "500.00"
        }
      ],
      "acts": [
        {
          "form": "M4 - Constitución de Sociedad",
          "act": "Constitución de sociedad mercantil",
          "nci": "201800159512",
          "filed_at": "2018-07-11T09:28:43",
          "registered_at": "2018-07-11T09:28:43",
          "document_number": "12722",
          "modality": "Inscripción vía web inmediata"
        }
      ]
    }
  ]
}

found is true (at least one record matched), false (no record matched, or SAT has no name for the RFC), or null (SAT or the registry was unreachable, retry). Datetimes are Mexico City local time, as the registry records them.

200 OK — state not supported yet json
{
  "rfc": "ACM180711AB1",
  "found": true,
  "name": "ACME CONSULTORES",
  "message": "This company is registered in a state the API does not support yet (registry office: Ciudad de México). Support for more states is coming soon.",
  "records": [
    {
      "fme": "5229",
      "name": "ACME CONSULTORES, SOCIEDAD ANONIMA DE CAPITAL VARIABLE",
      "supported": false,
      "registry_office": "Ciudad de México",
      "status": null,
      "shareholders": [],
      "acts": []
    }
  ]
}

Individual (persona física) RFCs are rejected with 422 company_rfc_required: the registry lists individual merchants by personal name, which this endpoint does not search.