IMEI API
Validate and enrich IMEIs programmatically. The endpoint returns a JSON report with device identification plus blacklist and carrier data.
Endpoint
GET /api/imei?imei=<imei>
- Method
- GET
- Query param
imei— the 15-digit IMEI (or 14-digit base)- Content-Type
- application/json
- Auth
- API key (required in production — see note)
Example request
curl "https://your-domain.com/api/imei?imei=356594100000006"
Example response
{
"imei": "356594100000006",
"valid": true,
"device": {
"found": true,
"isSampleData": true,
"brand": "Apple",
"model": "iPhone XR",
"name": "Apple iPhone XR",
"tac": "35659410",
"specs": {
"releaseYear": 2018,
"display": "6.1\" Liquid Retina",
"chipset": "Apple A12 Bionic",
"battery": "2942 mAh",
"os": "iOS 12"
}
},
"blacklist": {
"status": "clean",
"source": "demo",
"isDemo": true,
"message": "DEMO: no blacklist hit for this IMEI in the demo dataset."
},
"carrier": {
"carrier": "Unlocked / No carrier lock",
"simLock": "unlocked",
"network": "Unlocked / No carrier lock",
"source": "demo",
"isDemo": true
}
}JavaScript
const res = await fetch('/api/imei?imei=356594100000006');
const data = await res.json();
console.log(data.device.brand, data.device.model);Production note: blacklist and carrier results in this demo are mock data (
isDemo: true). To return real data, wire the provider functions in lib/providers/ to a paid IMEI API and protect the route with an API key.