The examples in this document are shown using the DeviceIdentifier Python client library.
International Mobile Equipment Identity (IMEIs)
The international mobile equipment identity (IMEI) is used to identify specific devices connected to networks. Because it can uniquely identify a device, it is often used for blacklisting or tracking purposes. Wikipedia publishes a good summary.
https://di-api.reincubate.com/v1/gsma-imeis/013554006297015/
$ python -m deviceidentifier.cli.gsma_imei 013554006297015
{
"id": "013554006297015",
"anonymised": "01355400••••••5",
"checksum": "5",
"gsmaTac": {
"id": "01355400",
"manufacturer": "Apple",
"appleIdentifier": {
"id": "iPhone5,2",
"image": {
"height": 330,
"url": "https://di-api.reincubate.com/resource-c2aac9e5e3695fca1090633a4ea1b60d/",
"width": 450
},
"product": {
"line": "iPhone",
"sku": "iPhone 5"
},
"specs_page": "https://support.apple.com/kb/SP655",
"value": {
"official_tradein": {
"link": "https://www.apple.com/shop/trade-in",
"value": "$25.00"
}
},
"variant": "CDMA + LTE"
},
"appleModel": null,
"appleInternalNameClass": {
"id": "N42"
},
"product": {
"line": "iPhone",
"sku": "iPhone 5"
}
},
"gsx": {
"appleSerial": {
"anonymised": "F2TK4•••DTWF",
"configurationCode": {
"code": "DTWF",
"image": {
"height": 120,
"url": "https://di-api.reincubate.com/resource-4cb3c6fe7c62f327cd11712196c221b0/",
"width": 120
},
"appleInternalNameClass": {
"id": "N42"
},
"skuHint": "iPhone 5 (GSM, CDMA)"
},
"coverageUrl": "https://checkcoverage.apple.com/gb/en?sn=F2TK4TZ7DTWF",
"id": "F2TK4TZ7DTWF",
"manufacturing": {
"city": "Zhengzhou",
"company": "Foxconn",
"country": "China",
"date": "2013-01-22",
"flag": "🇨🇳",
"id": "F2T"
},
"serialType": "2010",
"uniqueId": {
"productionNo": 32341,
"value": "TZ7"
}
},
"sale": {
"estimatedPurchaseDate": "2013-04-10",
"initialCarrier": "Sweden Tele2.",
"realPurchaseDate": "2013-04-10",
"saleRegion": "Sweden",
"saleRegionFlag": "🇸🇪",
"seller": "TELE2 SVERIGE AB"
},
"skuHint": "IPHONE 5",
"specifications": [
"WHITE",
"16GB",
"GSM"
],
"status": {
"appleId": null,
"coverage": "Out Of Warranty (No Coverage)",
"sim": "Locked"
}
},
"reportingBodyIdentifier": {
"code": "01",
"flags": "🇺🇸",
"group": "PTCRB",
"origin": "United States"
},
"serial": "629701",
"svn": null,
"type": "IMEI"
}
Type allocation codes (TACs)
TAC numbers can be used to identify the type of device connected to a mobile network.
https://di-api.reincubate.com/v1/gsma-tacs/01355400/
$ python -m deviceidentifier.cli.gsma_tac 01355400
{
"id": "01355400",
"manufacturer": "Apple",
"appleIdentifier": {
"id": "iPhone5,2",
"image": {
"height": 330,
"url": "https://di-api.reincubate.com/resource-c2aac9e5e3695fca1090633a4ea1b60d/",
"width": 450
},
"product": {
"line": "iPhone",
"sku": "iPhone 5"
},
"specs_page": "https://support.apple.com/kb/SP655",
"value": {
"official_tradein": {
"link": "https://www.apple.com/shop/trade-in",
"value": "$25.00"
}
},
"variant": "CDMA + LTE"
},
"appleInternalNameClass": {
"id": "N42"
},
"appleModel": null,
}
ICCIDs
ICCIDs are used to identify SIM cards. The full standard is published on the GSMA's site.
https://di-api.reincubate.com/v1/gsma-iccids/8965880812100011146/
$ python -m deviceidentifier.cli.gsma_iccid 8965880812100011146
{
"anonymised": "896588••••••••••••6",
"checksum": "6",
"issuer": {
"code": "88",
"country": {
"code": "65",
"flag": "🇸🇬",
"name": "Singapore"
},
"name": null
},
"majorIndustry": {
"code": "89",
"industry": "Telecommunications administrations and private operating agencies",
"type": "Healthcare, telecommunications and other future industry assignments"
},
"account": {
"code": "081210001114",
"month": "08",
"simNumber": "001114",
"switch": "10",
"year": "12"
}
}
