Identity Verification in Panama
Verifik's Identity Verification API helps you authenticate Panamanian citizens using official government data. It's designed to streamline your KYC (Know Your Customer) processes, prevent fraud, and ensure you meet all regulatory requirements effortlessly.
We built this integration for businesses that need a fast, secure, and automated way to confirm the true identity of users, employees, or customers.
What does this API validate?โ
Our API connects directly with official records to validate:
- Full Name & CCPA Number: Supports Cรฉdula de Identidad Personal (CCPA) for citizens and residents.
- Identity Match: Confirms that the name provided matches the CCPA number.
- Date of Birth Verification: Validates the date of birth matches the official records.
By verifying these details, you can be confident that the person you're dealing with is real and holds a valid document, significantly lowering the risk of impersonation and fraud.
API Referenceโ
Endpointโ
https://api.verifik.co/v2/pa/cedula
Headersโ
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
documentType | string | Yes | Document type. Allowed value: CCPA. |
documentNumber | string | Yes | Full Panamanian cรฉdula after normalization (see Accepted documentNumber formats below). |
dateOfBirth | string | Yes | Date of birth in DD/MM/YYYY format. |
Accepted documentNumber formatsโ
The API accepts a complete cรฉdula string. Values are normalized server-side: trimmed, uppercased, repeated separators collapsed to a single hyphen. Spaces, /, _, ., and Unicode dash-like characters are treated as separators. If a province code and the suffix AV or PI were entered with an extra hyphen between them (e.g. 10-AV-1234-12345), they are merged to 10AV-1234-12345 before validation.
Structure: firstSegment-libro-tomo
- Libro (middle segment): 1โ4 digits
- Tomo (last segment): 1โ6 digits
First segment (one of):
- Born in Panama โ Province code
1,2โ9, or10โ13, then libro, then tomo. Examples:8-1234-12345,4-56-789,12-12-12345 - Panamanian born abroad โ Prefix
PE. Example:PE-1234-12345 - Foreign national with cรฉdula โ Prefix
E. Examples:E-1234-12345,E-8-102017 - Naturalized โ Prefix
N. Example:N-1234-12345 - Preโ2006 civil registry (AV) โ Province immediately followed by
AV. Example:10AV-1234-12345 - Indigenous (PI) โ Province immediately followed by
PI. Example:1PI-1234-12345
Official province codes are 1โ13. Invalid codes (e.g. 14) are rejected.
Query strings: Send documentNumber so hyphens are preserved. Some clients or parsers mis-handle values like E-8-197698 (e.g. scientific notation); use a raw query string, proper encoding, or a library that keeps the value as a string.
Validation error: If documentNumber is not a complete valid cรฉdula after normalization, the API responds with 409 and a message indicating incorrect format (e.g. Format incorrect: documentNumber).
Format rules align with the open cedula-panama validator (MIT).
Requestโ
- Node.js
- PHP
- Python
- Go
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/pa/cedula", {
params: { documentType: "CCPA", documentNumber: "8-1251-1829", dateOfBirth: "02/03/1992" },
headers: { Accept: "application/json", Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
});
console.log(data);
<?php
$ch = curl_init("https://api.verifik.co/v2/pa/cedula");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Accept: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
$query = http_build_query([
"documentType" => "CCPA",
"documentNumber" => "8-1251-1829",
"dateOfBirth" => "02/03/1992"
]);
curl_setopt($ch, CURLOPT_URL, "https://api.verifik.co/v2/pa/cedula?".$query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import os, requests
url = "https://api.verifik.co/v2/pa/cedula"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentType": "CCPA", "documentNumber": "8-1251-1829", "dateOfBirth": "02/03/1992"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
package main
import (
"fmt"
"net/http"
)
func main() {
url := "https://api.verifik.co/v2/pa/cedula?documentType=CCPA&documentNumber=8-1251-1829&dateOfBirth=02/03/1992"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Accept", "application/json")
req.Header.Set("Authorization", "Bearer "+getenv("VERIFIK_TOKEN"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
fmt.Println(resp.Status)
}
Responseโ
- 200
- 400
- 409
- 401
- 500
{
"data": {
"documentType": "CCPA",
"documentNumber": "8-1251-1829",
"firstName": "Roberto",
"lastName": "Martรญnez",
"fullName": "Roberto Martรญnez",
"dateOfBirth": "1992-03-02",
"status": "valid"
},
"signature": {"message": "Certified by Verifik.co", "dateTime": "January 16, 2024 3:44 PM"},
"id": "PA001"
}
{
"message": "Invalid document number",
"code": "INVALID_DOCUMENT"
}
{
"code": "MissingParameter",
"message": "missing dateOfBirth"
}
{
"message": "Authentication required",
"code": "UNAUTHORIZED"
}
{
"code": "InternalServerError",
"message": "Server error."
}
Notesโ
- Birth date is required and must match the identification holder.
- See Accepted
documentNumberformats for all supported cรฉdula patterns and normalization behavior.
Common Use Casesโ
- Fintech & Banking: Verify identities instantly during account opening or loan applications.
- E-commerce & Delivery: Authenticate users and couriers before they become active on your platform.
- HR & Recruitment: Validate candidate documents as part of your hiring workflow.
- Insurance & Healthcare: Confirm identities before issuing policies or providing medical benefits.
Official Sources & Reliabilityโ
We connect directly with official Panamanian government sources to ensure you receive verified, up-to-the-minute information. Every query is handled with strict adherence to security and regulatory standards.
Key Benefitsโ
- Automated Compliance: Streamline your KYC checks to prevent fraud without adding friction for your users.
- Instant Results: Process verifications in seconds, perfect for real-time digital onboarding.
- Trusted Data: Rely on data sourced directly from official records.
- Easy Integration: Connect easily via our REST API or use our compatible SDKs.
Compliance & Securityโ
We prioritize the safety of your data. Verifik uses advanced encryption (HTTPS/TLS 1.3) and strict privacy management standards to ensure confidentiality. Our service is monitored 24/7 for availability and offers role-based access controls to keep your team's access secure.
About Verifikโ
Verifik is a leading platform for identity verification, compliance, and fraud prevention across Latin America. Our APIs automate KYC, KYB, AML, and biometric validation processes, connecting businesses with official data sources in Colombia, Mexico, Peru, Chile, Uruguay, Argentina, Brazil, Panama, and beyond.