BulkSMSOnline SMS API Parameters Explained

When sending SMS messages through the BulkSMSOnline HTTP API, your request must include the correct parameters. These parameters help the system authenticate your account, process the recipient number, identify the sender ID, read the message content, and return the correct API response.

This guide explains the main SMS API parameters used when sending messages through BulkSMSOnline. It is helpful for developers, website owners, CRM users, SaaS platforms, and businesses that want to connect SMS sending with their own system.

You can also review the official BulkSMSOnline Developer Documentation for the latest API endpoint, request format, response codes, delivery reports, REST API, SMPP, and webhook details.

Example HTTP SMS API Request

A basic HTTP API request usually includes your account credentials, message type, recipient number, sender ID, and SMS content.

Example:

https://api.bulksmsonline.co/smsapi?username=XXXX&password=YYYYY&type=t&to=0000000000&source=sender&message=YourText

Replace the sample values with your real BulkSMSOnline username, password, recipient number, sender ID, and SMS message. If your message contains spaces or special characters, make sure the message is properly URL-encoded before sending the request.

Required SMS API Parameters

1. username

The username parameter is mandatory. It identifies your BulkSMSOnline account when you send SMS messages through the API.

You can use the username connected to your BulkSMSOnline account. If you do not have an account yet, you need to register first before using the API.

Example:

username=YourUsername

2. password

The password parameter is mandatory for HTTP API authentication. It confirms that the request is coming from an authorized account.

If your password contains spaces, symbols, or reserved URL characters, it must be URL-encoded before being sent through the API. This helps prevent authentication errors caused by broken or incorrectly formatted request URLs.

Example:

password=YourPassword

For better security, do not place your username or password inside frontend JavaScript, public GitHub repositories, mobile app files, or any public code. API requests should be handled from a secure backend server whenever possible.

3. type

The type parameter is mandatory. It tells the API what type of SMS message you want to send.

The supported HTTP API message types are:

  • t: Plain text SMS for English or Latin-based content. The message should be URL-encoded and should use GSM 03.38 character encoding.
  • u: Unicode SMS for Arabic, Chinese, Korean, Hindi, Cyrillic, emojis, or other non-Latin characters.

Example for plain text SMS:

type=t

Example for Unicode SMS:

type=u

Use type=t for normal English text messages. Use type=u when your message contains Arabic, Chinese, Korean, Hindi, emojis, or any special characters that are not supported by standard GSM encoding.

4. to

The to parameter is mandatory. It contains the recipient mobile number or multiple recipient numbers.

Use the international phone number format without spaces, brackets, dashes, or symbols. If you are sending to more than one number in a single request, separate the numbers with commas.

Example for one recipient:

to=12025550103

Example for multiple recipients:

to=12025550101,12025550102,12025550103

According to the HTTP API documentation, you can include up to 30 recipient numbers in one request. For larger sending volume, it is better to send messages in batches or use a suitable integration method based on your traffic size.

5. source

The source parameter is mandatory. It is the sender ID or sender name that appears as the SMS sender, where supported by the destination country and mobile operator.

Sender ID rules may vary depending on the destination country, operator, SMSC, route, and local regulations. Some countries support alphanumeric sender IDs, some require pre-registration, and some operators may replace or override the sender ID.

Example:

source=YourBrand

General sender ID limits:

  • Numeric sender ID: Maximum 18 digits.
  • Alphanumeric sender ID: Maximum 11 characters.
  • Additional restrictions: May apply depending on the destination network, SMSC, route, or local regulations.

Before sending important traffic, it is recommended to test your sender ID with the destination country first. This helps confirm how the sender name appears on the recipient’s phone.

6. message

The message parameter is mandatory. It contains the actual SMS content that you want to send to the recipient.

For plain text SMS, the message must be URL-encoded when sent through the HTTP API. This is important because spaces, symbols, and special characters can break the API request if they are not encoded correctly.

Example message text:

Your verification code is 123456

Example URL-encoded message:

message=Your%20verification%20code%20is%20123456

If your message contains Arabic, Chinese, Korean, Hindi, emojis, or other non-Latin characters, use the Unicode message type and make sure the message is properly encoded before sending.

Optional SMS API Parameter

7. scheduled

The scheduled parameter is optional. It allows you to schedule an SMS message for future delivery instead of sending it immediately.

The scheduled time should use ISO 8601 format:

yyyy-MM-ddTHH:mm:ss

Example:

scheduled=2026-05-27T15:30:00

The scheduled value must be URL-encoded when sent through the API. The BulkSMSOnline HTTP API documentation states that scheduled time should be based on the UTC-04:00 timezone, so make sure to adjust your sending time correctly before scheduling messages.

Quick Parameter Summary

Parameter Required Description Example
username Yes Your BulkSMSOnline account username. username=YourUsername
password Yes Your account password for HTTP API authentication. password=YourPassword
type Yes SMS message type. Use text or Unicode depending on your message content. type=t or type=u
to Yes Recipient mobile number or multiple numbers separated by commas. to=60123456789
source Yes Sender ID or sender name, where supported. source=YourBrand
message Yes The SMS message content. message=Hello
scheduled No Future sending date and time in ISO 8601 format. scheduled=2026-05-27T15:30:00

Common API Response Codes

After you send an HTTP API request, BulkSMSOnline returns a response. A successful request returns a message ID that you can save for delivery tracking, reporting, and support checks.

Response Code Meaning What to Check
OK|MESSAGE_ID Message accepted Save the message ID for delivery tracking and future reference.
E0002 Invalid request Check that all required parameters are included and correctly formatted.
E0003 Invalid username or password Check your API credentials. If the password contains special characters, URL-encode it.
E0004 Invalid message type Use a supported message type, such as t for plain text or u for Unicode.
E0005 Invalid message body Make sure the message is not empty and is properly encoded.
E0006 Invalid recipient number Use the correct international number format without spaces or invalid characters.
E0007 Invalid sender ID Check the sender ID format and confirm that it is allowed for the destination country or route.

Helpful Tips Before Sending SMS Through the API

  • Use the correct international mobile number format.
  • URL-encode your message text before sending it through the HTTP API.
  • Use Unicode type when sending Arabic, Chinese, Korean, Hindi, emojis, or other non-Latin text.
  • Keep your API credentials private and secure.
  • Send test messages before starting high-volume traffic.
  • Save the API response and message ID for delivery tracking.
  • Check your account balance before sending larger batches.
  • Test your sender ID because sender name behavior may vary by country and mobile operator.
  • Make sure your SMS content follows BulkSMSOnline rules and local regulations.

When Should You Use REST API Instead?

The HTTP API is simple and useful for quick SMS sending, lightweight integrations, and legacy systems. However, if you are building a modern application, CRM, SaaS platform, or backend service, you may prefer the REST API.

The REST API uses HTTPS, JSON requests, structured responses, and token-based authentication. It is often easier to manage in modern applications, especially when your system needs cleaner request handling, scheduled SMS, bulk sending, or delivery tracking.

You can compare HTTP API, REST API, SMPP, delivery reports, and webhook options from the BulkSMSOnline Developer Documentation.

Need Help With an API Request?

If your API request does not work as expected, first check your username, password, endpoint, message type, recipient number format, sender ID, message encoding, account balance, and API response.

If the issue continues, contact BulkSMSOnline support and include the API response, message ID if available, destination country, sender ID, sending time, and a short explanation of the issue. These details help the support team review your case faster.

You can also visit the BulkSMSOnline Help Center, open the Developer Documentation, or contact the team through the Contact Us page.

For a smooth setup, start with one test SMS, check the response, save the message ID, and then continue with delivery reports or webhook tracking once the basic sending request is working correctly.