Integrate iFreeChecker into your apps, websites, or DHRU panels. All responses are JSON.
Every request requires an API key. Get yours from My Account after registering.
Pass the key as a query parameter apikey or as an HTTP header X-Api-Key.
https://ifreechecker.com/check
Content-Type: application/json| Parameter | Type | Required | Description |
|---|---|---|---|
endpoint | string | required | full |
id | string | required | Serial number or IMEI (8–20 alphanumeric) |
apikey | string | required | Your API key |
Credits are deducted per successful check. Failed checks are not charged.
Every response contains these top-level fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | true on success |
service | string | Endpoint used (e.g. full, case_history) |
summary | object | Parsed device data (serial, model, warranty, FMI, etc.) |
details | object | Raw GSX device details |
eligibility | object|null | Find My / repair eligibility (null if not included) |
cases | object|null | Case history (null if not included) |
repairs | object|null | Repair history (null if not included) |
blacklist | object|null | Blacklist status (null if not included or non-cellular) |
isCellular | boolean | Whether the device has IMEI |
_meta | object | Request metadata (endpoint, time, timestamp) |
| Field | Description |
|---|---|
serial | Serial number |
imei | Primary IMEI (empty for Wi-Fi devices) |
model | Product description (e.g. "iPhone 17 Pro Max") |
config | Full config (e.g. "IPHONE 17 PRO MAX,CHINA,256GB,SLV") |
fmi | "ON", "OFF", or "unknown" |
warranty | Warranty description |
warrantyCode | AP (AppleCare+), LP (Limited), OO (Out of Warranty) |
daysRemaining | Days of coverage left |
purchaseDate | ISO 8601 date |
purchaseCountry | Country of purchase |
laborCovered | Boolean |
partCovered | Boolean |
soldTo | Distributor name (Full Check only) |
productLine | Product line code (Full Check only) |
| HTTP | Code | Meaning |
|---|---|---|
| 400 | Bad Request | Missing or invalid parameters |
| 402 | Payment Required | Insufficient balance — top up your account |
| 403 | Forbidden | Invalid API key or account suspended |
| 405 | Not Allowed | Only GET method is accepted |
| 429 | Too Many Requests | Rate limit exceeded (max 10/min) |
| 502 | Bad Gateway | Upstream GSX API error |
Error responses always include "ok": false and an "error" message:
// Example error response { "ok": false, "error": "Insufficient balance ($2.30). Please top up.", "code": 402, "balance": 2.30, "cost": 0.55 }
429 with Retry-After: 60 header when exceededWhen you create an account, you get access to API keys. That key is the only credential you need for DHRU:
ifc_xxxxxxxxxxxx). You can create multiple keys with labels (e.g. Production, DHRU).apiaccesskey). No separate username or password is required — the API key alone authenticates you.apiaccesskey in DHRU. Ensure your account has sufficient balance (top up from Account if needed).iFreeChecker exposes a DHRU Fusion–compatible API at /dhru. DHRU can synchronize services, place orders, and fetch results (HTML report) using the same actions as other DHRU suppliers.
| Setting | Value |
|---|---|
| API URL | https://ifreechecker.com/dhru |
| API Access Key | Your iFreeChecker API key (from Account → API Keys) |
| Username | Optional; leave blank or use any value. Auth is by key only. |
Actions supported:
| Action | Description |
|---|---|
accountinfo | Returns your balance, user ID, currency (USD). Use for “test connection” or balance check. |
imeiservicelist | Returns the list of iFreeChecker services (Full Check, Case History, Repair+Replacement, Blacklist) with IDs and pricing. Use “Setup my IMEI services same as this API services” in DHRU to sync. |
placeimeiorder | Place an order: pass IMEI/Serial + Service ID. Balance is charged and the check is run. Returns ORDERID. |
getimeiorder | Get result by Order ID or by Serial/IMEI (latest order). Returns STATUS (4 = completed) and CODE = HTML report (device details + status pills). |
Service IDs (for placeimeiorder and synced list):
| ID | Service | Cost |
|---|---|---|
| 1 | Full Check (details, FMI, cases, repairs, blacklist) | $0.55 |
| 2 | Case History (details, warranty, FMI, cases) | $0.25 |
| 3 | Repair + Replacement (details, warranty, FMI, cases, repairs & replacement) | $0.40 |
| 4 | Blacklist (details, warranty, blacklist status) | $0.15 |
Parameters can be sent as GET or POST (form or JSON). For placeimeiorder, parameters can be XML (e.g. <IMEI>...</IMEI><ID>1</ID>) or base64-encoded JSON. For getimeiorder, parameters should contain the order ID (numeric) or serial/IMEI to fetch the latest result.
The CODE field in getimeiorder is a simple HTML report (device model, IMEI, serial, warranty, purchase date, and status pills for Technical Support, Repairs Coverage, Replaced by Apple, Find My iPhone, iCloud, US Block, SIM-Lock) suitable for display in DHRU or emails.
https://ifreechecker.com/dhru without www if that’s your canonical host) to avoid redirects that can cause “Invalid json response” in DHRU.If you prefer a simple URL-per-request setup instead of the DHRU Fusion API:
iFreeCheckerSet the API URL to:
https://ifreechecker.com/check?endpoint={{service}}&id={{imei}}&apikey=YOUR_API_KEY
Create a service in DHRU for each endpoint:
| Service Code | Cost |
|---|---|
full | $0.55 |
case_history | $0.25 |
repair_history | $0.40 |
device_blacklist | $0.15 |
Response: JSON with ok = true on success; error on failure. Ensure your account has sufficient balance.