Premium App DropsDevelopers

Apple offer codes for developers: setup and limits in 2026

Apple offer codes give people a free or discounted in-app purchase or subscription for a set time. You create them in App Store Connect on the product's page: up to 10 active offers and 1 million codes per app per quarter, as one-time codes in batches of 500 to 25,000 or as custom codes you name yourself.

By Antonio Cappiello · Published · Last checked

Offer codes let you give someone your paid features on the App Store for free or at a discount. Below: what they cover in 2026, Apple's published limits, the setup in App Store Connect, and what the person on the other end sees. Every number comes from Apple's own pages, checked on 27 Oct 2026.

What offer codes cover in 2026

Offer codes started with auto-renewable subscriptions. On 29 Oct 2025 Apple announced that they now work for every in-app purchase type:

The same post said that from 26 Mar 2026 you can no longer create promo codes for in-app purchases in App Store Connect. Promo codes for a free download of a paid app still exist. If your app costs money up front, an offer code cannot make the download free; that is still a job for app promo codes. The differences are in App Store promo codes in 2026.

An offer can be free or paid (a discount). Each customer can redeem one code per offer.

The three kinds of code

Apple offer code types
One-time useCustomSandbox
What it isRandom unique codes, each redeemable onceA code you name, such as SUMMER25One-time codes for testing
Batch size500 to 25,000 per batch; make more batches if you need moreRedemption limit up to 25,000 per batch10 to 10,000
ExpiryRequired, at most 6 monthsOptional, at most 6 months if setOptional, at most 6 months
Where people redeem (in-app purchases)Redemption URL, the App Store, or your appRedemption URL or your appSandbox account settings on a device

One-time codes suit giveaways where each person should get their own code. Custom codes suit a podcast read or a newsletter, where one easy word goes to many people, but anyone who sees that word can use it until the limit runs out. Custom codes can be up to 64 characters with no special characters.

Limits from Apple's documentation

To extend a custom code, create a new batch with the same code and a later expiry date. Apple redeems from the earliest batch that has not expired first.

Before you start

Create an offer for an in-app purchase

This covers consumables, non-consumables and non-renewing subscriptions.

  1. In App Store Connect, open Apps and select your app.
  2. In the sidebar, click In-App Purchases, then the product.
  3. Scroll to Offer Codes and click Create Offer. For a non-renewing subscription, scroll to Non-Renewing Subscriptions, click Manage, then Create.
  4. Enter a reference name and pick who is eligible: people who never bought in your app, people who bought in the last 30 days, people who bought more than 30 days ago. Select all three to make it available to everyone.
  5. Pick the countries or regions.
  6. Choose Free Offer or Paid Offer. For a paid offer, set the price in a base country and review the comparable prices Apple fills in for the other storefronts.
  7. Check the summary and click Confirm.

The reference name is permanent, and you cannot reuse one that another offer in the same app already has. It is also how the offer shows up in Sales and Trends reports, so make it readable ("Newsletter Nov 2026" tells you more than "offer3").

Create an offer for an auto-renewable subscription

  1. Open your app, click Subscriptions in the sidebar, then the subscription group and the subscription.
  2. In Subscription Prices, click the add button (+), then Create Offer Codes.
  3. Enter a reference name and choose eligibility: new subscribers, existing subscribers, expired subscribers, or any mix.
  4. Decide what happens with your introductory offer if you have one (see below), pick the countries, then the offer type (Free, Pay as you go, Pay up front), the duration and the price.
  5. Confirm.

If the subscription has an introductory offer, you choose between two paths. With Yes, the customer gets the introductory offer first and then moves on to the code's offer. With No, the code applies first and the subscription then renews at the standard price, and the customer stays eligible for the introductory offer if they cancel and come back later. There is also a box that stops the subscription from renewing at the end of the offer. Tick it and you get a trial with no commitment, but only free offers are allowed then.

How intro offers, promotional offers, win-back offers and codes fit together (and Google Play's versions of each) is in introductory offers on both stores.

Create, download and share the codes

Open the offer by its reference name. For one-time codes, click Create One-Time Use Codes, choose the number and the expiry date, and click Create. When they are ready, click Download to get a CSV file. For custom codes, click Create Custom Codes and enter the code, the redemption limit and the expiry date.

Apple does not publish a fixed URL template in its help pages. The offer's page in App Store Connect shows an example redemption link; you add each code to the end of it. For subscription offers, Apple says the one-time code download includes the links too.

If you create codes often, the App Store Connect API has endpoints for both in-app purchase offer codes and subscription offer codes: create an offer, create one-time or custom codes, and list the one-time code values.

What people see when they redeem

People can redeem a code in three places:

If the person does not have your app, the App Store asks them to download it as part of the redemption. A redeemed code counts as a purchase, so your app has to deliver the product. Codes for subscriptions work on iOS 14.2, iPadOS 14.2, macOS 15 and visionOS 1.0 or later. Codes for consumables, non-consumables and non-renewing subscriptions need iOS 16.3, iPadOS 16.3, macOS 15 or visionOS 1.0 or later.

Support codes inside your app

The redemption sheet is optional but Apple recommends it. In SwiftUI, use the offerCodeRedemption(options:isPresented:onCompletion:) modifier. In UIKit or AppKit, call AppStore.presentOfferCodeRedeemSheet(from:options:). On iOS 16 and earlier only subscription codes are supported, through presentCodeRedemptionSheet().

Codes redeemed outside your app arrive as transactions too, so listen to Transaction.updates from launch and check Transaction.unfinished and Transaction.currentEntitlements when the app opens. A redeemed code shows up with an offer type of code on the transaction. Test it with sandbox codes on a device or with a StoreKit configuration file in Xcode before you send real codes out.

The Android side

Google Play has its own promo codes, created in Play Console. They work differently: separate quotas, CSV download only, and custom codes limited to subscriptions. The full walkthrough is in Google Play promo codes for developers. If you give away codes, plan both stores at the same time, so Android users are not left waiting.

Where to give codes away

Your own channels come first: your mailing list, your social accounts, your website, your support replies. Code-sharing sites and communities work too, with one caution: a public custom code spreads fast and can be used up by people who never open your app again. One-time codes handed out one per person hold up better.

Premium App Drops is one more option from 27 Nov 2026: a weekly drop on the web where developers list App Store and Google Play codes and each person claims one. Details for developers are on the developers page.

Whatever channel you use, never tie a code to a rating or review. Apple's App Review Guidelines warn that manipulating reviews or rankings with "paid, incentivized, filtered, or fake feedback" can get you removed from the Apple Developer Program. The only review request that belongs in your app is Apple's own prompt, never linked to a code.

A side note on pricing. Offer prices are set per country. If you also want to rethink your regular prices country by country, App Store Connect lets you do it by hand. PricePush (pricepush.app) is another way: it sets local prices on both stores. Disclosure: I make PricePush, and it is one tool among several.

Questions people ask

Can an offer code make a paid app free to download?

No. Offer codes apply to in-app purchases and subscriptions. For a paid app, App Store Connect still has app promo codes for free downloads.

Can one person redeem the same offer twice?

No. Apple allows one code per offer per customer. You can make a second offer, but eligibility rules still apply.

Why does a new code not work yet?

Apple says codes can take up to an hour before they redeem. Also check that the app is live and that the person's App Store country is one you picked for the offer.

Do unused codes come back to my quota?

No. Apple says unredeemed codes you deactivate are not added back to the quarterly limit.

Sources

Store rules change. Spotted something out of date? Email hello@premiumappdrops.com and we'll fix it.

Give your codes to people who want your app

Premium App Drops is a weekly drop of free codes for paid apps on iPhone and Android, starting Friday 27 November 2026. Listing is free, you choose the countries, each person gets one code, and nobody is ever asked for a review.

Add your app

More guides