Versatile. Interactive. Real Time.

Build personalized USSD menus accross africa with Beem’s USSD Platform.

Reach Every Phone.

Offline service delivery for all customers.

Unstructured Supplementary Service Data (USSD) is a telecommunication technology used for interactive communication. USSD Interaction, which is usually menu-based, involves sending text back and forth between a mobile phone and an application through the mobile networks. With the use of a unique USSD code like *123#, customers can quickly and easily navigate the menu system on their mobile devices for a variety of reasons like data collection and for self-care services. User examples include checking bank account balance, paying utility bills, mobile polling, surveying, requesting of certain information etc. USSD is a communication channel that is universally accessible across all mobile devices and is accepted by customers as a standard means of accessing services across most African countries. Through our USSD platform Beem offers software developers an alternative communication channel across multiple countries. Let subscribers access services instantly on any device and network by designing and launching menus directly via our easy to use APIs or via web interface.
Beem USSD for mobile applications

What can you use it for?

Customer registration using USSD from Beem

Customer Registration

Register customers and integrate directly with your systems.
Using USSD for Lead Generation

Lead Generation

Capture segmented leads from marketing campaigns.
Conduct surveys using two-way SMS

Surveys & Interactions

Conduct interactive, multi-question research or feedback surveys.

Using USSD to serve account information

Account Information

Provide access to account info, balance, statements etc for all handset users.
Self-care, support and access using USSD


Let all customers complete basic support tasks themselves.

Key Features

So you can focus on what matters.


Multi-language support.

Self-service dashboard.
Real-time sessions logs and reports.
Bring Your Own Shortcode
Unified REST API with thorough documentation and sample code.
Online Testing Simulator.
Combine into workflows with our airtime, payments and sms APIs.

How it Works

5 Simple & Easy Steps

Step 1

Create your free Beem account.

Step 2

Purchase a Dedicated or Shared USSD Shortcode.

Step 3

Configure shortcode on each mobile network if new dedicated code.

Step 4

Build your interactive menu flows.

Step 5

Integrate with our APIs.

The Beem Advantage

We understand our customers rely on our services and expect us to deliver scalable and reliable bulk SMS services. Through our SMS messaging experience, market knowledge, and domain expertise, we constantly strive to solve our customer's challenges whilst remaining economical and competitive.


Platform uptime guarantee of 99.9%.


Robust and Scalable platform processing millions of transactions.

Network Reach

Support for over 150 Mobile Networks across Africa & the World.


Dedicated support team with an Industry Standard SLA.

Flexible Models

No minimum commitment with a pay-as-you-go model.

Tiered Pricing

Competitive tier-based pricing.

Take a tour.

Get access to the complete API Documentation, Sample Code and Coverage & Pricing.

Ready to start adding USSD features into your own platform? Take a look at our comprehensive API documentation and sample code which provide you with detailed instructions and comprehensive tutorials.


$data = file_get_contents(‘php://input’);
$data = json_decode($data, true);

$msisdn = $data[‘msisdn’];
$command = $data[‘command’];
$session_id = $data[‘session_id’];
$operator = $data[‘operator’];
$payload = $data[‘payload’];
$request_id = $payload[‘request_id’];
$response = $payload[‘response’];

$ussd_menu = array(“phone” => “enter phone number”, “amount” => “enter amount”);
$request = (array_values($ussd_menu)[$request_id]);

$command = $request_id + 1 === count($ussd_menu) ? “terminate” : “continue”;

if ($command === “terminate”) {
echo “Request is termintating soon <br/>”;
if ($command === “continue”) {
echo “On Progress <br/>”;

$res = array(
‘command’ => $command,
‘msisdn’ => $msisdn,
‘session_id’ => $session_id,
‘operator’ => $operator,
‘payload’ => array(
‘request_id’ => $request_id,
‘response’ => $request,

$json = json_encode($res);
echo $json;

Need a custom quotation for larger volumes? Get in touch with us for a custom quotation.