DEV Community

仪袁韶
仪袁韶

Posted on

How to access Chinese LLMs (GLM, Qwen, DeepSeek) without a Chinese phone number

If you have ever tried to sign up for a Chinese LLM API from outside mainland China, you have probably hit the same wall:

请输入手机号 (+86) 获取验证码
Enter fullscreen mode Exit fullscreen mode

That single line blocks a lot of developers from some of the cheapest strong models on the market. This post covers what the wall actually is, the three workarounds people use, and how to pick one without wasting a weekend.

The wall is four barriers, not one

People usually describe this as "you need a Chinese phone number". In practice you hit four separate gates, and clearing the first one does not clear the rest:

Barrier What happens
Phone Signup expects a +86 mobile number and texts a code that foreign numbers do not receive.
Payment Topping up usually means Alipay or WeChat Pay. International cards are generally not accepted.
Real-name / ID Paid tiers often require ID verification or a domestic business registration before an API key is fully usable.
Docs & support Documentation is Chinese-first, and error messages are often not translated.

So it is not a pricing problem or a model-quality problem. It is a registration and identity problem. That distinction matters, because it tells you what kind of fix can actually work.

Workaround 1: virtual phone numbers (fragile)

There are services that rent you a temporary Chinese number for a dollar or two. It sometimes works, and then it often stops working:

  • Chinese providers have become aggressive about flagging virtual ranges.
  • When they flag an account, it usually gets banned — and any balance you topped up goes with it.
  • Even when the number verifies, the payment and ID gates are still in front of you.

Verdict: fine for reading docs, not something to put production traffic on.

Workaround 2: international cloud portals (partial)

Some Chinese clouds run international portals with English signup. Alibaba Cloud International is the best-known example.

It is legitimately useful, but two things bite:

  • Model selection is narrower than the domestic catalogue.
  • Pricing is different from domestic rates — you are paying for the international path.

If your stack already lives in one of these clouds, this is a reasonable route. If you just want to call GLM or DeepSeek from a side project, it is heavy.

Workaround 3: OpenAI-compatible gateways (most practical)

The third option is a gateway that holds the Chinese-side accounts itself and exposes everything through one OpenAI-compatible endpoint.

The practical effect: you change one line of code.

from openai import OpenAI

# before
# client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

client = OpenAI(
    base_url="https://<your-gateway>/v1",
    api_key=os.environ["GATEWAY_API_KEY"],
)

resp = client.chat.completions.create(
    model="glm-4.7-flash",
    messages=[{"role": "user", "content": "Explain idempotency keys in one paragraph."}],
)
print(resp.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Your Python, Node, Go or curl code does not change. The gateway deals with the phone number, the payment rail and the docs.

How to evaluate a gateway (the part that actually matters)

Gateways are not interchangeable, and the marketing pages all sound the same. Five things worth checking before you commit:

  1. Pricing transparency. Ask what the markup over upstream cost is. A gateway that publishes "cost × N" is easier to trust than one that just says "cheap". If a service promises you will pay less than the provider's own list price, ask how — that is usually a promotional rate, not a permanent one.
  2. Payment rails. Card? USDT/crypto? PayPal? If the only option is another wallet you do not have, you have just moved the wall.
  3. A real free tier. You want to test latency and output quality before entering a card. A free model with a real context window is worth more than a $5 credit that expires in a week.
  4. Failover. If the upstream has a bad hour, does a request fail, or does it take the second route automatically?
  5. Billing granularity. Per-request cost visibility matters when you are deciding whether to move a workload.

Where TideLink fits

Disclosure first: I build TideLink, so treat the above as the criteria I would want you to hold us to.

We exist for the specific wall in this post:

  • Email-only signup. No phone number, no real-name check. (We say this publicly.)
  • USD billing by card or USDT. No Alipay, no WeChat Pay.
  • OpenAI-compatible, one endpoint for GLM / Qwen / DeepSeek / Hunyuan / Kimi / MiniMax.
  • A real free tier: glm-4.7-flash (200K context) is free to call with no card attached, rate-limited per day.
  • Automatic failover across providers.

And the honest limits:

  • We are a gateway, so paid models cost more than going direct to the provider — that is the price of not needing a +86 number. Our markup is published as a fixed multiple of upstream cost.
  • We are small. We are not a hyperscaler, and I would not pretend our SLA matches one.
  • If you can already sign up with a provider directly, doing that is often cheaper. Use a gateway when the signup wall is the thing stopping you.

TL;DR

The blocker for Chinese LLMs outside mainland China is registration and identity, not price or model quality. Virtual numbers are fragile, international cloud portals are partial, and OpenAI-compatible gateways trade a markup for access. Pick one, test it with the free tier, and keep the base-URL swap reversible — that way switching costs you ten minutes, not a migration.

If you have hit a barrier this post does not cover, say so in the comments — I would rather know than guess.

Top comments (0)