Cuenta
API de precios: precios de SMS por país
GET
/v1/pricingCada país admitido con su precio por segmento. Público: sin clave API.
GET
/v1/pricing/{country}Un país por código ISO 3166 (DE, US, BR). Los códigos desconocidos responden con 404 unsupported_country.
# Public: no key needed
curl https://bulksmsapi.cc/v1/pricing/DEconst res = await fetch("https://bulksmsapi.cc/v1/pricing");
const { data } = await res.json();
const de = data.find((row) => row.country === "DE");
console.log(data.length, de.price);import json, urllib.request
req = urllib.request.Request("https://bulksmsapi.cc/v1/pricing", headers={"User-Agent": "northwind-app/1.0"})
with urllib.request.urlopen(req) as res:
rows = json.load(res)["data"]
print(len(rows), next(r["price"] for r in rows if r["country"] == "DE"))<?php
$rows = json_decode(file_get_contents("https://bulksmsapi.cc/v1/pricing"), true)["data"];
foreach ($rows as $row) {
if ($row["country"] === "DE") echo $row["price"], "\n";
}package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
res, err := http.Get("https://bulksmsapi.cc/v1/pricing/DE")
if err != nil {
panic(err)
}
defer res.Body.Close()
var p struct{ Country, Price string }
json.NewDecoder(res.Body).Decode(&p)
fmt.Println(p.Country, p.Price)
}{
"object": "price",
"date": "2026-11-07",
"country": "DE",
"name": "Germany",
"dial_code": "+49",
"price": "0.01447",
"currency": "USD",
"unit": "segment"
}date es la fecha de la lista de precios actual. El precio de un mensaje es price multiplicado por sus segmentos; consulta Texto y segmentos. Los mismos precios están en la página de precios.