GET /v1/pricing publishes the table that bills your messages. It needs no API key, and it is the same table the price page and the dashboard read.
Reading a country
Countries are ordered cheapest first.
min_credits and max_credits are equal where every number to a country costs the same. Where they differ, the rate depends on the recipient’s network: a Nigerian number on Glo costs 3 credits, and one on any other network costs 1.
An unlisted destination is still sendable and still charged at the price shown. The +1 territories are routed so those numbers keep working, and they are not destinations Robase markets.
What you are actually charged
Two things decide the charge on a send:- The network. Robase identifies the recipient’s network from the number and applies that telco’s rate. When it cannot, the country’s
creditsapplies. - The parts. A long message is split by the carrier and billed per part, so a two-part message to Nigeria costs two credits, not one. See Segments and encoding.
POST /v1/sms/send carries the credit_cost that was actually charged, along with segments.
Caching
Prices change rarely. The endpoint setsCache-Control: public, max-age=60, and the server holds a built table for the same minute, so polling it more often than that returns the same answer.