One-time password OTP (SMS)

Send one-time password via SMS — block fraud and improve the security of client sensitive data to increase trust in your brand.
Getting started
hero otp

Send globally

in more than 190 countries and use it for all industries: banking, healthcare, ecommerce

Connect users

and check logins worldwide by sending a unique two-factor authentication code to each user

Protect data

from fraud and exclude the possibility of using your system by hackers or fraudsters

Verify transactions

by sending 2-factor authentication SMS to ensure that the genuine person perform the transactions

One-time password makes a difference


Included in our standard RESTful API

The 2-factor otp API process is fully consistent with our regular SMS and Viber methods, and is quite easy to set up.

Displays messaging performance

A convenient personal account in our two-factor authentication service with smart filters provides detailed statistics on your sent OTPs with their delivery and conversion rates.

Responsive and global client support

No need to be a developer to implement and use BSG One-time password. However, in case of any issues, our experts are there to assist you.

Add SMS verification in 3 simple steps

  1. Creating an account

    Verify a new subscriber phone to potentially cut off bots and prevent fraud on your platform or service.
  2. Details editing

    Introduce an added step to confirm changes to minimize the risk of the user account takeover.
  3. Log in attempt

    Offering two-factor authentication service at this step assures the privacy of people who put trust in your business.

How to send One-time password via SMS?

The system generates a unique code and sends it to the user.
The user initiates verification, entering this code into the login form.
The user is successfully logged into the system and their data is protected.

One-time password via SMS


Developers easily read and rely on our SMS OTP API

Add a globally prevalent cybersecurity two factor authentication API method to your website or application in a quick and easy manner. Safeguard user personal details and prevent account takeovers by requesting an OTP via SMS within your sign up or transaction flow.

  • Go
  • Node
  • Ruby
  • Python
  • Java
  • PHP

func (client *SmsClient) CreateMultipleSms(request MultipleSmsRequest) MultipleSmsData {
var sms MultipleSmsData
request.Destination = “phones”
_DoJsonCreateRequest(client.BaseClient, sms_create_method, request, &sms)
return sms

destination: “phone”,
originator:”alpha name”,
body:”message text”,
SMS => console.log( “SMS created:”, SMS ),
error => console.log( “SMS creation failed:”, error )

def message_create(params={}), “sms/create/”, params.merge({})))

class SMSMessage(dict):
def __init__(self, body: str = ”, originator: str = ‘BSG RESTAPI’, **kwargs):
kwargs.update({‘body’: body, ‘originator’: originator})

MultipleSmsRequest multipleSmsRequest = new MultipleSmsRequest();
multipleSmsRequest.setBody(“Some text”);
List<Phone> phones = new ArrayList();
phones.add(new Phone(“85226010227”, UUID.randomUUID().toString().substring(0, 13)));
phones.add(new Phone(“85226010227”, UUID.randomUUID().toString().substring(0, 13)));
MultipleSmsData data = smsClient.createSms(multipleSmsRequest);

$smsclient->$answer = $this->smsClient->sendSmsMulti([
[‘msisdn’ => 85226010227, ‘body’ =>’test’, ‘reference’ => ‘successSendM’ . (string)time()],
[‘msisdn’ => 85226010227, ‘body’ =>’tes2′, ‘reference’ => ‘successSendM1’ . (string)time()],


Authenticate users safely

Come up with a modern approach to user identity check. Embed ready-made autoscaling OTP solution in your project.
Get started

We use cookies (and other similar technologies) to collect data to improve your experience on our site. By using our website, you’re agreeing to the collection of data as described in our Website Data Collection Policy.