Mexico โ Education Certificate (folio)
Validates a Mexican electronic education certificate by folio against the official education-certificate registry. Optionally send fullName or curp to confirm the certificate belongs to that person. When both are sent, curp wins. A mismatch returns 409 name_mismatch.
This checks the certificate record. It does not prove identity on its own. For a CURP civil record, see Mexican Citizen (CURP). For a professional license, see Professional License.
API referenceโ
Endpointโ
https://api.verifik.co/v2/mx/siged/certificado
A match returns folio, fullName, status, certificateType, career, institution, level, studyType, average, averageText, periodStart, periodEnd, registrationDate, laborTraining, federalEntity, and issueDate. Empty fields are null.
Headersโ
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parametersโ
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
folio | string | Yes | Folio printed on the electronic certificate. 4โ64 characters. | SIGED10000001 |
fullName | string | No | Expected full name. A mismatch returns 409 name_mismatch. Ignored when curp is also sent. 3โ160 characters. | Ana Lopez Ruiz |
curp | string | No | CURP of the person. When sent, it overrides fullName. 17โ18 characters. | LOPE900501HDFGRN01 |
Requestโ
- Node.js
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/mx/siged/certificado", {
params: {
folio: "SIGED10000001",
fullName: "Ana Lopez Ruiz",
},
headers: { Accept: "application/json", Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
});
console.log(data);
import os, requests
url = "https://api.verifik.co/v2/mx/siged/certificado"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"folio": "SIGED10000001", "fullName": "Ana Lopez Ruiz"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
To check the holder by CURP, send folio and curp and omit fullName.
Responseโ
- 200
- 404
- 409 (name)
- 409 (missing folio)
- 409 (unavailable)
{
"data": {
"average": "9.1",
"averageText": "NUEVE PUNTO UNO",
"career": "BACHILLERATO TECNOLOGICO",
"certificateType": "CERTIFICADO DE TERMINACION DE ESTUDIOS",
"federalEntity": null,
"firstName": "ANA",
"folio": "SIGED10000001",
"fullName": "ANA LOPEZ RUIZ",
"institution": "DIRECCION GENERAL DE EDUCACION TECNOLOGICA INDUSTRIAL",
"issueDate": null,
"laborTraining": "TECNICO - PROGRAMACION",
"lastName": "LOPEZ RUIZ",
"level": "IEMS",
"periodEnd": "2021",
"periodStart": "2018",
"registrationDate": "2021-07-15",
"status": "Vigente",
"studyType": "EDUCACION MEDIA SUPERIOR"
},
"signature": {
"dateTime": "October 20, 2026 12:00 PM",
"message": "Certified by Verifik.co"
}
}
{
"code": "NotFound",
"message": "Record not found"
}
{
"code": "Conflict",
"message": "name_mismatch"
}
{
"code": "MissingParameter",
"message": "\"folio\" is required"
}
{
"code": "Conflict",
"message": "Endpoint_out_of_service"
}
Notesโ
foliois required.fullNameandcurpare optional owner checks. When both are sent,curpis used andfullNameis ignored.- A folio that is not in the registry returns 404. A name or CURP that does not belong to that certificate returns 409
name_mismatch. - Results are cached for up to 7 days.
- Sandbox folio
SIGED10000001returns the sample certificate forANA LOPEZ RUIZ.fullName=Ana Lopez Ruizalso returns 200. fullName=Maria Perezon that folio returns 409name_mismatch.- Folio
FOLIO90040401returns 404. curp=LOPE900501HDFGRN01with anyfullNamereturns 200, because CURP wins.curp=LOPE900404HDFNTF01returns 404.- A missing
folioreturns 409MissingParameter. - When the registry cannot be reached, the response is 409
Endpoint_out_of_service. Retry later. - Related: Mexican Citizen (CURP), Professional License, Health Worker License.