SMS API for Poland: bulk SMS to +48 numbers
Poland
Calling code +48
- Per SMS segment
- $0.00507
- Messages for $100
- 19,723
- Local language
- Polish
- Encoding
- GSM-7 or Unicode
What a bulk SMS send to Poland costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00507 | $0.01014 |
| 1,000 | $5.07 | $10.14 |
| 10,000 | $50.70 | $101.40 |
| 100,000 | $507.00 | $1,014.00 |
Number format in Poland
Mobile numbers in Poland have 9 digits after +48 and no trunk prefix, so the local form 512 345 678 becomes +48 512 345 678 in the to field.
Alphabet and segments
Texts in Polish fit 160 GSM-7 characters per segment until they use ą, ć, ę, ł, ń, ó, ś, ź and ż: those letters are outside GSM-7 and turn the message into Unicode at 70 characters per segment (67 per part). For short alerts, write them without those letters to keep one segment; for longer texts, the console names each letter that changed the encoding.
Time zone and timing
Poland changes its clocks: Warsaw is on UTC+1 in January and UTC+2 in July. 09:00 in Warsaw is 08:00 UTC in January and an hour earlier in UTC while summer time runs, so give send_at with the local offset (for example +01:00 in winter) and the API does the conversion.
Send to Poland with one request
The answer comes back at once with the message id, the country the number was matched to (PL) 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": "+48512345678", "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: "+48512345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00507", country: "PL"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+48512345678", "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.00507"What developers send to Poland
Login codes
When logging into a banking app in Warsaw, users receive a one-time code via SMS to verify their identity securely.
Delivery updates
E-commerce stores in Krakow send SMS notifications to customers when their orders are out for delivery.
Appointment reminders
Clinics in Poznan send SMS reminders to patients a day before their scheduled appointments.
Payment confirmations
After completing a transaction in Gdansk, users receive an SMS confirming the payment details.
More countries in Central and Eastern Europe
SMS to Poland: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Poland?
How many SMS to Poland does a $100 top-up send?
How do I write Poland numbers for the API?
Should messages be in Polish or English?
Are there peak times for SMS traffic?
Start sending to Poland
Create an account, top up from $40 and send to Poland at $0.00507 per segment, from the console or with one API call.