USSD API
Versatile. Interactive. Real Time.
Build personalized USSD menus accross africa with Beem’s USSD Platform.
Reach Every Phone.
Offline service delivery for all customers.
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.

What can you use it for?
Customer Registration
Lead Generation
Surveys & Interactions
Conduct interactive, multi-question research or feedback surveys.
Account Information
Self-Care
Key Features
So you can focus on what matters.
Multi-language support.
How it Works
5 Simple & Easy Steps
Step 1
Step 2
Purchase a Dedicated or Shared USSD Shortcode.
Step 3
Step 4
Step 5
The Beem Advantage
Uptime
Platform uptime guarantee of 99.9%.
Scalability
Network Reach
Support
Flexible Models
No minimum commitment with a pay-as-you-go model.
Tiered Pricing
Competitive tier-based pricing.
<?php
$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;
?>