We monitor 175 App Store storefronts to answer one question —
Is English Grammar Practice 7000+ Questions censored by Apple?
English Grammar Practice 7000+ Questions is gone from every App Store storefront we test. It was last seen available on Apr 21, 2022.
246 tests on record·last checked 3 days ago
Why it is unavailable
Five things can put an app out of one App Store. Each is weighed below against what can be seen from outside — open a card for the reasoning.
A government or a court demanded it
and Apple complied. Apple publishes a count of these per country each year and never says which apps they were. Apple's 2025 App Store Transparency Report
- Education apps in the United States are unavailable at 4%, near the 5% for everything there, which cuts neither way.
- Apple reports 335 government-ordered removals in Vietnam for 2025, naming none of them.
Apple applied a rule, unasked
either its own review guidelines, or its own reading of a local law, with nobody having demanded anything. This is the largest category in Apple's own removal figures by a wide margin, and it covers distribution permits as well as content — Apple kept a free Bible app out of mainland China in 2021 for want of one. Apple's 2025 App Store Transparency Report
- Education apps in the United States are unavailable at 4%, near the 5% for everything there, which cuts neither way.
The developer withheld it
freely, or under legal advice of their own, or because Apple's guidelines require that kind of app to be limited to certain countries. Switching a country off is easy for a developer to do in Apple's own tools: it needs no new version of the app, and it leaves no public trace other than the app being unavailable.
Something broke
a rejected update, a lapsed certificate, a payment or licensing problem, a mistake nobody has got round to noticing.
- Gone for 2 years.
A local rule about paying for it
gambling licences, financial rules, tax — the kind of law that governs a transaction. Apple can obey every one of them by refusing the payment, which is why this is the only restriction we would accept and the only one that cannot touch a free app.
- It is free, so Apple sells nothing here.
How this is weighed, and what it cannot tell you
Weighed from the evidence under each card, not from a model. There is no published figure for how Apple's removals divide up, so these are ordered words rather than percentages. For scale on the same-day counts: across the whole record an app leaves a storefront with fewer than two others, so a dozen at once is not a dozen coincidences.
None of this is certain, and a citation does not make it so: Apple naming a Chinese agency tells you what Apple said, not everything that happened. What can be said is that the readings alone cannot separate these five — a developer switching off a country and a government ordering it removed arrive at Apple's catalogue looking identical — and that nobody has ever measured how they divide across the App Store. The one careful study of the question was done on Google's store, using an error message Apple does not emit.
Apple publishes no record of which apps are unavailable in which of its App Stores. For the removals it makes on a government's demand it publishes the agency and the law behind every one — 2,045 of the 166,899 apps it removed during 2025 — and never which app. Where a reason reaches the public at all, it is usually because a developer chose to say so. Apple's App Store Transparency Report
Know of a statement, notice or order we have missed? Tell us →
English Grammar Practice 7000+ Questions
Developer: SaiBoQiZhi (Beijing) Education Technology Co., Ltd. · Category: Education · Released: Jul 10, 2016 ·
Other Education apps missing from mainland China
Life of this app
- Jul 10, 2016Released on the App Store
- Apr 21, 2022First tested by AppleCensorship
- Apr 21, 2022Last seen available anywhere
- Feb 1, 2025Gone from 52 storefronts
- Sep 16, 2026Most recent test
Testing history
One column per month, every month from the first reading to the last. Height follows how many readings we took that month; red is the share of them that found the app unavailable. An empty month is one nobody tested.
Found availableFound unavailable
Availability by storefront
Every storefront we test, current status first. Data is a measurement, not a promise: each row carries its own date.
| Test now | |||||
|---|---|---|---|---|---|
| AlbaniaAL | Unavailable | Oct 7, 2024 | 2 years ago | ||
| AngolaAO | Unavailable | Apr 13, 2025 | 1 year ago | ||
| AnguillaAI | Unavailable | Aug 13, 2024 | 2 years ago | ||
| Antigua & BarbudaAG | Unavailable | Sep 2, 2024 | 2 years ago | ||
| AustraliaAU | Unavailable | Dec 21, 2024 | 2 years ago | ||
| BahamasBS | Unavailable | May 10, 2026 | 4 months ago | ||
| BermudaBM | Unavailable | Jul 26, 2024 | 2 years ago | ||
| Cayman IslandsKY | Unavailable | Aug 8, 2026 | 42 days ago | ||
| ChileCL | Unavailable | Jul 15, 2026 | 2 months ago | ||
| China (Mainland)CN | Unavailable | Jul 25, 2024 | 3 days ago | ||
| CzechiaCZ | Unavailable | Nov 16, 2025 | 10 months ago | ||
| Dominican RepublicDO | Unavailable | Apr 3, 2026 | 6 months ago | ||
| DR CongoCD | Unavailable | Aug 13, 2024 | 2 years ago | ||
| EgyptEG | Unavailable | Jan 26, 2026 | 8 months ago | ||
| EstoniaEE | Unavailable | Jan 10, 2026 | 8 months ago | ||
| FijiFJ | Unavailable | Jul 17, 2025 | 14 months ago | ||
| GabonGA | Unavailable | Sep 7, 2025 | 12 months ago | ||
| GeorgiaGE | Unavailable | Jul 2, 2025 | 15 months ago | ||
| HondurasHN | Unavailable | Mar 14, 2026 | 6 months ago | ||
| JamaicaJM | Unavailable | Mar 20, 2026 | 6 months ago | ||
| JordanJO | Unavailable | Nov 11, 2024 | 3 days ago | ||
| KazakhstanKZ | Unavailable | Jul 25, 2024 | 2 months ago | ||
| LebanonLB | Unavailable | Mar 4, 2026 | 7 months ago | ||
| LithuaniaLT | Unavailable | Sep 12, 2024 | 2 years ago | ||
| LuxembourgLU | Unavailable | Aug 24, 2025 | 13 months ago | ||
| MadagascarMG | Unavailable | Aug 17, 2025 | 13 months ago | ||
| MalaysiaMY | Unavailable | May 31, 2025 | 16 months ago | ||
| MaltaMT | Unavailable | Jul 25, 2024 | 8 months ago | ||
| MicronesiaFM | Unavailable | Sep 2, 2024 | 2 years ago | ||
| MoldovaMD | Unavailable | Jul 25, 2024 | 42 days ago | ||
| MontserratMS | Unavailable | Feb 13, 2026 | 7 months ago | ||
| Myanmar (Burma)MM | Unavailable | Oct 27, 2024 | 2 years ago | ||
| NauruNR | Unavailable | Jul 25, 2024 | 3 days ago | ||
| New ZealandNZ | Unavailable | Jan 10, 2026 | 8 months ago | ||
| NigeriaNG | Unavailable | Jan 15, 2026 | 2 months ago | ||
| OmanOM | Unavailable | Jul 25, 2024 | 41 days ago | ||
| PanamaPA | Unavailable | Aug 9, 2026 | 41 days ago | ||
| Papua New GuineaPG | Unavailable | Sep 15, 2025 | 12 months ago | ||
| QatarQA | Unavailable | Mar 10, 2025 | 1 year ago | ||
| SloveniaSI | Unavailable | Feb 1, 2025 | 2 years ago | ||
| South AfricaZA | Unavailable | Sep 12, 2024 | 2 years ago | ||
| South KoreaKR | Unavailable | Aug 2, 2026 | 2 months ago | ||
| SpainES | Unavailable | Jun 19, 2026 | 3 months ago | ||
| St. Vincent & GrenadinesVC | Unavailable | Sep 24, 2024 | 2 years ago | ||
| SwitzerlandCH | Unavailable | Jul 25, 2024 | 6 months ago | ||
| TajikistanTJ | Unavailable | Jul 25, 2024 | 6 months ago | ||
| ThailandTH | Unavailable | Jul 25, 2024 | 2 years ago | ||
| UkraineUA | Unavailable | Jan 25, 2025 | 2 years ago | ||
| United Arab EmiratesAE | Unavailable | Jul 25, 2024 | 3 days ago | ||
| United StatesUS | Unavailable | Jul 25, 2024 | 3 days ago | ||
| VietnamVN | Unavailable | Jul 25, 2024 | 13 months ago | ||
| ZimbabweZW | Unavailable | Dec 15, 2024 | 2 years ago | ||
| AfghanistanAF | Not tested | — | — | 0 | |
| AlgeriaDZ | Not tested | — | — | 0 | |
| ArgentinaAR | Not tested | — | — | 0 | |
| ArmeniaAM | Not tested | — | — | 0 | |
| AustriaAT | Not tested | — | — | 0 | |
| AzerbaijanAZ | Not tested | — | — | 0 | |
| BahrainBH | Not tested | — | — | 0 | |
| BarbadosBB | Not tested | — | — | 0 | |
| BelarusBY | Not tested | — | — | 0 | |
| BelgiumBE | Not tested | — | — | 0 | |
| BelizeBZ | Not tested | — | — | 0 | |
| BeninBJ | Not tested | — | — | 0 | |
| BhutanBT | Not tested | — | — | 0 | |
| BoliviaBO | Not tested | — | — | 0 | |
| Bosnia & HerzegovinaBA | Not tested | — | — | 0 | |
| BotswanaBW | Not tested | — | — | 0 | |
| BrazilBR | Not tested | — | — | 0 | |
| British Virgin IslandsVG | Not tested | — | — | 0 | |
| BruneiBN | Not tested | — | — | 0 | |
| BulgariaBG | Not tested | — | — | 0 | |
| Burkina FasoBF | Not tested | — | — | 0 | |
| CambodiaKH | Not tested | — | — | 0 | |
| CameroonCM | Not tested | — | — | 0 | |
| CanadaCA | Not tested | — | — | 0 | |
| Cape VerdeCV | Not tested | — | — | 0 | |
| ChadTD | Not tested | — | — | 0 | |
| ColombiaCO | Not tested | — | — | 0 | |
| Costa RicaCR | Not tested | — | — | 0 | |
| Côte d’IvoireCI | Not tested | — | — | 0 | |
| CroatiaHR | Not tested | — | — | 0 | |
| CyprusCY | Not tested | — | — | 0 | |
| DenmarkDK | Not tested | — | — | 0 | |
| DominicaDM | Not tested | — | — | 0 | |
| EcuadorEC | Not tested | — | — | 0 | |
| El SalvadorSV | Not tested | — | — | 0 | |
| EswatiniSZ | Not tested | — | — | 0 | |
| FinlandFI | Not tested | — | — | 0 | |
| FranceFR | Not tested | — | — | 0 | |
| GambiaGM | Not tested | — | — | 0 | |
| GermanyDE | Not tested | — | — | 0 | |
| GhanaGH | Not tested | — | — | 0 | |
| GreeceGR | Not tested | — | — | 0 | |
| GrenadaGD | Not tested | — | — | 0 | |
| GuatemalaGT | Not tested | — | — | 0 | |
| Guinea-BissauGW | Not tested | — | — | 0 | |
| GuyanaGY | Not tested | — | — | 0 | |
| Hong KongHK | Not tested | — | — | 0 | |
| HungaryHU | Not tested | — | — | 0 | |
| IcelandIS | Not tested | — | — | 0 | |
| IndiaIN | Not tested | — | — | 0 | |
| IndonesiaID | Not tested | — | — | 0 | |
| IraqIQ | Not tested | — | — | 0 | |
| IrelandIE | Not tested | — | — | 0 | |
| IsraelIL | Not tested | — | — | 0 | |
| ItalyIT | Not tested | — | — | 0 | |
| JapanJP | Not tested | — | — | 0 | |
| KenyaKE | Not tested | — | — | 0 | |
| KosovoXK | Not tested | — | — | 0 | |
| KuwaitKW | Not tested | — | — | 0 | |
| KyrgyzstanKG | Not tested | — | — | 0 | |
| LaosLA | Not tested | — | — | 0 | |
| LatviaLV | Not tested | — | — | 0 | |
| LiberiaLR | Not tested | — | — | 0 | |
| LibyaLY | Not tested | — | — | 0 | |
| MacaoMO | Not tested | — | — | 0 | |
| MalawiMW | Not tested | — | — | 0 | |
| MaldivesMV | Not tested | — | — | 0 | |
| MaliML | Not tested | — | — | 0 | |
| MauritaniaMR | Not tested | — | — | 0 | |
| MauritiusMU | Not tested | — | — | 0 | |
| MexicoMX | Not tested | — | — | 0 | |
| MongoliaMN | Not tested | — | — | 0 | |
| MontenegroME | Not tested | — | — | 0 | |
| MoroccoMA | Not tested | — | — | 0 | |
| MozambiqueMZ | Not tested | — | — | 0 | |
| NamibiaNA | Not tested | — | — | 0 | |
| NepalNP | Not tested | — | — | 0 | |
| NetherlandsNL | Not tested | — | — | 0 | |
| NicaraguaNI | Not tested | — | — | 0 | |
| NigerNE | Not tested | — | — | 0 | |
| North MacedoniaMK | Not tested | — | — | 0 | |
| NorwayNO | Not tested | — | — | 0 | |
| PakistanPK | Not tested | — | — | 0 | |
| PalauPW | Not tested | — | — | 0 | |
| ParaguayPY | Not tested | — | — | 0 | |
| PeruPE | Not tested | — | — | 0 | |
| PhilippinesPH | Not tested | — | — | 0 | |
| PolandPL | Not tested | — | — | 0 | |
| PortugalPT | Not tested | — | — | 0 | |
| Republic of the CongoCG | Not tested | — | — | 0 | |
| RomaniaRO | Not tested | — | — | 0 | |
| RussiaRU | Not tested | — | — | 0 | |
| RwandaRW | Not tested | — | — | 0 | |
| São Tomé & PríncipeST | Not tested | — | — | 0 | |
| Saudi ArabiaSA | Not tested | — | — | 0 | |
| SenegalSN | Not tested | — | — | 0 | |
| SerbiaRS | Not tested | — | — | 0 | |
| SeychellesSC | Not tested | — | — | 0 | |
| Sierra LeoneSL | Not tested | — | — | 0 | |
| SingaporeSG | Not tested | — | — | 0 | |
| SlovakiaSK | Not tested | — | — | 0 | |
| Solomon IslandsSB | Not tested | — | — | 0 | |
| Sri LankaLK | Not tested | — | — | 0 | |
| St. Kitts & NevisKN | Not tested | — | — | 0 | |
| St. LuciaLC | Not tested | — | — | 0 | |
| SurinameSR | Not tested | — | — | 0 | |
| SwedenSE | Not tested | — | — | 0 | |
| TaiwanTW | Not tested | — | — | 0 | |
| TanzaniaTZ | Not tested | — | — | 0 | |
| TongaTO | Not tested | — | — | 0 | |
| Trinidad & TobagoTT | Not tested | — | — | 0 | |
| TunisiaTN | Not tested | — | — | 0 | |
| TürkiyeTR | Not tested | — | — | 0 | |
| TurkmenistanTM | Not tested | — | — | 0 | |
| Turks & Caicos IslandsTC | Not tested | — | — | 0 | |
| UgandaUG | Not tested | — | — | 0 | |
| United KingdomGB | Not tested | — | — | 0 | |
| UruguayUY | Not tested | — | — | 0 | |
| UzbekistanUZ | Not tested | — | — | 0 | |
| VanuatuVU | Not tested | — | — | 0 | |
| VenezuelaVE | Not tested | — | — | 0 | |
| YemenYE | Not tested | — | — | 0 | |
| ZambiaZM | Not tested | — | — | 0 |
Testing asks Apple whether it will sell this app in that storefront, right now, by the same method the crawler has used since 2019. Your browser asks Apple directly, so the answer describes what Apple serves your connection — and if your browser cannot reach Apple at all, we ask on your behalf and say so. The result is a link: open it to see Apple's own answer and check ours. Readings are added to the record above; roughly a quarter of the readings taken each day come from people testing.
How we test
Availability is checked against Apple's own catalog servers for every storefront, the same way the App Store app asks. "Unavailable" means Apple's servers say the app cannot be offered in that country — it does not say who asked for the removal. Removals initiated by the developer and removals demanded by governments look the same from outside; the history and context on this page are how we tell them apart.