Apple serial number lookup api

Apple serial number lookup api DEFAULT

Apple identifiers

Cover image for: Apple identifiers

Understanding common Apple codes and identifiers

Apple use many different identifiers with their products. The table below illustrates the differences between some of the most important codes:

NameLooks likeAlso calledRepresents
ModelMarketing part number (MPN),
Part number,
Order number
A specific model, including storage, configuration, distribution and sale type information. Similar in scope but distinct from a configuration code (CC) or a configured to order (CTO) code.
Family number
Model number,
"A" number
A family of models sold in a given region, coded for Apple's own ordering systems.
Internal nameBoard ID,
Hardware model
The underlying hardware platform a device is built on. Expressed as an internal name class with an optional hardware revision. Often used to target software and firmware.
IdentifierModel identifierA high-level class of Apple device.
Serial numberAn individual Apple device. 3 different formats, 1 of which is variable-length. Distinct from an MLB serial, which has 2 different formats.

The API supports many other Apple identifiers, most of which are described below.

Note that we can expose Apple GSX service data for some clients.

Apple serial numbers

The API supports all three of Apple's major serial number formats: , and . Examples:

  • is a format serial (for the early 128k Mac)
  • is a format serial
  • is a format serial

Apple will likely be able maintain the format serials until the early 2020s, when they will run out.

$ python -m deviceidentifier.cli.apple_serial C8QH6T96DPNG
{"anonymised":"C8QH6•••DPNG","configurationCode":{"code":"DPNG","appleInternalNameClass":{"id":"N92"},"image":{"height":120,"url":"","width":120},"skuHint":"iPhone 4 CDMA (8GB)"},"coverageUrl":"","id":"C8QH6T96DPNG","manufacturing":{"city":"","company":"","country":"China","date":"2012-02-05","flag":"🇨🇳","id":"C8Q"},"serialType":"2010","uniqueId":{"productionNo":31524,"value":"T96"}}

Apple MLB serial numbers

The API supports Apple's main logic board (MLB) serial formats, for both 13 and 17 digit codes.

$ python -m deviceidentifier.cli.apple_mlb_serial C02443500KZG2QDA7
{"anonymised":"C02443•••KZ••••••","boardType":"500","cc":"KZ","eeeCode":"G2QD","id":"C02443500KZG2QDA7","kk":"A7","productionPlant":{"city":"","company":"Tech Com, Quanta Computer Susidiary","country":"China","date":"2014-10-22","flag":"🇨🇳","id":"C02"},"serialType":"2010","uniqueId":{"id":null,"productionNo":null}}

Apple model numbers (MPN)

Also known as: Marketing Part Number (MPN)

An Apple model number identifies a particular hardware configuration of an Apple product. Apple model numbers can be presented with or without their regional or sale type encoding. These are also known as a marketing part number, or MPN. MPN is a misnomer in the sense that model numbers aren't actually numbers.

Model numbers are always prefixed with a sale code (often but not necessarily ), and usually follow with a letter and some numbers. They end with an optional sale region indicator of variable length.

What's encoded in an Apple model number?

Apple Model codes can provide the sale region of a device, as well as whether it was sold at retail, refurbished, or personalised, and the following data:

  • Apple Internal name class. This can be used to narrow it to a range of internal names.
  • Apple Identifier.
  • Sale region. The broad region that the device was intended to be sold in. This is stored as an optional part of the number.
  • Model specification. MPNs are reliable for indicating case size, colour, material and storage for iPhones, iPads, Apple Watches and computers.
  • OEM carrier. MPNs are typically made available to a discrete range of carriers, and carrier range can be identified by examining them.
  • Sale type. ie. whether the unit was sold as retail, refurbished, replaced, or personalised.

Example Model numbers

An iPhone 4, black, 32GB, made for Austria, Liechtenstein, Switzerland
iPhone 4, black, 32GB, made for the US
An iPhone 7 Plus, made for the US
iPad 6th gen, pink, 32GB, no sale region
iPhone 5, black, 16GB, made for Saudi Arabia

Working with Apple Model numbers

  • Example Apple Model direct API request: MC605FD/A
  • Example Apple Model client library request:
$ python -m deviceidentifier.cli.apple_model MC605FD/A`
{"anonymised":"C605","appleInternalNameClass":{"id":"N90"},"appleIdentifier":{"id":"iPhone3,1","image":{"height":330,"url":"","width":450},"product":{"line":"iPhone","sku":"iPhone 4"},"specs_page":"","value":{},"variant":"GSM"},"id":"C605","region":{"flags":"🇦🇹🇱🇮🇨🇭","name":"Austria, Liechtenstein, Switzerland"},"specification":{"case_size":null,"colour":"Black","material":null,"storage":"32 GB"},"distribution":null,"factory_lock":0,"type":"Retail"}

Apple identifiers

Apple identifiers are their core, top-level model identifier, such as .,3/

$ python -m deviceidentifier.cli.apple_identifier iPhone9,3
{"id":"iPhone9,3","image":{"height":330,"url":"","width":450},"product":{"line":"iPhone","sku":"iPhone 7"},"specs_page":"","value":{"official_tradein":{"url":"","value":"$175.00"}},"variant":"GSM"}

Apple internal names

Internal names are Apple's internal model numbers, like . They are sometimes referred to as , and also -- misleadingly -- as .

$ python -m deviceidentifier.cli.apple_internal_name N92AP
{"id":"N92AP","anonymised":"N92AP","revision":null,"appleInternalNameClass":{"id":"N92"},"platform":"s5l8930x","bdid":6,"cpid":35120,"appleIdentifier":{"id":"iPhone3,3","image":{"height":330,"url":"","width":450},"product":{"line":"iPhone","sku":"iPhone 4"},"variant":"CDMA"},"firmware":[{"build":"11D257","filesize":165768907,"ota":true,"required_build":"11A465","required_version":"7.0","signed":true,"signing_started":"2018-11-01","signing_stopped":null,"url":"","version":"7.1.2"},...]}


(IDFA) and (IDFV) values replaced the UDID after iOS 5. They are set per application, or per vendor.

Apple state this of the IDFA:

iOS 6 introduces the Advertising Identifier, a non-permanent, non-personal device identifier, that advertising networks will use to give you more control over advertisers’ ability to use tracking methods. If you choose to limit ad tracking, advertising networks using the Advertising Identifier may no longer gather information to serve you targeted ads. In the future all advertising networks will be required to use the Advertising Identifier. However, until advertising networks transition to using the Advertising Identifier you may still receive targeted ads from other networks.

And this for the IDFV:

An alphanumeric string that uniquely identifies a device to the app’s vendor. (read-only)

The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.

Ole Begemann has written more on the migration from UDID.

$ python -m deviceidentifier.cli.apple_idfa 002ebf12-a125-5ddf-a739-67c3c5d20177

Apple Unique Device Identifiers (UDIDs)

There are two formats of UDID:

  • : This format was introduced with the first iPhone and used on devices introduced up until 2018. It is a non-reversible composite identifier built from IMEI, ECID and MAC values. It is represented as a 40 character lowercase hex value.

  • : This newer format was introduced for device models manufactured in 2018 and onwards (ie. iPhone XS, XS Max, XR, and Apple Watch Series 4). It is an uppercase 8 character hex value joined to a 16 character uppercase hex value by a dash () in the format .

Apple usually uses this ID to associate a device with an iCloud ID. This also holds the Find My iPhone activation status. The UDID was deprecated for use within iOS applications with the introduction of iOS 5, though it still has a number of other uses

$ python -m deviceidentifier.cli.apple_udid 00008020-00166D4A2130003B

Apple Family numbers / "A" numbers

Apple describe these for each phone on their "Identify your iPhone model" page.

python -m deviceidentifier.cli.apple_anumber A1784
{"appleIdentifier":{"id":"iPhone9,4","image":{"height":330,"url":"","width":450},"product":{"line":"iPhone","sku":"iPhone 7 Plus"},"variant":"GSM"}}

How can we help?

Our support team are here to help!

Our office hours are Monday to Friday, 9 AM to 5 PM GMT. The time is currently 7:50 PM GMT.

We aim to reply to all messages within one working day.

Go to support sectionContact the enterprise team

Our awesome support team

Can we improve this article?

We love hearing from users: why not drop us an email, leave a comment, or tweet @reincubate?

© 2008 - 2021 Reincubate Ltd. All rights reserved. Registered in England and Wales #5189175, VAT GB151788978. Reincubate® and Camo® are registered trademarks. Privacy policy & terms. Built with in London.



PHP Script for Decoding Apple Serial Numbers

Usage: Place the 3 files on your webserver. Visit index.html. Or copy the section from the index.html file and insert it into your own webpage. Have fun!

Database: The database.json file is self updating. So when you search a serial number, it first scans the database for the hwc code (last 3#'s if 11 digit or 4#'s if 12 digit serial) to see if the information exists in the database. If it doesn't, then it uses apple's api to look up the hwc and then appends that info to the json database.

Permissions: Remember to chmod the permissions for database.json if required. Otherwise will not have the correct permissions to write to the file.


TODO: This decoder currently displays a break down of the serial number components (for serials up to 2019), displays model information, manufacture information and links to apple's official hardware configurations. Sites like or expand on the information provided by this script greatly with model and emc #'s, configuration options, specs etc. It would be nice if someone forked this and expanded upon the json database file to incorporate these additional fields and supply the community with a free database alternative opposed to subscription based decoding options!

  1. December poetry in urdu
  2. 27 atlantic apartments
  3. Bladen county gis
  4. Face outline drawing
  5. Minecraft funny villager videos

DeviceIdentifier API Python library

Utils to manipulate and learn from assorted device identifier formats via Reincubate's DeviceIdentifier API.

Technical documentation is available on Reincubate's site.

Getting started

Try these:

$ pip install deviceidentifier

Calls to the API through this client then become easy:

fromdeviceidentifierimportapi# Look up an Apple serial numberapi.lookup( api.TYPE_APPLE_SERIAL, 'C8QH6T96DPNG' ) # Identify the type of an identifierapi.identify_identifier( 'iPhone5,3' ) # Triangulate a bunch of data from a collection of identifiersapi.enhance_metadata( apple_identifier='iPhone5,3', apple_serial='C8QH6T96DPNG', gsma_imei='013554006297015', gsma_iccid='8965880812100011146' )

The API supports anonymous access, and provides limited, rate-limited data when doing so. Tokens can be obtained by contacting Reincubate, and either by setting an environment variable:

$ export RI_DEVID_TOKEN='api-authentication-token'

Or by passing the token value directly into the code:

fromdeviceidentifierimportapi# Look up an Apple serial numberapi.lookup( api.TYPE_APPLE_SERIAL, 'api-authenticaton-token', 'C8QH6T96DPNG' )

Using the command-line interface


Apple serial numbers: legacy (80s & 90s), old (early 2000s) and post-2010 formats

$ python -m deviceidentifier.cli.apple_serial C8QH6T96DPNG
{ "anonymised": "C8QH6•••DPNG", "configurationCode": { "code": "DPNG", "image": { "height": 120, "url": "", "width": 120 }, "skuHint": "iPhone 4 CDMA (8GB)" }, "coverageUrl": "", "id": "C8QH6T96DPNG", "manufacturing": { "city": "", "company": "", "country": "China", "date": "2012-02-05", "flag": "🇨🇳", "id": "C8Q" }, "serialType": "2010", "uniqueId": { "productionNo": 31524, "value": "T96" } }

Apple model numbers

$ python -m deviceidentifier.cli.apple_model MC605FD/A
{ "anonymised": "C605", "appleIdentifier": { "id": "iPhone3,1", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 4" }, "variant": "GSM" }, "id": "C605", "region": { "flags": "🇦🇹🇱🇮🇨🇭", "name": "Austria, Liechtenstein, Switzerland" }, "specification": { "case_size": "", "colour": "Black", "material": "", "storage": "32 GB" }, "type": "Retail" }

Apple identifiers

$ python -m deviceidentifier.cli.apple_identifier iPhone5,3
{ "id": "iPhone5,3", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 5c" }, "variant": "GSM + CDMA" }

Apple internal names

$ python -m deviceidentifier.cli.apple_internal_name N92AP
{ "appleIdentifier": { "id": "iPhone3,3", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 4" }, "variant": "CDMA" } }


$ python -m deviceidentifier.cli.apple_idfa 002ebf12-a125-5ddf-a739-67c3c5d20177
{ "anonymised": "••••••••-••••-••••-••••-••••••••••••", "formatted": "002ebf12-a125-5ddf-a739-67c3c5d20177" }

Apple UDIDs

$ python -m deviceidentifier.cli.apple_udid db72cb76a00cb81675f19907d4ac2b298628d83c
{ "anonymised": "••••••••••••••••••••••••••••••••••••••••", "compromised": false, "formatted": "db72cb76a00cb81675f19907d4ac2b298628d83c" }

Apple "A" numbers

python -m deviceidentifier.cli.apple_anumber A1784
{ "appleIdentifier": { "id": "iPhone9,4", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 7 Plus" }, "variant": "GSM" } }


Mobile Equipment Identifier (MEIDs)

$ python -m deviceidentifier.cli.cdma_meid 354403064522046
{ "anonymised": "35440306••••••6", "checksum": "6", "id": "354403064522046", "manufacturer": "440306", "pESN": "808D1904", "regionCode": { "code": "35", "group": "Comreg", "origin": "Ireland" }, "serial": "452204" }


IMEIs (enriched with data from Apple's GSX service for clients with access)

$ python -m deviceidentifier.cli.gsma_imei 013554006297015
{ "anonymised": "01355400••••••5", "checksum": "5", "gsmaTac": { "appleModel": { "anonymised": "D298", "appleIdentifier": { "id": "iPhone5,2", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 5" }, "variant": "CDMA + LTE" }, "id": "D298", "region": { "flags": null, "name": null }, "specification": { "case_size": "", "colour": "White", "material": "", "storage": "16 GB" }, "type": "Retail" }, "id": "01355400", "manufacturer": "Apple", "product": { "line": "iPhone", "sku": "iPhone 5" } }, "gsx": { "appleSerial": { "anonymised": "F2TK4•••DTWF", "configurationCode": { "code": "DTWF", "image": { "height": 120, "url": "", "width": 120 }, "skuHint": "iPhone 5 (GSM, CDMA)" }, "coverageUrl": "", "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" } }, "id": "013554006297015", "reportingBodyIdentifier": { "code": "01", "group": "PTCRB", "origin": "United States" }, "serial": "629701", "svn": null, "type": "IMEI" }

Type allocation codes (TAC)

$ python -m deviceidentifier.cli.gsma_tac 01326300
{ "appleModel": { "anonymised": "D198", "appleIdentifier": { "id": "iPhone3,1", "image": { "height": 330, "url": "", "width": 450 }, "product": { "line": "iPhone", "sku": "iPhone 4" }, "variant": "GSM" }, "id": "D198", "region": { "flags": "🇮🇳", "name": "India" }, "specification": { "case_size": null, "colour": "White", "material": null, "storage": "8 GB" }, "type": "Retail" }, "id": "01326300", "manufacturer": "Apple", "product": { "line": "iPhone", "sku": "iPhone 4" } }


$ python -m deviceidentifier.cli.gsma_iccid 8965880812100011146
{ "anonymised": "896588••••••••••••6", "atiiccid": null, "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" }, "month": "08", "simNumber": "001114", "switch": "10", "year": "12" }

Identifying an identifier

$ python -m deviceidentifier.cli.identify_identifier iPhone5,3
{ "iPhone5,3": [ "apple_identifier" ] }


See the support & service status page.

Need more functionality?

Reincubate's vision is to provide data access, extraction and recovery technology for all app platforms - be they mobile, desktop, web, appliance or in-vehicle.

The company was founded in 2008 and was first to market with both iOS and iCloud data extraction technology. With over half a decade's experience helping law enforcement and security organisations access iOS data, Reincubate has licensed software to government, child protection and corporate clients around the world.

The company can help users with:

  • iCloud access and data recovery
  • Recovery of data deleted from SQLite databases
  • Bulk iOS data recovery
  • Forensic examination of iOS data
  • Passcode, password, keybag and keychain analysis
  • Custom iOS app data extraction
  • Advanced PList, TypedStream and Mbdb manipulation

Contact Reincubate for more information.

Terms & license

See the file for details on this implementation's license. Users must not use the API in any way that is unlawful, illegal, fraudulent or harmful; or in connection with any unlawful, illegal, fraudulent or harmful purpose or activity.


Question: Q: Warranty lookup API

jonsgold wrote:

Is there an API available to check the warranties of multiple machines? We have hundreds of Macs in our company to check regularly, and currently I have to use and enter each machine one at a time. This isn't scalable...

It seems you may not have as big a problem as you think? " check REGULARLY " ?? If you check them once, and make a spreadsheet or somesuch file, you then need only sort by date and CHECK that REGULARLY - adding new devices to IT as they come into your company. You could likely find some clever employee to write a simple App to manage that list and notifications. Adobe Director could do it in a couple of hours - start to tested finish, GUI and all.

It does seem a little odd that there is no facility for managing an Enterprise though - you might find with a little digging, you can find out for sure from Apple (who seems to prefer customer contact avoidance after the sale , if possible - hard to blame them, being the most valuable company on Earth = HUGE installed base)

Here's what I did to find the following - assume the path is OBSCURE.

  • Go here = the Contact Us link at the bottom of every page
  • Top right of that page is "How to buy for business" with two options:
    • Apple Enterprise Sales (877) 412-7753 = you clearly MUST already have your own Apple Account Rep with a large installed base
    • The link in the paragraph leads one to the possible answers to your question

The Apple Store for Business <> seems a bit more robust than the Consumer level Store

It has a couple of interesting drawer menus

User uploaded fileUser uploaded file

You might give the TOP one on the 1st and the BOTTOM one on the 2nd a look - particularly the 2nd <>

I can't go any further, but "View Order History" from the TOC at left looks promising - one could extrapolate the warranty period for a any device by its type and the longevity thereof - (iPhones are shorter than Macs, for example)


Api lookup apple number serial

3023 Data-Apple Serial Number Inquiry API Warranty, Activation lock Inquiry Apple GSX Inquiry IMEI/ Serial Number Inquiry Interface
Apple Query Service Provider, Exclusive Official Data Source

Large quantity of Cong, minimum 3.5% discount

Wechat query:


Warranty inquiry:
Activation date, warranty, activation status, etc.

Appraisal inquiry:
Activation date, warranty, activation status, whether to change the machine, etc.

Enquiries on licensed goods:
Whether the goods are shipped, warranty status, etc.

Activation lock Inquiry:
Find my iPhone On/Off Check

ID black and white query:
Apple iCloud Clean/Lost Check

IMEI/ serial number query:
IMEI, Serial Number Reciprocal Transfer

Service Prorider Inquiry:
Apple SIMLock Check

Inquiry of sales place:
Product seller, place of purchase, estimated date of purchase, initial operator, etc.

Operator inquiries:
Operators (next activation strategy), Service Prorider, etc

GSX policy query:
Activation policy, first brick removal date, unlocking date, etc.


GSX case inquiry:
Maintenance case, machine change record (picture)


Model country inquiry:
Model number (manufacturer’s part number), country, product type (whether official replacement machine, official repair machine, abnormal machine, etc.)

Maintenance inquiry:
Repair status (none, repaired, under repair), sales code

Maintenance progress inquiry:
Details and progress of maintenance

Apple Serial Number Inquiry:

If only basic data such as model, capacity, color, reference activation date, warranty, etc. need to be queried.
Apple serial number inquiry (basic data) interface provided by 3023 data can be used:
Price: 0.005 Yuan/time
Large quantity of Cong, minimum 3.5% discount

Mobile phone IMEI inquiry:
Apple, Samsung, Huawei, VIVO, OPPO, Xiaomi and other brands of mobile phones/tablets IMEI query and identification

Apple query assistant
Batch query Apple warranty, Activation lock, Service Prorider, etc.


Free download: …

More interfaces:

Apple’s official website inquires:
View your warranty service and support period

Verification code restriction solution:
Develop or use a third-party Apple verification code automatic identification program

1. Most of the Apple verification codes are complex overlapping patterns with low recognition success rate
2. The number of digits of Apple verification code is not fixed.


If you want to develop your own Apple warranty inquiry interface, you can use the verification code identification interface provided by 3023 data. …
According to the depth optimization of apple verification code, the recognition time is less than 0.3 seconds, and the accuracy rate is as high as 86%

How do I find my Apple serial number?

She is on the same bench with the same man. I was shocked and probably sweaty from what I saw. My cock tensed and was about to jump out of my pants. -Tell me, these are not all the pictures, they were even more frank. -We lived with relatives.

Similar news:

Nastya rushed to the swimwear. You still need it, why not buy it right away. I chose a bright multi-colored swimsuit and ran a bullet back to the fitting room. Taking off her top and skirt, Nastya pulled off her panties, put on.

41000 41001 41002 41003 41004