Mexico โ Professional License
Confirms that a person holds a professional license (cรฉdula profesional) in the official professional registry. This is credential verification, not identity proofing.
Send either a document or a name:
- CURP (recommended). The registry is checked for licenses tied to that CURP first.
- License number. An exact match on the cรฉdula number.
- Name. An exact, accent-insensitive match on given names plus both surnames.
A person can hold several licenses, so cedulas is an array. For the CURP holderโs civil record, see Mexican Citizen (CURP). For a voter credential, see INE Validation. For health-only licenses, see Health Worker License.
API referenceโ
Endpointโ
https://api.verifik.co/v2/mx/cedula-profesional
A match returns fullName, matchMethod, ambiguous, and cedulas[] with licenseNumber, title, profession, institution, and registrationYear.
Headersโ
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parametersโ
Send documentType + documentNumber, or firstName + lastName. Do not mix the two modes.
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
documentType | string | Document mode | CURP or CEDULA (case-insensitive). | CURP |
documentNumber | string | With documentType | A CURP of 17โ18 characters (uppercased automatically) or a license number. | LOPE900501HDFGRN01 |
firstName | string | Name mode | Given names. 2โ80 characters. | ANA |
lastName | string | Name mode | Both surnames, paternal first. 2โ80 characters. | LOPEZ RUIZ |
How matching worksโ
- CURP. Licenses tied to that CURP are returned first (
matchMethod: "curp"). If none are tied directly, Verifik resolves the CURP holderโs official name and searches for an exact full-name match. That step costs nothing extra (matchMethod: "curp_to_name", withmatchNote). Rows that carry the same CURP win. Otherwise, rows without a CURP that match the exact name are returned. ambiguous: truemeans those rows belong to more than one institution and registration-year group, so a homonym is possible. Review the rows or ask for the license number.- CEDULA. An exact license-number match (
matchMethod: "license"). - Name. An exact accent- and case-insensitive full-name match (
matchMethod: "name").ambiguoususes the same institution/year rule. Prefer CURP.
Requestโ
- Node.js
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/mx/cedula-profesional", {
params: {
documentType: "CURP",
documentNumber: "LOPE900501HDFGRN01",
},
headers: { Accept: "application/json", Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
});
console.log(data);
import os, requests
url = "https://api.verifik.co/v2/mx/cedula-profesional"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentType": "CURP", "documentNumber": "LOPE900501HDFGRN01"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
Name mode uses firstName=ANA and lastName=LOPEZ RUIZ and omits documentType and documentNumber.
Responseโ
- 200 (CURP)
- 200 (name fallback)
- 404
- 409
- 409 (unavailable)
{
"data": {
"ambiguous": false,
"arrayName": ["ANA", "LOPEZ", "RUIZ"],
"cedulas": [
{
"curp": "LOPE900501HDFGRN01",
"firstName": "ANA",
"fullName": "ANA LOPEZ RUIZ",
"gender": "MUJER",
"institution": "UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO",
"lastName": "LOPEZ RUIZ",
"licenseNumber": "10050101",
"licenseType": "C1",
"profession": "LICENCIATURA COMO MEDICO CIRUJANO",
"registrationYear": 2019,
"title": "LICENCIATURA COMO MEDICO CIRUJANO"
},
{
"curp": "LOPE900501HDFGRN01",
"firstName": "ANA",
"fullName": "ANA LOPEZ RUIZ",
"gender": "MUJER",
"institution": "UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO",
"lastName": "LOPEZ RUIZ",
"licenseNumber": "20050101",
"licenseType": "C1",
"profession": "LICENCIATURA EN DERECHO",
"registrationYear": 2019,
"title": "LICENCIATURA EN DERECHO"
}
],
"curp": "LOPE900501HDFGRN01",
"documentNumber": "LOPE900501HDFGRN01",
"documentType": "CURP",
"firstName": "ANA",
"fullName": "ANA LOPEZ RUIZ",
"lastName": "LOPEZ RUIZ",
"matchMethod": "curp",
"matchNote": null
},
"signature": {
"dateTime": "October 20, 2026 12:00 PM",
"message": "Certified by Verifik.co"
}
}
{
"data": {
"ambiguous": false,
"arrayName": ["ANA", "LOPEZ", "RUIZ"],
"cedulas": [
{
"curp": null,
"firstName": "ANA",
"fullName": "ANA LOPEZ RUIZ",
"gender": "MUJER",
"institution": "UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO",
"lastName": "LOPEZ RUIZ",
"licenseNumber": "10000031",
"licenseType": "C1",
"profession": "LICENCIATURA COMO MEDICO CIRUJANO",
"registrationYear": 2019,
"title": "LICENCIATURA COMO MEDICO CIRUJANO"
}
],
"curp": "LOPE000003MDFRRN03",
"documentNumber": "LOPE000003MDFRRN03",
"documentType": "CURP",
"firstName": "ANA",
"fullName": "ANA LOPEZ RUIZ",
"lastName": "LOPEZ RUIZ",
"matchMethod": "curp_to_name",
"matchNote": "Matched by name after CURP resolution; the registry had no direct CURP hit."
},
"signature": {
"dateTime": "October 20, 2026 12:00 PM",
"message": "Certified by Verifik.co"
}
}
{
"code": "NotFound",
"message": "Record not found"
}
{
"code": "MissingParameter",
"message": "documentType and documentNumber, or firstName and lastName, are required"
}
{
"code": "Conflict",
"message": "Endpoint_out_of_service"
}
Notesโ
- A valid CURP whose holder has no license returns 404, including in sandbox. An empty
cedulasarray is not a success response. ambiguous: truemeans the rows span more than one institution and registration year. Review them or look up the license number.- Results are cached for up to 7 days, so a repeat lookup is fast.
- Sandbox persona
ANA LOPEZ RUIZ. Any CURP except the triggers below returns a direct match with two licenses. - A CURP containing
000003(for exampleLOPE000003MDFRRN03) returnsmatchMethod: "curp_to_name"andcedulas[].curp: null. - A CURP containing
000002(for exampleLOPE000002MDFRRN02) returns 404 (valid CURP, no license). - CURP
LOPE900404HDFNTF01, license90040401, orlastName=NOTFOUNDreturns 404. documentType=CEDULAanddocumentNumber=10000001returns one law license.firstName=ANAandlastName=AMBIGUAreturnsambiguous: true.- A CURP shorter than 17 or longer than 18 characters, or an invalid
documentType, returns 409MissingParameter. - When the registry cannot be reached, the response is 409
Endpoint_out_of_service. Retry later. - Related: Mexican Citizen (CURP), INE Validation, Health Worker License, Education Certificate (folio).