Developer prices and volume tiers
Developer prices are the wholesale price plus a markup that falls as your 30-day volume grows, never below 0.10 USD and never above the app price.
On this page
The developer API has its own price list. Instead of the app price, you pay the wholesale price of the same offer plus a markup, and that markup drops as your volume grows.
The formula
developer_price = max( ceil(wholesale × (100 + markup) / 100), 0.10 USD )
developer_price = min( developer_price, app_price )
The price is rounded up to the next cent. It is never below 0.10 USD and never above what the same number costs in the app.
Volume tiers
Your markup depends on your developer spend over the last 30 days:
| Net developer spend, last 30 days | Markup |
|---|---|
| Below 100 USD | 80 % |
| From 100 USD | 70 % |
| From 500 USD | 60 % |
| From 2,000 USD | 50 % |
Developer spend is the net amount (charges minus refunds) of the numbers you bought through the API and the compatible endpoint. A new tier applies within about 5 minutes of reaching its threshold, and you move back down when your 30-day spend falls below it.
Example
For a number with a wholesale price of 0.10 USD:
| Price level | Price |
|---|---|
| Developer price at 80 % | 0.18 USD |
| Developer price at 50 % | 0.15 USD |
| The same number in the app | 0.25 USD |
See your own prices
GET /dev/v1/pricesreturns your current price for every offer, next to the app price.GET /dev/v1/meshows your markup, your 30-day spend, your tier and how much is left until the next one:
curl -s https://smsgrab.com/api/dev/v1/me \
-H "Authorization: Bearer $SMSGRAB_KEY"
{ "pricing": { "markup_percent": 70, "source": "tier", "min_price_minor": 10, "cap_at_retail": true,
"trailing_30d_spend_minor": 18250,
"tier": { "min_spend_minor": 10000, "markup_percent": 70 },
"next_tier": { "min_spend_minor": 50000, "markup_percent": 60, "remaining_minor": 31750 } } }
Price protection
The price is fixed the moment you buy and is stored with the activation. Send max_price_minor with every purchase: if the price has risen above it, the purchase is refused with 409 PRICE_CHANGED and nothing is charged.
Refunds
Developer purchases follow the same rules as the app. A number without a code, or one you cancel before its first code, is refunded in full.
Was this article helpful?
Thanks! Glad it helped.