SMS API for China: bulk SMS to +86 numbers
China
Calling code +86
- Per SMS segment
- $0.00587
- Messages for $100
- 17,035
- Local language
- Mandarin Chinese
- Encoding
- Unicode (UCS-2)
What a bulk SMS send to China costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00587 | $0.01174 |
| 1,000 | $5.87 | $11.74 |
| 10,000 | $58.70 | $117.40 |
| 100,000 | $587.00 | $1,174.00 |
Number format in China
Mobile numbers in China have 11 digits after +86 and no trunk prefix, so the local form 131 2345 6789 becomes +86 131 2345 6789 in the to field.
Alphabet and segments
Text in Chinese characters is always Unicode, so a message to China written in Mandarin Chinese carries 70 characters in one segment and 67 in each part of a longer one. Codes and alerts written in English or plain Latin letters fit 160 characters, which halves the cost of a long notice.
Time zone and timing
China spans several time zones, from UTC+6 in Urumqi to UTC+8 in Shanghai (January offsets). A send_at of 01:00 UTC lands at 09:00 in Shanghai in January; for a nationwide reminder, split the list by region and give each batch its own send_at.
Send to China with one request
The answer comes back at once with the message id, the country the number was matched to (CN) and the price. A delivered or failed event follows on your webhook, and a failed message is refunded.
For a list, send the same text to up to 10,000 numbers with POST /v1/batches, or a personal text per number in messages.
curl https://bulksmsapi.cc/v1/messages \
-H "Authorization: Bearer $BULKSMSAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+8613123456789", "text": "Your Northwind code is 482913. It expires in 10 minutes."}'const res = await fetch("https://bulksmsapi.cc/v1/messages", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BULKSMSAPI_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ to: "+8613123456789", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00587", country: "CN"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+8613123456789", "text": "Your Northwind code is 482913. It expires in 10 minutes."}).encode(),
headers={"Authorization": "Bearer " + os.environ["BULKSMSAPI_KEY"], "Content-Type": "application/json", "User-Agent": "northwind-app/1.0"},
method="POST",
)
with urllib.request.urlopen(req) as res:
print(json.load(res)["price"]) # "0.00587"What developers send to China
Order confirmations
An e-commerce platform in Shanghai sends SMS confirmations for online purchases, ensuring customers know their order status.
Ride details
A ride-hailing app in Beijing sends SMS notifications with driver details and pickup locations.
Payment alerts
A bank in Guangzhou sends SMS alerts for successful payments and account updates.
Delivery updates
A logistics company in Shenzhen sends SMS notifications when a package is out for delivery or delayed.
More countries in East Asia
SMS to China: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to China?
How many SMS to China does a $100 top-up send?
How do I write China numbers for the API?
Start sending to China
Create an account, top up from $40 and send to China at $0.00587 per segment, from the console or with one API call.