Appopolis

Apple is quietly charging India more than America for your app

20 August 2026 · pricing, app store, indie

Set a price in App Store Connect and Apple offers to handle every other territory for you. It is one toggle, it is the default, and it looks like the sensible thing to do.

I had six apps on that default. Then I actually looked at the numbers.

What a $4.49 app really costs

TerritoryApple's automatic priceRoughly, in USD
United States$4.49$4.49
India₹499≈ $6.00
Turkey₺249.99≈ $7.30
BrazilR$29.90≈ $5.50
Mexico$99 MXN≈ $5.40
IndonesiaRp79,000≈ $4.85
Six territories, priced by Apple's automatic conversion. Turkey, India, Brazil, Mexico and Indonesia all land above the US price in real terms.
Six territories, priced by Apple's automatic conversion. Turkey, India, Brazil, Mexico and Indonesia all land above the US price in real terms.

India and Turkey are not slightly expensive. They are paying more than Americans, in markets where average income is a fraction of the US figure. In purchasing-power terms, ₹499 for an Indian buyer is closer to what $25–30 feels like to an American one.

This is not Apple being greedy. Automatic pricing is doing exactly what it says: take the base price, apply the exchange rate, add local tax, round up to a supported price point. Every one of those steps is defensible. The result is still that you have quietly priced yourself out of most of the world.

The part nobody mentions

Here is what I found while writing a tool to fix it.

Every price point in the App Store Connect API has an id that looks like gibberish:

eyJzIjoiMDAwMDAwMDAwMCIsInQiOiJVU0EiLCJwIjoiMTAwMTQifQ

It is base64. Decode it:

{ "s": "0000000000", "t": "USA", "p": "10014" }

The app id (redacted here), the territory, and a tier number. And that tier number is shared across every territory on the store.

Tier 10055 is $4.49 in the United States. The same tier is ₹189 in India and ₦790 in Nigeria. Apple has already done the purchasing-power work — those ladders are not naive currency conversions, they are localised price points Apple sells in that market every day.

Automatic conversion just does not use them.

Asking India for its own tier-10055 price is a 62% cut before you apply any deliberate discount at all. You are not undercutting anything. You are asking for the price Apple itself considers equivalent.

The fix

Pick tiers by name instead of converting money. Take a fraction of your US price, find the US tier nearest it, then ask each territory for *that same tier*. No exchange-rate feed to keep fresh, no arithmetic that goes stale, and every price you land on is one Apple already sells in that currency.

I grouped territories into four bands by rough purchasing power and applied a fraction of the US price on top of tier parity — 45% for the lowest-income markets, 65%, 85%, and unchanged for everywhere else. The US stays the base territory, so anything I do not name keeps Apple's automatic behaviour.

TerritoryBeforeAfter
India₹499₹85
Turkey₺249.99₺24.99
BrazilR$29.90R$8.99
Mexico$99 MXN$38 MXN
Nigeria₦6,900₦310
United States$4.49$4.49
Canada$5.99$5.99
United Kingdom£3.99£3.99

Nothing moved in the US, Canada, the UK, Germany, Australia or Japan.

Three things that will bite you

A price schedule POST replaces the whole schedule. There is no incremental write. Every manual price has to go in one request, and anything that touches the base price wipes every regional override you set.

Read your current price with a territory filter. My own release tooling read manualPrices without one. With 119 overrides on the schedule, Apple returns whichever it feels like — I got a Nigerian band price — the script decided the price was wrong, re-POSTed a US-only schedule, and silently destroyed every regional price I had just set. Nothing errored. India went from ₹60 back to ₹349 between two commands.

Price changes do not need review. They take effect on live apps immediately, which is the one genuinely nice part of this.

Was it worth it?

Ask a different question: what was the old price actually earning in those markets? If the answer is "almost nothing, because nobody in India was going to pay ₹499 for a packing list," then you have not cut revenue. You have started having a conversation you were not previously part of.

I will report back with real numbers once there are some.