Apple firmware data
DeviceIdentifier API is able to dynamically download and parse Apple firmware images for analytical purposes. It does not store or archive any Apple binaries. It supports iOS, iPadOS, HomePodOS, tvOS and WatchOS devices.
This functionality has no dependancy on any upstream non-Apple API or tools. As such, in the event of outage or error in the ipsw.me
or TSSstatus
APIs, or the tsschecker
tool, this API will continue to function and receive updates normally.
The API’s firmware data can be used in a number of ways, detailed below.
Fetching data on the latest firmware available (and its signing status) for a given Apple device.
Firmware data for a given device is automatically returned with any internal name query. The nested firmware data is in the following format:
"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": "http://appldnld.apple.com/iOS7.1/031-4897.20140627.JCWhk/d52a3e7a1a2c16c8c400c6829a6d6fe6d5e00760.zip", "version": "7.1.2" }, ... ]
Fetching data on a particular firmware release
Information on a given firmware release can be requested with the following format of URI:
https://di-api.reincubate.com/v1/firmware/ios/12.4/
{ "version": "12.4", "release_notes": "iOS 12.4 introduces iPhone migration to directly transfer data from an old iPhone to a new iPhone, includes enhancements to Apple News+ and improves the security of your iPhone or iPad. This update:\n\niPhone migration\n\n* Introduces the ability to wirelessly transfer data and migrate directly from an old iPhone to a new iPhone during setup\n\nApple News\n\n* Makes downloaded issues accessible in the My Magazines section, both online and offline\n* Adds all publications in Apple News+, including newspapers, to the catalog at the top of the News+ feed\n* Adds the ability to clear downloaded magazine issues by selecting History > Clear > Clear All\n\nOther improvements and fixes\n\n* Includes a security fix for the Walkie-Talkie app on Apple Watch and re-enables Walkie-Talkie functionality\n\nThis release also includes support for HomePod in Japan and Taiwan.\n\nFor information on the security content of Apple software updates, please visit this website: https://support.apple.com/kb/HT201222", "releases": [ { "build": "16G77", "filesize": 0, "identifier": "iPad11,1", "internal_name": null, "ota": false, "required_build": null, "required_version": null, "sha": "5374906d06c4dcec8f310f97cb1c858f54953993", "signed": true, "signing_started": "2019-07-22", "signing_stopped": null, "url": "http://updates-http.cdn-apple.com/2019SummerFCS/fullrestores/041-86578/9E2214A0-A743-11E9-8F1A-C04349C1A2D4/iPad_Spring_2019_12.4_16G77_Restore.ipsw" }, ... ] }
Fetching a full firmware feed
This archive is designed for use with tsschecker
, such that it can be patched into tsschecker.c where the ipsw.me
API is unavailable.
It provides a JSON index of available over-the-air (OTA) or non-OTA (full) firmwares available for all devices.
- Non-OTA (full) feed: https://di-api.reincubate.com/v1/firmware/full-feed/
- OTA feed: https://di-api.reincubate.com/v1/firmware/ota-feed/
#define FIRMWARE_JSON_URL "https://di-api.reincubate.com/v1/firmware/full-feed/" #define FIRMWARE_OTA_JSON_URL "https://di-api.reincubate.com/v1/firmware/ota-feed/"