Identity Verification in Costa Rica
Verifik's Identity Verification API helps you authenticate Costa Rican 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 & CCCR Number: Supports Cรฉdula de Identidad Costarricense (CCCR).
- Identity Match: Confirms that the name provided matches the CCCR number.
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/cr/cedula
This endpoint verifies the CCCR (Cรฉdula de Identidad Costarricense) against official sources. Send documentType as CCCR and the documentNumber (cรฉdula number without spaces) on a GET request; the response includes structured name fields for KYC, onboarding, and fraud checks.
Headersโ
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
documentType | string | Yes | Document type. Allowed value: CCCR. |
documentNumber | string | Yes | Cedula number without spaces. |
Sandbox clients can use document numbers 010000001โ010000010 (canonical 10000001โ10000010) for stable demo profiles; 090040401 returns 404; 090040402 returns the "renewal required" response shown below.
Requestโ
- Node.js
- PHP
- Python
- Go
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/cr/cedula", {
params: { documentType: "CCCR", documentNumber: "010000001" },
headers: { Accept: "application/json", Authorization: `Bearer ${process.env.VERIFIK_TOKEN}` },
});
console.log(data);
<?php
$ch = curl_init("https://api.verifik.co/v2/cr/cedula");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Accept: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
$query = http_build_query([
"documentType" => "CCCR",
"documentNumber" => "010000001"
]);
curl_setopt($ch, CURLOPT_URL, "https://api.verifik.co/v2/cr/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/cr/cedula"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentType": "CCCR", "documentNumber": "010000001"}
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/cr/cedula?documentType=CCCR&documentNumber=010000001"
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
- 200 (Renewal Required)
- 400
- 401
- 500
{
"data": {
"documentType": "CCCR",
"documentNumber": "010000001",
"firstName": "MARIA ELENA",
"lastName": "LOPEZ GARCIA",
"fullName": "MARIA ELENA LOPEZ GARCIA"
},
"signature": {"message": "Certified by Verifik.co", "dateTime": "July 27, 2026 3:00 PM"}
}
{
"data": {
"documentType": "CCCR",
"documentNumber": "020000002",
"status": "requires_renewal",
"expired": true,
"message": {
"es": "La fecha de vencimiento de su รบltima solicitud, es menor a doce meses, por lo que debe renovar su documento en las oficinas del TSE",
"en": "The expiration date on file for this citizen's last request is less than twelve months away, so the document must be renewed in person at a TSE office."
}
},
"signature": {"message": "Certified by Verifik.co", "dateTime": "July 27, 2026 3:00 PM"}
}
{
"message": "Invalid document number",
"code": "INVALID_DOCUMENT"
}
{
"message": "Authentication required",
"code": "UNAUTHORIZED"
}
{
"code": "InternalServerError",
"message": "Server error."
}
Notesโ
- Provide the number without spaces or periods.
- A cรฉdula that is not eligible for the online reprint under TSE's renewal rules still resolves successfully (
200) withstatus: "requires_renewal"andexpired: true, instead of an error. The bilingualmessageobject (es/en) explains that the citizen must renew the document in person at a TSE office.
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 Costa Rican 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, Costa Rica, and beyond.