Validate Colombian national identity cards in real time with access to official sources. API for identity verification, KYC compliance, and fraud prevention.

Colombia is the only country that offers this type of document to identify its citizens.




We automatically extract the visible data from the document.

Automate and verify information in real time.

We detect edits, montages, manipulated or inconsistent documents.

Biometric confirmation to ensure the person is real.

Ideal for companies that require mass onboarding or validation flows.
Short answer: To verify a Colombian ID with Verifik's API, send GET /v2/co/cedula with documentType (CC or PPT), the number and your Bearer token. You get the full name and a timestamped signature. To confirm the ID is valid at the Registraduría, use the certificate lookup with the issue date. Updated: November 2026.
The lookup uses GET https://api.verifik.co/v2/co/cedula with Authorization: Bearer authentication. The full reference is in the Colombia identity documentation.
| Parameter | Type | Values |
|---|---|---|
documentType | string | CC (citizenship card) or PPT (Temporary Protection Permit) |
documentNumber | string | Document number, no dots or spaces |
curl -G "https://api.verifik.co/v2/co/cedula" \
-H "Accept: application/json" \
-H "Authorization: Bearer $VERIFIK_TOKEN" \
--data-urlencode "documentType=CC" \
--data-urlencode "documentNumber=123456789"import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/co/cedula", {
params: { documentType: "CC", documentNumber: "123456789" },
headers: {
Accept: "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
});
console.log(data.data.fullName);{
"data": {
"arrayName": [
"JUAN",
"CARLOS",
"PEREZ",
"GOMEZ"
],
"documentNumber": "123456789",
"documentType": "CC",
"firstName": "JUAN CARLOS",
"fullName": "JUAN CARLOS PEREZ GOMEZ",
"lastName": "PEREZ GOMEZ"
},
"signature": {
"dateTime": "November 3, 2026 9:15 AM",
"message": "Certified by Verifik.co"
},
"id": "CC01A"
}| Field | What it holds |
|---|---|
fullName | Holder's full name |
firstName, lastName | First and last names |
arrayName | Each name as an item in a list |
signature | Verifik signature with the date and time of the lookup |
id | Lookup ID for your audit trail |
With GET /v2/co/registraduria/certificado you send the number and the issue date (DD/MM/YYYY). The novedad field shows the status (for example, VIGENTE) and pdfBase64 carries the certificate (documentation).
import os, requests
url = "https://api.verifik.co/v2/co/registraduria/certificado"
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
params = {"documentNumber": "123456789", "date": "10/10/2020"}
r = requests.get(url, headers=headers, params=params)
print(r.status_code, r.json())
{
"data": {
"codigoVerificacion": "ABC123XYZ",
"novedad": "VIGENTE",
"pdfBase64": "JVBERi0xLjQK...",
"documento": {
"cedula": "123456789",
"fechaExpedicion": "10/10/2020",
"lugarExpedicion": "BOGOTA D.C.",
"nombre": "JUAN CARLOS PEREZ GOMEZ"
}
},
"signature": {
"dateTime": "November 3, 2026 9:16 AM",
"message": "Certified by Verifik.co"
}
}| Code | Meaning | What to do |
|---|---|---|
| 200 | Successful lookup | Store id and signature |
| 404 | Document not found | Check the number and type |
| 409 | Missing or invalid parameter (MissingParameter) | Fix documentType or the date |
| 500 | Source or service error | Retry with backoff |
{
"code": "MissingParameter",
"message": "documentType must be one of: [CC,PPT]"
}After the cédula you can check Colombian police records by API, verify a foreigner ID (cédula de extranjería) or read our cédula de ciudadanía verification guide. The full flow (cédula, biometrics, background records and PEP) is in our Colombia KYC API guide. If you operate in telecoms, finance or credit, check what Law 2573 of 2026 requires.
What does the ID verification return? Full name, first and last names, document type and number, a timestamped signature and a lookup id.
Does it also verify the Temporary Protection Permit? Yes. Send documentType=PPT to the same endpoint.
How do I know whether the cédula is valid? With the Registraduría certificate (/v2/co/registraduria/certificado), which returns the status in novedad.
What authentication does the API use? A token in the Authorization: Bearer header, which you get when you create your Verifik account.