SMS API for Portugal: bulk SMS to +351 numbers
Portugal
Calling code +351
- Per SMS segment
- $0.00417
- Messages for $100
- 23,980
- Local language
- Portuguese
- Encoding
- GSM-7 or Unicode
What a bulk SMS send to Portugal costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00417 | $0.00834 |
| 1,000 | $4.17 | $8.34 |
| 10,000 | $41.70 | $83.40 |
| 100,000 | $417.00 | $834.00 |
Number format in Portugal
Mobile numbers in Portugal have 9 digits after +351 and no trunk prefix, so the local form 912 345 678 becomes +351 912 345 678 in the to field.
Alphabet and segments
Texts in Portuguese 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
Portugal spans several time zones, from UTC-1 in Azores to UTC+0 in Lisbon (January offsets). A send_at of 09:00 UTC lands at 09:00 in Lisbon in January; for a nationwide reminder, split the list by region and give each batch its own send_at.
Send to Portugal with one request
The answer comes back at once with the message id, the country the number was matched to (PT) 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": "+351912345678", "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: "+351912345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00417", country: "PT"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+351912345678", "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.00417"What developers send to Portugal
Flight updates
Airlines send SMS notifications to passengers in Lisbon about flight delays or gate changes.
Order confirmations
E-commerce stores in Porto send SMS confirmations to customers after they place an order.
Appointment reminders
Clinics in Faro send SMS reminders to patients a day before their scheduled appointments.
Event reminders
Event organizers send SMS reminders to attendees in Coimbra about upcoming concerts or festivals.
More countries in Southern Europe
SMS to Portugal: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Portugal?
How many SMS to Portugal does a $100 top-up send?
How do I write Portugal numbers for the API?
Start sending to Portugal
Create an account, top up from $40 and send to Portugal at $0.00417 per segment, from the console or with one API call.