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
| Request | Behaviour |
|---|---|
No Authorization header | Public list prices are returned. |
| Valid API key | Prices reflect the workspace's own markup multiplier. |
| Invalid or revoked API key | 401 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
| Field | Type | Description |
|---|---|---|
currency | string | Currency of every price in the response. Always USD. |
rates | array | One entry per country that is enabled for SMS sending. |
SMS Rate Object
| Field | Type | Description |
|---|---|---|
country_code | string | ISO 3166-1 alpha-2 country code of the destination. |
price_per_segment | string | null | Price 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
| Status | Message | Cause |
|---|---|---|
401 | The API key you provided is invalid or has been revoked. | An Authorization header was sent with a key that is invalid or revoked. |
429 | You 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. |