Firmware Downloads API

Before using the API please read all of this document.


  1. Formatting the URLs/Syntax
  2. Requesting Data
  3. Extras
  4. Responses
  5. Examples
  6. Other Information

1. Formatting the URLs/Syntax

In this section, the following key should be used:

e.g. iPhone3,1_4.1_8B117_Restore.ipsw
     |_______| |_| |___|
         |      |    |
         |      |    \----- BuildID: 8B117
         |      \---------- Version: 4.1
         \----------------- Identifier/device: iPhone3,1

1.1. Using the device and BuildID

This is the recommended method

The request URL follows the syntax below:[device]/[buildid]/[request](/dl)

1.2. Using the device and version

The request URL follows the syntax below:[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).

1.3. Using device and 'latest' OR 'earliest'

This allows you to select the latest/earliest data for a device.

The request URL follows the syntax below:

1.4. Using the MD5sum or SHA1sum of the IPSW file

The request URL follows the syntax below:[checksum]/[requested data](/dl)

2. Requesting Data

Below are listed the items you may request from the API.

3. Extras

4. Responses

The API responds with Status codes in the headers to provided information on the request you made.

5. Examples

Below are some example requests.