If you publish an Android app, sooner or later someone asks: "Are we in China?" Then: "How big is our competitor there?" Both questions are surprisingly hard to answer, because the tools you normally use don't work.
Google Play does not operate in mainland China. Android distribution there is split across stores run by phone makers and internet giants — Tencent MyApp (应用宝), Huawei AppGallery, Xiaomi's app store, vivo, OPPO — plus a long tail. Each has its own catalogue, its own web presence (or none), and no shared API. App-intelligence products either skip China's Android market or estimate it.
The good news: four of the big stores expose enough on the public web to answer the question by hand. This post shows how, what each store does and doesn't tell you, and the traps I hit while building a tool that automates it.
The four stores worth checking
| Store | Who runs it | What you can see on the web |
|---|---|---|
| Tencent MyApp (应用宝) | Tencent | App page by package name, exact download count, rating, version, developer, category |
| Huawei AppGallery | Huawei | App page by Huawei's own app id, rounded install count, rating with count, version, release date |
| Xiaomi App Store | Xiaomi | App page by package name, rating with count, version, update date — no install counts |
| vivo App Store | vivo | Mobile web store with a search API: exact download count, rating with count, version |
OPPO's web store is a landing page for the on-device client; there is no catalogue to check without the phone.
Checking by hand
Tencent MyApp
The URL takes the Android package name directly:
https://sj.qq.com/appdetail/com.duolingo
If the app is listed you get the page. If it isn't, you get a 404 — usually. For some well-known foreign apps the store serves a substitute "reservation" page for a different package instead of a 404, so check that the package name on the page matches the one you asked for.
Download counts here are absolute numbers, not buckets. WeChat shows a figure in the billions. This is the single most useful number on any Chinese store page.
Huawei AppGallery
AppGallery pages use Huawei's own ids (https://appgallery.huawei.com/app/C5683 is WeChat), not package names, and the site's search matches display names rather than package ids. To find an app you don't know the id for, search by its Chinese name — the store's catalogue is in Chinese even when the UI is switched to English — and confirm the package name on the result.
Install counts are rounded ("287 亿次安装" — 28.7 billion installs). Treat them as lower bounds.
One more trap if you automate this: the catalogue you see depends on where your request comes from. From outside China, the same search returns the international AppGallery, where WeChat simply does not exist. The web app's own requests carry a zone parameter; setting it to CN pins the mainland catalogue regardless of IP.
Xiaomi
https://app.mi.com/details?id=com.duolingo
A listed app renders a page; an unlisted one redirects to the home page. Two caveats. Xiaomi does not publish install counts on the web at all. And its web catalogue is incomplete: some apps that are installable from the Xiaomi store on a phone (Taobao and Xiaohongshu, for instance) are absent from app.mi.com. "Not on the web catalogue" is not the same as "not on Xiaomi".
vivo
vivo's store lives at h5.appstore.vivo.com.cn, a mobile web app. Its search accepts a package name and returns exact download counts, ratings and rater counts. It needs a handful of device-style query parameters, but any stable placeholder value is accepted.
What the numbers mean
- Download counts are per store and not comparable across stores. Tencent MyApp and vivo count their own downloads; Huawei counts installs on Huawei devices. Adding them up gives a floor for the app's Chinese Android reach, not its size.
- Ratings are 0–5 everywhere, but rater populations differ wildly. Huawei's rating for WeChat is below 3 because Huawei-device users rate it there; Tencent's own store shows 4.3.
-
Version strings tell you whether the China build is maintained. Duolingo ships
6.96.2-chinato all four stores; a store showing a version two years behind the others usually means a stale or third-party upload. -
Look-alikes are common. Search "Spotify" and you'll find
com.easyAbroad.Spotify, a wrapper from a third party, listed on Huawei. Always check the package name, not the display name.
Doing this at scale
Four stores, four different lookups, Chinese names, regional catalogues, redirect-as-404 conventions. Fine for one app; painful for a competitor list, and hostile to an AI agent that just wants an answer.
I packaged the whole procedure as an Apify Actor: China Android App Store Checker. You give it package names (or app names, if that's all you have), it returns one record per app with a per-store status that is always one of listed, not_listed or fetch_failed, the normalised numbers above, and a one-sentence summary:
Listed on 4 of 4 major Chinese Android stores (Tencent MyApp, Xiaomi, vivo, Huawei AppGallery).
~343M total downloads (highest: Huawei AppGallery).
It runs from the Apify Console, the API, n8n/Make, or from Claude and ChatGPT through Apify's MCP server, and costs $0.015 per package name. Everything it cannot answer is free and reported as such rather than guessed.
If your question is "are we in China, and how big are they?", this is the fastest honest answer I know of.
Top comments (0)