ULTRASMSSCRIPT DEVELOPER API

Make SMS part of everything you build.

Connect your website, CRM, or custom application to your UltraSMSScript platform. Manage contacts, trigger campaigns, track delivery, and check credit balances with straightforward HTTP requests.

✓ HTTP GET or POST✓ JSON responses✓ Account API keys
● ● ●API REQUEST PREVIEWPOST
REQUEST
POST /apis/smscontact/
Content-Type: application/x-www-form-urlencoded

apikey=YOUR_API_KEY
from=YOUR_SMS_NUMBER
to=CONTACT_NUMBER
message=Hello%20from%20UltraSMSScript
EXAMPLE RESPONSE
{
  "status": "0"
}
Example only · Use your own installed URL
WHAT YOU CAN BUILD

Extend your platform without rebuilding it.

Use the API to connect the workflows your business already relies on.

↗

Trigger SMS campaigns

Send a single message or schedule a group campaign from your own applications.

♙

Sync contact data

Add subscribers to groups and retrieve contact records using flexible filters.

▤

Track messaging activity

Retrieve delivery information and check available messaging credits.

▦

Connect appointment flows

Add contact appointments from your scheduling or business software.

GETTING STARTED

From API key to first request.

Each UltraSMSScript installation has its own API URL. Use the API key from your user panel to authenticate requests.

01Install and configureSet up UltraSMSScript and create your user account.
02Find your API keyLocate the key in your account's user panel.
03Send an HTTP requestUse your installation URL and required parameters.

Plan access: API access is available with Level 3 and above under the current pricing tiers.

PHP · cURLExample: add a contact
$url = 'https://YOUR_DOMAIN/apis/addcontact/';
$fields = [
  'apikey' => 'YOUR_API_KEY',
  'group'  => 'YOUR_EXISTING_GROUP',
  'number' => '12025550123'
];

$ch = curl_init($url);
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => http_build_query($fields),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/x-www-form-urlencoded'
  ]
]);
$response = curl_exec($ch);
curl_close($ch);
Replace placeholders with your own installation and account details. Use HTTPS on your deployment.
ENDPOINT DIRECTORY

Eight endpoints. One connected workflow.

Browse the documented endpoints below. Expand any item to see parameters and example responses.

POSTAdd contactPOST /apis/addcontact/+

Add a phone number to an existing contact group.

Requiredapikey, group, number
Optionalname, email, bday
Illustrative response
{"status":"0"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTGet contactsPOST /apis/getcontacts/+

Find contacts using filters such as group, name, email, or phone number.

Requiredapikey
Optionalname, email, number, group, source, subscribed, sortby, sortdir, limit, page
Illustrative response
{"status":"0","contacts":[{"id":"23","name":"John Doe","number":"14154009186"}]}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTSend bulk SMSPOST /apis/smsgroup/+

Send or schedule a campaign to an existing contact group.

Requiredapikey, from, to, message
Optionalrotate, throttle, sendondate, recurring, repeat, frequency, enddate, alphasender
Illustrative response
{"status":"0"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTSend SMS to contactPOST /apis/smscontact/+

Send or schedule a message to an existing contact.

Requiredapikey, from, to, message
Optionalsendondate, recurring, repeat, frequency, enddate, alphasender
Illustrative response
{"status":"0"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTGroup delivery reportPOST /apis/getbulksmsdeliveryreport/+

Retrieve successful and failed message counts for a group SMS ID.

Requiredapikey, groupsmsid
OptionalNone
Illustrative response
{"successful":"145","failed":"7"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTContact delivery reportPOST /apis/getcontactsmsdeliveryreport/+

Get the latest outbound message status for a contact.

Requiredapikey, number
OptionalNone
Illustrative response
{"smsstatus":"delivered","errormsg":""}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTCredit balancePOST /apis/getcreditbalance/+

Check available SMS or voice credits for your account.

Requiredapikey, type
OptionalNone
Illustrative response
{"creditbalancenumber":"145"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.
POSTAdd appointmentPOST /apis/addappointment/+

Add an appointment for an existing contact.

Requiredapikey, number, apptdate, status
OptionalNone
Illustrative response
{"status":"0"}
Endpoints also accept GET requests per the existing documentation. Actual responses and errors depend on request parameters.

For the complete parameter definitions, return codes, and scheduling options, consult the API documentation in the user panel of the platform under the top right menu.

BUILT FOR SERVICE PROVIDERS

Connect your apps.
Grow your branded SMS business.

Pair API integrations with UltraSMSScript's white-label platform to create custom client workflows, connect existing systems, and offer SMS services under your own brand.

Explore white-label capabilities ↗
COMMON QUESTIONS

Good to know before you integrate.

Where do I get my API key?

Your API key is available in the user panel after your software is installed and your account has been created.

Can I use the API with any programming language?

Most languages that can make HTTP requests can interact with the API. The documentation includes PHP cURL examples.

Does the API support scheduling?

Yes. The individual and group messaging endpoints document scheduling and recurring-message parameters.

Is the API available on every plan?

No. The current pricing page lists API access from Level 3 onward.