BEE-SMS Service API Documentation
API is a protocol between your software and our server. The API is needed in order to automate the process of receiving SMS messages on your side To work with the API, you must use your API Token, you can get it by going to the profile page.
Our software is fully compatible with competitor sites
Protocol Description
All requests should go to https://api.bee-sms.com
All requests must have an API Token as a parameter "token"
Search for country and service code
List country code
List service code
Affiliate Programs for Developers
You can get a commission on every spend when users use your program, all you need to do is sign up for an account and put you referral code on every request. Check out for more details.
Your software must be public so that everyone can buy or rent it.
Query balance
GET - https://api.bee-sms.com/v1/user/balance?token=$token
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
Result
Field | Type | Description |
---|---|---|
code | Number | Response Status |
message | String | Response Description |
data | Number | Account balance in cents (e.g., 100 cents = $1.00) |
Success
{
"code": 200,
"message": "Operation Success",
"data": 10978
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
List all countries / areas
GET - https://api.bee-sms.com/v1/otp/areas?token=$token
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | List of area object |
Columns of data
Field | Type | Description |
---|---|---|
name | String | Country / Area name |
code | String | |
dialing_code | String |
Success
{
"code": 200,
"message": "Operation Success",
"data": [
{
"name": "Australia",
"code": "au",
"dialing_code": "61"
}
]
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
List all services
GET - https://api.bee-sms.com/v1/otp/services?token=$token
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | List of service object |
Columns of data
Field | Type | Description |
---|---|---|
name | String | Service name |
code | String |
Success
{
"code": 200,
"message": "Operation Success",
"data": [
{
"name": "Telegram",
"code": "tg"
}
]
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
List services price and available number
GET - https://api.bee-sms.com/v1/otp/prices?token=$token&area=$area_code&service=$service_code
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
area | query | String | Optional | Country / Area Code |
service | query | String | Optional | Service Code |
The area and service parameters must have at least one
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | List of price data |
Columns of data
Field | Type | Description |
---|---|---|
area_name | String | Country / Area name |
area_code | String | Area union id |
service_name | String | Service name |
service_code | String | Service union id |
retail_amount | Number | Original price in cents (e.g., 100 cents = $1.00) |
amount | Number | Price after discount, unit cents (e.g., 100 cents = $1.00) |
qty | Number | Available number |
Success
{
"code": 200,
"message": "Operation Success",
"data": [
{
"area_code": "au",
"area_name": "Australia",
"service_code": "tg",
"service_name": "Telegram",
"retail_amount": 661,
"amount": 641,
"qty": 3968
}
]
}
Possible Errors
// Both the area and service parameters are missing.
{
"code": 400,
"message": "Invalid Parameter"
}
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
{
"code": 50113,
"message": "Area or service does not exist"
}
Purchase OTP number
GET - https://api.bee-sms.com/v1/otp/purchase?token=$token&area=$area_code&service=$service_code
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
area | query | String | Yes | Country / Area Code |
service | query | String | Yes | Service Code |
refer_id | query | String | No | Pass Referral ID |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | Order result data |
Columns of data
Field | Type | Description |
---|---|---|
order_id | String | Order id |
mobile_number | String | phone number |
dialing_code | String | Service name |
reuse | Boolean | Reusable or not |
Success
{
"code": 200,
"message": "Operation Success",
"data": {
"order_id": "2541517119212500009",
"mobile_number": "5139357073",
"dialing_code": "1",
"reuse": true
}
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
{
"code": 50001,
"message": "Balance not enough"
}
{
"code": 50101,
"message": "The service is too hot, please try again later."
}
{
"code": 50111,
"message": "No number available, please try again later."
}
{
"code": 50113,
"message": "Area or service does not exist"
}
Get OTP sms
GET - https://api.bee-sms.com/v1/otp/sms?token=$token&order=$order_id
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
order | query | String | Yes | OTP Order Id |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | Received sms |
Success
{
"code": 200,
"message": "Operation Success",
"data": "429916"
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
{
"code": 50106,
"message": "Not received sms yet"
}
{
"code": 50107,
"message": "This mobile number has been released or timeout."
}
{
"code": 50112,
"message": "Incorrect number status, this order has been canceled and refunded."
}
Cancel a request
GET - https://api.bee-sms.com/v1/otp/cancel?token=$token&order=$order_id
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
order | query | String | Yes | OTP Order Id |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
Success
{
"code": 200,
"message": "Operation Success"
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
{
"code": 50103,
"message": "Can't change order status because the order has already closed."
}
Reuse number for certain project
Not every number can be reused. And this feature is only available if you have previously used the number to receive SMS from this service.
GET - https://api.bee-sms.com/v1/otp/reuse?token=$token&area=$area_code&service=$service_code&mobile_number=$mobile_number
Parameters
Field | Location | Type | Required | Description |
---|---|---|---|---|
token | query | String | Yes | Your API Token |
area | query | String | Yes | Country / Area Code |
service | query | String | Yes | Service Code |
mobile_number | query | String | Yes | Number without the dialing code |
refer_id | query | String | No | Pass Referral ID |
Result
Field | Type | Description |
---|---|---|
code | Number | Response status |
message | String | Response description |
data | Object | Order result data |
Columns of data
Field | Type | Description |
---|---|---|
order_id | String | Order id |
mobile_number | String | phone number |
dialing_code | String | Service name |
reuse | Boolean | Reusable or not |
Success
{
"code": 200,
"message": "Operation Success",
"data": {
"order_id": "2541517119212500009",
"mobile_number": "5139357073",
"dialing_code": "1",
"reuse": true
}
}
Possible Errors
{
"code": 401,
"message": "Not yet logged in or certificate has expired"
}
{
"code": 50001,
"message": "Balance not enough"
}
{
"code": 50101,
"message": "The service is too hot, please try again later."
}
{
"code": 50108,
"message": "This mobile number cannot be reused"
}
{
"code": 50109,
"message": "The mobile number is taken. Please try again later."
}
{
"code": 50110,
"message": "The mobile number is expired"
}
{
"code": 50113,
"message": "Area or service does not exist"
}