Before using the API please read all of this document.
In this section, the following key should be used:
[device]
- the identifier of the device you want, or the boardconfig. e.g. iPhone4,1 or n94ap[buildid]
- the BuildIdentifier of the firmware file, found in the BuildManifest.plist or Restore.plist of the IPSW file. Also the filename of the IPSW (see diagram below)[version]
- the version of the IPSW (see diagram below)[request]
- the data you wish to request - see Requesting Data for all available requests.[checksum]
- either the SHA1sum or MD5sum of the IPSW.e.g. iPhone3,1_4.1_8B117_Restore.ipsw |_______| |_| |___| | | | | | \----- BuildID: 8B117 | \---------- Version: 4.1 \----------------- Identifier/device: iPhone3,1
This is the recommended method
The request URL follows the syntax below:
http://api.ipsw.me/v2.1/[device]/[buildid]/[request](/dl)
The request URL follows the syntax below:
http://api.ipsw.me/v2.1/[device]/[version]/[requested data](/dl)
Warning this request is not ideal, due to the fact that some versions have more than one firmware under that version. If this is the case, a 300 Multiple Choices
status code will be returned, with all the data in JSON format. Just use the BuildID request method (1.1).
This allows you to select the latest/earliest data for a device.
The request URL follows the syntax below:
http://api.ipsw.me/v2.1/[device]/latest/[requested data](/dl)
for latesthttp://api.ipsw.me/v2.1/[device]/earliest/[requested data](/dl)
for earliestThe request URL follows the syntax below:
http://api.ipsw.me/v2.1/[checksum]/[requested data](/dl)
Below are listed the items you may request from the API.
url
- the link to the firmware on Apple’s serversmd5sum
- the MD5sum of the IPSWuploaddate
- the date the firmware was uploaded to Apple’s Servers - formatted RFC3339.releasedate
- the date the firmware was released - formatted RFC3339. Not available for some earlier firmwaresfilesize
- the size of the IPSW in bytesname
- the user-friendly name of the device that the IPSW points to e.g. iPod touch 5
version
- the version of the IPSW filebuildid
- the BuildID of the firmwareidentifier
- the user-unfriendly (but api friendly :P) identifier of the device e.g. iPod5,1
info.json
- all known information about the firmware (i.e. everything in this list) in json formatfilename
- the filename of the IPSWsha1sum
- the SHA1sum of the IPSW/dl
to the end of the URL (as shown above)http://api.ipsw.me/v2.1/firmwares.json
) with a condensed version here (http://api.ipsw.me/v2.1/firmwares.json/condensed
). Do with it what you will.The API responds with Status codes in the headers to provided information on the request you made.
400 Bad Request
- the request has not been completed due to a syntax or formatting error. Refer to this documentation.404 Not found
- information not found, does not exist in database300 Multiple Choices
- There are multiple pieces of data that have been returned to you. This is only when requesting by firmware, not buildid. The choices will be returned as an array in a JSON format.200 OK
- the data has been found and successfully returned to you. (this is the best one!)Below are some example requests.
http://api.ipsw.me/v2.1/iPod4,1/8B118/url
http://api.ipsw.me/v2.1/iPad1,1/8L1/datefound
http://api.ipsw.me/v2.1/iPad1,1/8L1/filesize
http://api.ipsw.me/v2.1/iPad1,1/8L1/url/dl
http://api.ipsw.me/v2.1/iPad3,1/latest/filename
http://api.ipsw.me/v2.1/iPad3,2/earliest/info.json
http://api.ipsw.me/v2.1/2c0dd880982f0f8e47dc3dadfb733ad7/url
http://api.ipsw.me/v2.1/2c0dd880982f0f8e47dc3dadfb733ad7/identifier