Skip to main content

List SMS Rates

Retrieve the per-segment SMS price of every country CampaignLark can currently send to.

This is the only endpoint that does not require authentication. Called without an API key it returns list prices based on the platform default markup. Called with an API key it returns the prices for that workspace, including any custom markup agreed for it.


Endpoint

GET https://api.campaignlark.com/v1/sms-rates

Authentication

RequestBehaviour
No Authorization headerPublic list prices are returned.
Valid API keyPrices reflect the workspace's own markup multiplier.
Invalid or revoked API key401 Unauthorized. Omit the header entirely for public pricing.

Sample Request

GET https://api.campaignlark.com/v1/sms-rates
Authorization: Bearer <YOUR_API_KEY>

Response

Success — 200 OK

{
"error": null,
"data": {
"currency": "USD",
"rates": [
{
"country_code": "AU",
"price_per_segment": "0.06912"
},
{
"country_code": "GB",
"price_per_segment": "0.08000"
},
{
"country_code": "IN",
"price_per_segment": null
}
]
}
}

Response Fields

FieldTypeDescription
currencystringCurrency of every price in the response. Always USD.
ratesarrayOne entry per country that is enabled for SMS sending.

SMS Rate Object

FieldTypeDescription
country_codestringISO 3166-1 alpha-2 country code of the destination.
price_per_segmentstring | nullPrice charged for a single SMS segment, as a decimal string with five decimal places. null when no rate is currently published for the country.

Segments and Billing

Prices are per segment, not per message. A message longer than one segment (160 GSM-7 characters, or 70 characters when it contains Unicode) is split by the carrier and every segment is charged at the price above. Countries that are not listed cannot be sent to, either because SMS is not enabled for them yet or because they require dedicated sender registration.

Because the response is unauthenticated by default, it is safe to render on a public pricing page. Send your API key when you want the customer to see the prices that will actually be charged to their workspace.


Errors

StatusMessageCause
401The API key you provided is invalid or has been revoked.An Authorization header was sent with a key that is invalid or revoked.
429You have exceeded the rate limit of 60 requests per minute. Please authenticate with an API key for a higher limit.Too many unauthenticated requests from the same IP address.