Reseller API Overview
The IMELook API allows you to integrate IMEI checking and phone unlocking
services directly into your own website or application. Submit orders programmatically,
check results, and get notified via webhooks when orders complete.
Base URL:
https://www.imelook.com/api/v1/
Authentication
All API requests require your API key. Pass it via the X-API-Key header (recommended):
GET /api/v1/services
X-API-Key: YOUR-API-KEY
GET /api/v1/services?key=YOUR-API-KEY
Keep your API key secret! Never expose it in client-side code. Only use it from your server. Always prefer the X-API-Key header over query parameters — keys in URLs can be logged in server access logs and browser history.
IP Security
You can whitelist specific IP addresses so only your servers can use the API. Configure this in your account settings or contact support.
Multi-Currency
All prices and balances are returned in your account's currency (GBP, EUR, or USD). The currency field is included in responses so your integration always knows which currency is being used. Your account currency can be configured by contacting support.
Account Info
GET
/api/v1/account
Get your account details, balance, and stats.
{
"status": "success",
"account": {
"name": "Your Company",
"currency": "GBP",
"balance": 245.50,
"totalSpent": 1520.00,
"totalOrders": 3847
}
}
Check Balance
GET
/api/v1/balance
Quick balance check.
{ "status": "success", "currency": "GBP", "balance": 245.50 }
List Services
GET
/api/v1/services
Get all available services with pricing.
{
"status": "success",
"currency": "GBP",
"balance": 245.50,
"services": [
{
"service": "AP-1",
"name": "iCloud ON/OFF Check",
"category": "Apple / iPhone Checks",
"price": 0.25,
"instant": true,
"description": "Check if Find My iPhone is enabled or disabled"
},
...
]
}
Place Order
GET
/api/v1/order?imei=IMEI&service=SERVICE_ID
POST
/api/v1/order
Place a single IMEI check or unlock order. Supports both GET and POST.
| Parameter | Type | Description |
key | string | Your API key REQUIRED |
imei | string | IMEI or Serial Number REQUIRED |
service | string | Service ID from /services list REQUIRED |
GET /api/v1/order?key=YOUR-KEY&imei=354442067957452&service=AP-1
POST /api/v1/order
{
"imei": "354442067957452",
"service": "AP-1"
}
{
"status": "success",
"orderId": "ORD-1042",
"imei": "354442067957452",
"service": "AP-1",
"serviceName": "iCloud ON/OFF Check",
"result": {
"IMEI": "354442067957xxx",
"Find My iPhone": "OFF"
},
"price": 0.25,
"balance": 245.25
}
Bulk Order
POST
/api/v1/order/bulk
Process up to 100 IMEIs in a single request.
POST /api/v1/order/bulk
{
"service": "AP-1",
"imeis": [
"354442067957452",
"353456789012345",
"352345678901234"
]
}
{
"status": "success",
"totalOrders": 3,
"successful": 3,
"failed": 0,
"balance": 244.58,
"results": [ ... ]
}
Order History
GET
/api/v1/history
Search your order history by IMEI or order ID.
| Parameter | Type | Description |
imei | string | Filter by IMEI (optional) |
orderId | string | Filter by order ID (optional) |
limit | number | Max results, default 50, max 200 (optional) |
{
"status": "success",
"count": 2,
"orders": [
{
"orderId": "ORD-1042",
"imei": "354442067957452",
"service": "AP-1",
"serviceName": "iCloud ON/OFF Check",
"status": "success",
"result": { "IMEI": "354442067957xxx", "Find My iPhone": "OFF" },
"price": 0.25,
"createdAt": "2026-04-01T12:00:00.000Z"
}
]
}
Webhooks
Get notified instantly when orders complete. Set your webhook URL via the API:
POST
/api/v1/webhook
Set or update your webhook URL.
POST /api/v1/webhook
{ "url": "https://your-site.com/webhook/imei" }
{
"status": "success",
"webhookUrl": "https://your-site.com/webhook/imei",
"webhookSecret": "a1b2c3d4e5f6..."
}
Webhook Events
When an order completes, we POST a JSON payload to your webhook URL:
{
"event": "order.completed",
"orderId": "ORD-1042",
"imei": "354442067957452",
"service": "AP-1",
"serviceName": "iCloud ON/OFF Check",
"status": "success",
"result": { ... },
"price": 0.25,
"balance": 245.25,
"timestamp": "2026-04-01T12:00:00.000Z"
}
{
"event": "bulk.completed",
"totalOrders": 50,
"successful": 48,
"failed": 2,
"balance": 233.46,
"timestamp": "2026-04-01T12:00:00.000Z"
}
Webhook Verification
Every webhook includes an X-Webhook-Signature header. Verify it using your webhook secret:
const crypto = require('crypto');
function verifyWebhook(body, signature, secret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return signature === expected;
}
app.post('/webhook/imei', (req, res) => {
const sig = req.headers['x-webhook-signature'];
if (!verifyWebhook(JSON.stringify(req.body), sig, YOUR_SECRET)) {
return res.status(401).send('Invalid signature');
}
console.log('Order completed:', req.body);
res.sendStatus(200);
});
Error Codes
| HTTP Code | Meaning |
200 | Success |
400 | Bad request - missing or invalid parameters |
401 | Authentication failed - invalid or missing API key |
402 | Insufficient balance - add funds to continue |
429 | Rate limited - too many requests |
500 | Server error - try again or contact support |
Code Examples
PHP
<?php
$apiKey = "YOUR-API-KEY";
$imei = "354442067957452";
$service = "AP-1";
$url = "https://www.imelook.com/api/v1/order"
. "?key=$apiKey&imei=$imei&service=$service";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "Status: " . $data['status'] . "\n";
echo "Result: " . print_r($data['result'], true);
?>
Python
import requests
API_KEY = "YOUR-API-KEY"
BASE_URL = "https://www.imelook.com/api/v1"
response = requests.get(f"{BASE_URL}/order", params={
"key": API_KEY,
"imei": "354442067957452",
"service": "AP-1"
})
data = response.json()
print(f"Status: {data['status']}")
print(f"Result: {data.get('result')}")
print(f"Balance: ${data.get('balance')}")
cURL
curl -H "X-API-Key: YOUR-API-KEY" "https://www.imelook.com/api/v1/balance"
curl -H "X-API-Key: YOUR-API-KEY" "https://www.imelook.com/api/v1/order?imei=354442067957452&service=AP-1"
curl -X POST -H "X-API-Key: YOUR-API-KEY" \
-H "Content-Type: application/json" \
-d '{"service":"AP-1","imeis":["354442067957452","353456789012345"]}' \
"https://www.imelook.com/api/v1/order/bulk"