How the index is measured
Every number comes from a public page, is converted with published rates, and can be checked against its source. The collector is open source, so anyone can run it and get the same answer.
Where the prices come from
Each app's page in the Apple App Store lists its in-app purchases with their price in that country, the price someone with an Apple Account in that country pays. We read that page in each of the 174 countries Apple lists, for 16 apps, in English, and record the plan names and prices exactly as Apple prints them, along with the store's own currency code. AI apps are read every day and the others once a week. The pages are read through Skryp, which spreads the requests out so no one connection asks Apple for too much; anyone can run the open-source collector directly at a slow, polite pace instead. Apple's robots.txt allows these pages.
Matching plans across countries
Plan names are the same in every country when read in English, so "ChatGPT Plus" in Japan is matched with "ChatGPT Plus" in Brazil. The page doesn't say whether a price is monthly or yearly, so the length comes from the name when it says ("Monthly", "12 months", "Annual") and otherwise from the prices: when one plan shows two prices, the cheaper is the monthly one and a price 7 to 14 times higher is the yearly one. A country that lists only one price for a plan is compared with that plan's monthly price elsewhere, so a lone yearly price isn't mistaken for a monthly one. One-off purchases (credit packs, coins, boosts) are left out. Each app's page leads with its plan sold in the most countries.
US dollars and "feels like"
Prices are converted to US dollars with that day's rates from Rates By Exchange Rate API, checked against a second source when the index was built (they agreed within 0.5%). "Against the US" compares each country's dollar price with the US price of the same plan.
"Feels like" divides the dollar price by the country's price level: the World Bank's PPP conversion factor (GDP) over its official exchange rate, for the latest year that has both. A plan that costs $20 where prices are 40% of US prices weighs on a local budget the way $50 does in the US. It's a guide to affordability, not a wage figure.
Apps we collect but don't publish yet
Some apps sell several price points under one plan name in the same country: older prices kept for existing subscribers, offers, or prices that change by user. When an app's main plan shows conflicting prices in more than 15% of countries, we hold the whole app back rather than guess, and a single country where a plan shows conflicting prices is left out for that plan. Held back on 8 October 2026: Disney+ (conflicting prices in 18% of countries), Snapchat+ (conflicting prices in 40% of countries), Discord Nitro (conflicting prices in 35% of countries), LinkedIn Premium (conflicting prices in 46% of countries), Tinder (conflicting prices in 99% of countries), Bumble (conflicting prices in 94% of countries), Duolingo (conflicting prices in 99% of countries), Canva (conflicting prices in 86% of countries), Strava (conflicting prices in 32% of countries), Calm (conflicting prices in 100% of countries), Headspace (conflicting prices in 17% of countries), NordVPN (conflicting prices in 92% of countries), ExpressVPN (conflicting prices in 99% of countries). They're still collected every week, so they can join once a clear price shows.
What the numbers don't say
- App Store prices usually include local VAT or sales tax; US App Store prices don't include sales tax.
- An app's own website can charge a different price than its App Store listing.
- Apple lists up to ten in-app purchases per app, so a rarely bought plan can be missing in some countries.
- Exchange rates move daily, so a dollar figure can change while the local price stays the same. Local price changes are logged in the data's change history.
- This is a record of what people pay. It's not advice to buy from another country's store, which Apple's terms don't allow.
Use and cite it
The data is free to use, share and adapt under CC BY 4.0: credit "Puley Price Index" with a link to puley.com/prices. The collector's code is MIT-licensed. Suggested citation:
Data: every price (CSV), the index (JSON), JSON per app at /prices/data/apps/<app>.json and per country at /prices/data/countries/<code>.json, and the daily history on GitHub. Corrections and questions: [email protected].