API Documentation

IMEI Verification REST API

Integrate IMEI verification into your platform with our simple and powerful REST API. Complete documentation with code examples in multiple languages.

Fast Response

Average response time < 500ms. Real-time verification for your users.

99.9% Uptime

Enterprise-grade infrastructure with guaranteed uptime SLA.

Easy Integration

RESTful API with comprehensive documentation and code examples.

Getting Started

1Get Your API Key

Register as a merchant and get your API key from the dashboard. API access is available for Growth tier and above.

Register as Merchant →

2Authentication

All API requests require authentication using your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

3Base URL

All API endpoints are relative to the base URL:

https://api.ceksafe.com/v1

API Endpoints

POST/check

Verify IMEI

Check the status and details of an IMEI number.

Request Body
{
  "imei": "123456789012345",
  "type": "total"  // "basic" or "total"
}
Response (200 OK)
{
  "success": true,
  "data": {
    "imei": "123456789012345",
    "status": "clean",
    "blacklist": false,
    "valid_format": true,
    "device": {
      "tac": "12345678",
      "brand": "Apple",
      "model": "iPhone 13 Pro",
      "year": "2021"
    },
    "risk_analysis": {
      "risk_level": "low",
      "trust_score": 95,
      "recommendation": "safe_to_proceed"
    },
    "certificate_url": "https://ceksafe.com/v/abc123",
    "checked_at": "2026-03-08T10:30:00Z"
  }
}
Error Response (400 Bad Request)
{
  "success": false,
  "error": {
    "code": "INVALID_IMEI",
    "message": "IMEI must be 15 digits"
  }
}
GET/history

Get Check History

Retrieve your verification history with pagination.

Query Parameters
?page=1&limit=20&from=2026-03-01&to=2026-03-31
Response (200 OK)
{
  "success": true,
  "data": {
    "checks": [
      {
        "id": "chk_abc123",
        "imei": "123456789012345",
        "status": "clean",
        "type": "total",
        "checked_at": "2026-03-08T10:30:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 150,
      "pages": 8
    }
  }
}

Code Examples

PHP
<?php
$apiKey = 'YOUR_API_KEY';
$imei = '123456789012345';

$ch = curl_init('https://api.ceksafe.com/v1/check');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $apiKey,
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'imei' => $imei,
    'type' => 'total'
]));

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Status: " . $result['data']['status'];
    echo "Trust Score: " . $result['data']['risk_analysis']['trust_score'];
}
curl_close($ch);
Node.js
const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const imei = '123456789012345';

axios.post('https://api.ceksafe.com/v1/check', {
  imei: imei,
  type: 'total'
}, {
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json'
  }
})
.then(response => {
  const data = response.data.data;
  console.log('Status:', data.status);
  console.log('Trust Score:', data.risk_analysis.trust_score);
})
.catch(error => {
  console.error('Error:', error.response.data);
});
Python
import requests

api_key = 'YOUR_API_KEY'
imei = '123456789012345'

headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json'
}

payload = {
    'imei': imei,
    'type': 'total'
}

response = requests.post(
    'https://api.ceksafe.com/v1/check',
    json=payload,
    headers=headers
)

if response.status_code == 200:
    data = response.json()['data']
    print(f"Status: {data['status']}")
    print(f"Trust Score: {data['risk_analysis']['trust_score']}")

Rate Limits & Best Practices

Rate Limits

  • Starter: 100 requests/minute
  • Growth: 500 requests/minute
  • Pro: 1000 requests/minute

Best Practices

  • Cache results to reduce API calls
  • Implement exponential backoff for retries
  • Use webhooks for async processing

Need Help with Integration?

Our technical team is ready to help you integrate CekSafe API into your platform.