SMS API for Spain: bulk SMS to +34 numbers
Spain
Calling code +34
- Per SMS segment
- $0.00707
- Messages for $100
- 14,144
- Local language
- Spanish
- Encoding
- GSM-7 or Unicode
What a bulk SMS send to Spain costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00707 | $0.01414 |
| 1,000 | $7.07 | $14.14 |
| 10,000 | $70.70 | $141.40 |
| 100,000 | $707.00 | $1,414.00 |
Number format in Spain
Mobile numbers in Spain have 9 digits after +34 and no trunk prefix, so the local form 612 34 56 78 becomes +34 612 34 56 78 in the to field.
Alphabet and segments
Texts in Spanish 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
Spain spans several time zones, from UTC+0 in Canary to UTC+1 in Madrid (January offsets). A send_at of 08:00 UTC lands at 09:00 in Madrid in January; for a nationwide reminder, split the list by region and give each batch its own send_at.
Send to Spain with one request
The answer comes back at once with the message id, the country the number was matched to (ES) 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": "+34612345678", "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: "+34612345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00707", country: "ES"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+34612345678", "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.00707"What developers send to Spain
Payment alerts
Banking apps in Madrid send SMS notifications confirming successful transactions and account balance updates.
Delivery updates
E-commerce platforms in Barcelona notify customers by SMS when their orders are dispatched and provide tracking details.
Flight changes
Travel agencies in Seville send SMS updates to travelers about flight delays or rescheduled departures.
More countries in Southern Europe
SMS to Spain: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Spain?
How many SMS to Spain does a $100 top-up send?
How do I write Spain numbers for the API?
Should SMS be in Spanish or English?
Are there seasonal peaks in SMS traffic?
Start sending to Spain
Create an account, top up from $40 and send to Spain at $0.00707 per segment, from the console or with one API call.