> For the complete documentation index, see [llms.txt](https://help.refractbot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.refractbot.com/modules/apple.md).

# Apple

Refract's Apple module runs Apple releases (iPhone launches and restocks) across regions, with shipping or in-store pickup. Checkout uses your profiles. Accounts are not needed, and you should leave them off. Any iCloud email is not allowed on the profile or in Accounts. If a task says **iCloud Not Allowed**, that is why.

## One queued drop a year

Apple is not a weekly site. There is one queued drop a year, the new iPhone launch, and everything after it is restocks. That shapes how you should think about the whole module.

{% hint style="info" %}
**We have dominated every Apple drop.** The queued launch only happens once a year, so there is no dress rehearsal. There is no way to know in advance whether Apple has changed their flow. The module goes in performing the way it did last year, and the years before that.

On iPhone 18, Apple changed their antibot right before the drop. It was the first time that change had been on the site, so there was no way to solve it ahead of time. We were online, worked through it live, and posted updates in Discord.

If Apple changes something on a future release the same way, right before it goes live, we will be online and ready to handle it.
{% endhint %}

Practically, that means: get everything set up well ahead of time. Start tasks a few minutes before the release. Five minutes before is the baseline if you want a number. You can also start once the queue is up. Watch announcements on the day.

## Get the full product URL

Apple's monitor input is the full product URL of the exact spec you want. Here is how to get it:

{% stepper %}
{% step %}

#### Spec out the product

Head to [apple.com/iphone](https://www.apple.com/iphone/) (or the product's page) and fully spec out the device: size, color, storage, carrier, and so on. Be sure to do this on the Apple domain for your region.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-dfddc92f95d366fafb63785e1a32d38755cde1b0%2Fapple-product-spec-iphone-18.png?alt=media" alt="The iPhone 18 Pro Max spec page on apple.com, fully configured"><figcaption><p>Spec the device all the way out. The URL of this final page is what goes in your monitor input.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Copy the final URL

Once you reach the final spec page, copy the URL from the address bar. A full URL looks like:

```
https://www.apple.com/shop/buy-iphone/iphone-18-pro/6.9-inch-display-256gb-burgundy-unlocked
```

{% endstep %}

{% step %}

#### Paste it as the monitor input

That full URL is your task group's monitor input. The product landing page will not work, and neither will anything else short of the final spec-page URL.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
**Get your URLs and stores set before the queue goes up.** Once Apple's queue is live, apple.com stops serving what you need: you cannot spec out a product page to get a URL, and stores cannot be fetched either. On the iPhone 18 release the queue was up for a few hours. Anything you have not collected by the time it goes live, you are not getting until the queue clears. Build your task groups and tasks ahead of time.
{% endhint %}

## Task Group Setup

Create a task group for the Apple region you are running (see [Task Group Creation](/general-setup/task-creation/task-group-creation.md)). Apple's group settings are the simplest of any site:

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-3bc7dc922b88814034dc9165a8b40cfb6de9f1c9%2Fapple-task-group.png?alt=media" alt="An Apple US task group settings panel" width="380"><figcaption><p>Apple's group settings: the full product URL, a proxy list, and the delay.</p></figcaption></figure>

| Setting            | Value                | Notes     |
| ------------------ | -------------------- | --------- |
| Monitor Input      | The full product URL | See above |
| Monitor Proxy List | Your proxy list      |           |
| Monitor Delay      | `3500` (default)     |           |

## Task Creation

Click **+** in the task group to open Create Tasks.

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-aba7d5ef3aa6eacd32ad9aeb60f1b4c23f74c9a6%2Fapple-create-tasks.png?alt=media" alt="The Apple Create Tasks window" width="420"><figcaption><p>Restart on Failure stays ON. Leave Accounts blank. No iCloud email on the profile. 3DS Proxy List defaults to your local IP.</p></figcaption></figure>

| Setting                              | Value              | Notes                                                                                                                                                                            |
| ------------------------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Profiles                             | Your Profile Group | No iCloud email in the profile **Email** field                                                                                                                                   |
| Task Proxy List                      | Your proxy list    | Leave blank for localhost                                                                                                                                                        |
| Match account to profiles (by email) | OFF                | Leave this off. Accounts are not needed                                                                                                                                          |
| Accounts                             | Leave blank        | Not needed. You should not add them. No iCloud email in Accounts                                                                                                                 |
| Restart on Failure                   | ON (default)       | Tasks automatically restart after a failure instead of stopping                                                                                                                  |
| Use Account Shipping                 | OFF                | Ships to the address saved inside the Apple account                                                                                                                              |
| Use Account Billing                  | OFF                | Uses the billing address saved inside the Apple account                                                                                                                          |
| Apply Account Balance                | OFF                | Uses the gift card balance on the account                                                                                                                                        |
| Use Fastest Delivery ($$)            | OFF                | Checks out with the fastest delivery option, often at a premium charge                                                                                                           |
| 3DS Proxy List                       | Blank (local IP)   | Defaults to your local IP. Some proxies are banned on Amex 3DS. See below                                                                                                        |
| In-Store Pickup                      | OFF                | Purchases for in-store pickup. See below                                                                                                                                         |
| Business Name (optional)             | Blank              | Only if you are registered with Apple as an official business                                                                                                                    |
| Retry Delay                          | `3500` (default)   |                                                                                                                                                                                  |
| Task Qty                             | `1`                | Tasks per profile. Apple has no task limit. See [How many tasks](#how-many-tasks)                                                                                                |
| Item Quantity                        | `1`                | A ceiling, not an exact number: the task goes for the max it can get, up to what you set. See [How Item Quantity works](/general-setup/task-creation.md#how-item-quantity-works) |

{% hint style="warning" %}
**Amex SafeKey opens blank?** Your task proxies are banned on Amex 3DS. Set **3DS Proxy List** to local, or to cleaner proxies that are not banned there. Leave the field blank to use your local IP.
{% endhint %}

### In-Store Pickup options

With In-Store Pickup on, you configure where the bot looks for stores:

* **Max Distance:** how many miles from the ZIP code the bot searches for stores.
* **Use Store From Profile Zip:** searches for stores within the max distance of the profile's ZIP code.
* **Choose Store:** enter a custom ZIP and manually pick individual stores. Useful when running out of state or targeting specific stores.

{% hint style="warning" %}
**You cannot choose the pickup time or the pickup person.** Apple takes the next available pickup slot at the store that hits, and there is no option in the bot to set a custom time or name someone else to collect the order. That is the case at this time, for every region.
{% endhint %}

{% hint style="info" %}
**Stores not populating?** Either your local IP is banned or it is just slow to load; give it 30 seconds. If the Apple waiting room page is live, store data cannot be fetched at all, and there is no way to force store selection, which is why stores need picking before the queue goes up. If you are already in that window, use the billing ZIP and search radius to determine stores when creating tasks.
{% endhint %}

## Accounts

{% hint style="warning" %}
**Any iCloud email is not allowed on Apple.** Do not use an iCloud address in the profile **Email** field. Do not use an iCloud address in **Accounts**. If a task says **iCloud Not Allowed**, that is why. Use a different email and start the task again.
{% endhint %}

{% hint style="info" %}
**Leave accounts off.** They are not needed, and you should not use them. Checkout runs on your profiles.
{% endhint %}

You do not have to pre-save the iPhone to an Apple account. Refract does not need the product saved on an account ahead of time.

The account toggles in Create Tasks (account shipping, account billing, and gift card balance) stay off with this setup. If you do run a task with an account anyway, the first start sends a code to your Apple devices. Enter it in the [2FA codes window](/general-setup/settings.md#2fa-codes), or set up [IMAP](/misc./imap.md) to submit codes automatically.

## How many tasks

{% hint style="info" %}
**There is no task limit on Apple.** Most servers can handle 2,000 or more tasks. We do not have a maximum to suggest.
{% endhint %}

How many tasks you can run depends on the network, the same as every other site. Test your own setup. That is the only way to find where it holds.

## Running an Apple release

* **Have your URLs and stores locked in before the queue goes up.** Once the queue is live, product pages and store data cannot be fetched, so nothing can be added or changed that depends on apple.com. See [Get the full product URL](#get-the-full-product-url).
* **Start a few minutes before the release.** Five minutes before is the baseline if you want a number. You can also start earlier once the queue is up. On iPhone 18 the queue was up for a few hours, so an hour or more before was fine too. You do not need a 10-15 second window. Each drop is different. If this release needs a different start time, we will post it in Discord.
* **The bot handles Apple's queue.** Tasks in the queue say **Queue**. That is expected, including in the hours before the drop and through the first 5-10 minutes of the release, while Apple lets users in. Stores stop fetching while the queue is up.
* **Rate Limited is not the queue.** If tasks say **Rate Limited**, your proxies are flagged, or an antibot change has occurred on the queue. Watch Discord if it is the second one.
* **Shipping tasks are the reliable play on launch day.** They are not subject to the same out-of-stock issues as pickup and typically check out successfully around the clock during a release. The variable is the delivery date, which slips further out as stock depletes.
* **Pickup tasks keep working after the drop.** Restocks occur over the days following an initial drop, so keep pickup tasks running.

### Forced Delivery

"Forced Delivery" means Apple took away the pickup option and will only let the order ship. This is exactly what Apple shows at checkout:

<figure><img src="https://2861066425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjdmk3RduT9OdU2B3zFmG%2Fuploads%2Fgit-blob-b40f515f4af31baa48f1108d89dc6c9b9c32e3d2%2Fapple-forced-delivery.png?alt=media" alt="Apple checkout: The Delivery &#x26; Pickup Option you&#x27;ve chosen is no longer available for this order. Your order is only eligible for delivery. One or more of your items can&#x27;t be picked up at an Apple Store." width="560"><figcaption><p>Apple's checkout when delivery is forced: pickup is no longer available, and the order is only eligible for delivery.</p></figcaption></figure>

{% hint style="info" %}
**This is all we have on Forced Delivery.** A ticket will not turn up more detail or a better fix.
{% endhint %}

Apple does not say why. It could be that pickup is out of stock at your stores, or that your profile, account, or proxy got flagged. All we know is that delivery was forced, and there is no way to tell which reason applies to your setup.

We have tested dozens of these by hand. On the same profile and proxy, Apple shows this screen in a manual checkout the same way it does in the bot.

You can keep running pickup tasks anyway and catch the restocks over the following days.

## Proxies

{% hint style="info" %}
**Run a mix.** We do not know which proxy type is working, and we do not know which provider is working. We do not recommend providers. What gets through can change on every drop.
{% endhint %}

Run ISP, datacenter, and residential, and buy them from more than one provider. Do not put the whole setup on one type or one company. Apple bans and rate-limits proxies, sometimes hard and sometimes barely at all. There is no way to know which it will be until the drop is underway.

A mix means a ban wave takes out part of your setup instead of all of it. For why we never name a provider, see [Why we do not recommend providers](/introduction-to-botting/proxies.md#why-we-do-not-recommend-providers). Ask your cook group what people are buying right now. We do not have that information.

## FAQ

<details>

<summary>What are the recommended steps for a new user running Apple?</summary>

1. Add profiles.
2. Add proxies. Run a mix of ISP, datacenter, and residential, from more than one provider. We do not know what is working, and we do not recommend a provider.
3. Skip accounts. They are not needed. Do not use an iCloud email on the profile or in Accounts. You do not have to pre-save the iPhone to an Apple account.
4. Create a task group with the full product URL and create tasks. Do this before the queue goes up: once it is live, URLs and stores cannot be fetched.
5. Start tasks a few minutes before the release. Five minutes before is the baseline if you want a number. Starting earlier is also fine once the queue is up.
6. Watch Discord on the day. If Apple changes something right before the drop, we will be online and will post updates there.

</details>

<details>

<summary>Why is there a 3DS Proxy List, and what if Amex SafeKey opens blank?</summary>

Some proxies are banned on Amex 3DS. **3DS Proxy List** lets that SafeKey step use your local IP, or a cleaner proxy list, instead of the task proxies. Leave it blank and it uses your local IP.

If the Amex SafeKey window opens blank, your task proxies are banned on Amex 3DS. Set **3DS Proxy List** to local, or to cleaner proxies.

</details>

<details>

<summary>Do I need an Apple account?</summary>

No. Leave accounts off. They are not needed, and you should not use them. Checkout runs on your profiles.

Any iCloud email is not allowed on Apple. That includes the **Email** on the profile and the email in **Accounts**. If a task says **iCloud Not Allowed**, that is why.

You do not have to pre-save the iPhone to an Apple account. Refract does not need the product saved on an account.

</details>

<details>

<summary>Why do my tasks say iCloud Not Allowed?</summary>

Any iCloud email is not allowed on Apple. The **Email** on the profile cannot be an iCloud address, and the email in **Accounts** cannot be an iCloud address. If you see **iCloud Not Allowed**, that is why. Use a different email and start the task again.

</details>

<details>

<summary>Is there a task limit on Apple? How many tasks can I run?</summary>

There is no task limit on Apple. Most servers can handle 2,000 or more tasks. How far you can go depends on the network, the same as every other site. We do not have a maximum to suggest. Test it on your own setup.

</details>

<details>

<summary>What proxies should I run for Apple? ISP or residential?</summary>

Run a mix. We do not know whether ISP or residential is working better, and we do not know which provider is working. We do not recommend providers. Each drop can change what gets through.

Use more than one type (ISP, datacenter, and residential) and more than one provider, including more than one ISP. One type or one company means a single ban wave can take out the whole setup.

</details>

<details>

<summary>Can I choose my in-store pickup time or have someone else collect the order?</summary>

No. Apple takes the next available pickup slot at the store that hits. There is no way to set a custom pickup time or name a different pickup person in the bot at this time.

</details>

<details>

<summary>My tasks say Rate Limited. Is that the Apple queue?</summary>

No. Tasks in the queue say **Queue**. **Rate Limited** means your proxies are flagged, or an antibot change has occurred on the queue. If it is an antibot change, watch Discord. We will post when there is an update.

</details>

<details>

<summary>When should I start my Apple tasks?</summary>

A few minutes before the release is fine. Five minutes before is the baseline if you want a number. You can also start earlier once the queue is up. On iPhone 18 the queue was up for hours, and starting then was fine too. You do not need to wait until 10-15 seconds before the drop. Each drop is different, so check Discord on the day in case we post a different call.

While the queue is up, tasks say **Queue**, and stores will not fetch. Both are normal. Your URLs and stores still have to be set before the queue goes live, because apple.com stops serving them.

If tasks say **Rate Limited**, your proxies are flagged, or an antibot change has occurred on the queue.

</details>

<details>

<summary>How often does Apple have a queued drop?</summary>

Once a year, for the new iPhone launch. Everything after that is restocks. There is no dress rehearsal, and no way to know in advance whether Apple has changed their flow. We have dominated every Apple drop so far, and the module goes in performing the way it did last year.

On iPhone 18, Apple changed their antibot right before the drop. It was the first time it had been on the site. We were online and worked through it live. If they do that again on a future release, we will be online and ready to handle it, and we will post updates in Discord.

</details>

<details>

<summary>Will the bot adjust quantity if Apple's max is lower than what I set?</summary>

Yes. If you request 4 units and Apple allows 2, the bot automatically goes for 2.

</details>

<details>

<summary>Why am I getting Forced Delivery? Can a ticket tell me more?</summary>

No. This is everything we have, and a ticket will not turn up more detail or a better fix.

Apple does not say why. It could be that pickup is out of stock at your stores, or that your profile, account, or proxy got flagged. There is no way to tell which reason applies to your setup.

We have tested dozens of Forced Delivery cases by hand. On the same profile and proxy, Apple shows the same screen in a manual checkout as it does in the bot. You can keep pickup tasks running and catch restocks over the following days.

</details>

<details>

<summary>Can I still run pickup tasks if I see Forced Delivery?</summary>

Yes. Keep them running; restocks occur over the days after the initial drop. Just be aware that ISP proxies often get blocked after extended use.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.refractbot.com/modules/apple.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
