On this page
  1. Does an app need an ICP filing?
  2. Where API and app-store requirements appear
  3. Backends, APIs, and mini programs
  4. The decision in one pass
  5. Where AI coding assistants get this wrong
  6. Checklist
  7. FAQ
    1. Does a mobile app need an ICP filing in China?
    2. Can I publish to Chinese app stores without a filing?
    3. Do WeChat mini programs need their own filing?
    4. What if my API is only used by my own app?
  8. Related topics
  9. Sources
concept

Do You Need an ICP Filing for an App, API, or Mini Program?

The filing follows the server, not the interface. An API, a mobile app backend, and a mini program all trigger the same requirement when they run on mainland infrastructure.

Quick answer

  • The filing attaches to the server hosting the content, not to whether users see a website, a mobile app, or an API.
  • An app whose backend runs on a mainland server needs a filing for that backend, even if the app itself is not a website.
  • A pure client-side app that calls only overseas APIs needs no filing, because nothing is hosted in mainland China.
  • App stores in China ask publishers for a filing or licence number before listing, which is where many teams meet the requirement first.
  • A mini program hosted by WeChat or another platform operator has its own filing process that runs alongside the platform review.

Does an app need an ICP filing?

It depends entirely on where the server is, not on what the user is holding. The ICP filing regime governs internet information services provided from within mainland China, and it follows the hosting location. A mobile app is a client; if that client talks to a backend running on a server in Shanghai, the operating entity is providing a service from China and the filing applies to that service. The fact that the interface is a phone screen instead of a browser window changes nothing.

The practical counter-case is equally clear. An app that calls a backend in Singapore, Tokyo, or Frankfurt, with no capacity inside the mainland, is not providing a mainland-hosted service. There is nothing to file, and the compliance question becomes whether the app is distributed into China at all and what data it collects from Chinese users.

Where API and app-store requirements appear

Two places surface the requirement earlier than the infrastructure plan does. The first is a cloud provider: you cannot attach a mainland domain or public endpoint to a server in a Chinese region without a filing number, so the provider enforces it at provisioning time. The second is distribution. Chinese app stores and mini program platforms require publishers to supply a filing or licence number as part of the listing review, which means the block arrives at release rather than at deploy.

That second point is why teams often discover the rule late. The backend has been running happily for months on overseas infrastructure, the product is ready, and the listing is refused for a document nobody has applied for. The filing takes weeks and needs a mainland entity, so the release slides by a quarter. Checking the distribution requirement at the same time as the hosting decision costs nothing.

Backends, APIs, and mini programs

Treat every interface as a view onto the same backend rules. A REST API, a GraphQL endpoint, a WebSocket service, and a static site all count as internet information services when they run from mainland servers, and they are covered by the same filing that the domain or the cloud account carries. You file once for the entity, not once per interface.

Mini programs sit slightly apart because the platform operator, not you, supplies the runtime. WeChat and similar ecosystems run their own review and require publishers to provide filing or licence information before the program goes live. The filing still has to come from the mainland entity behind the program, so the eligibility question — does a legal person able to file exist — is the same one that gates everything else in this cluster.

The decision in one pass

Answer three questions in order. Is any part of the service hosted on a mainland server? If no, stop — there is no filing to obtain, and the remaining questions are about distribution and data handling. If yes, does a mainland entity or Chinese citizen exist to hold the filing? If no, the deployment cannot proceed as designed and the ordinary answer is to host outside the mainland. If yes, is the service also commercial? That last answer decides whether the filing alone is sufficient or whether a commercial licence is also required.

The value of asking in that order is that it front-loads the question that ends projects. Most of the time the blocker is the middle question, and it is decidable before a single server is rented.

Where this bites vibecoders

Ask an assistant to make an app available in China and the plan will cover hosting, CDN, and payment integration but will treat compliance as a footnote reading ‘ensure ICP filing’. That instruction is not actionable because it hides the entity requirement: if the team has no Chinese legal person, no filing can be issued and the plan cannot be executed. The useful version of the same paragraph names who applies, for which domain, at which provider, and what happens if the answer is no.

Where AI coding assistants get this wrong

  • Assuming an app is exempt because it is not a website, when the filing follows the server.
  • Listing compliance steps without naming the legal entity that must hold the filing.
  • Planning mainland hosting before confirming the entity can obtain a filing at all.
  • Overlooking that app stores and mini program platforms ask for the filing number at listing time.
  • Treating each endpoint or client as a separate filing rather than one registration per entity.
  • Omitting the fallback path — host outside the mainland — from the plan entirely.

Checklist

  • List every component of the service and where it is hosted.
  • Mark which components run on mainland servers.
  • Confirm whether a mainland entity or citizen is available to file.
  • Check the distribution requirement for each app store or mini program platform you target.
  • Decide the commercial or informational classification for the service.
  • Write the fallback hosting plan for the case where no filing is possible.

FAQ

Does a mobile app need an ICP filing in China?

Only if its backend runs on a mainland server. The filing follows the hosting location, so an app talking to servers in Hong Kong, Singapore, or anywhere outside the mainland does not trigger it. If the backend is inside mainland China, the filing applies to that service regardless of whether users ever open a web page.

Can I publish to Chinese app stores without a filing?

Generally no for apps that provide information services in China. Chinese app stores require publishers to supply filing or licence details during review. That means the requirement usually arrives at distribution time, and the underlying eligibility question — is there a mainland entity — has to be resolved before the listing can proceed.

Do WeChat mini programs need their own filing?

WeChat runs a separate review for mini programs and requires publishers to provide filing or licence information. The program is hosted by the platform, but the registration still comes from the mainland entity operating it. You do not file once per mini program; you rely on the filing held by that entity.

What if my API is only used by my own app?

That does not change the analysis. A private API running on a mainland server is still a service hosted in China, and the cloud provider will still require a filing number to attach a domain or public endpoint. Whether external users call it is irrelevant to the registration requirement.

Sources

Share: