SpeedPesa Pro API v1

Developer Documentation

Six APIs, each with its own page: receive payments, send money, check status, balance, number lookup and webhooks.

HomeDocumentation

SpeedPesa Pro Payments API

Collect and send mobile money payments — M-Pesa, Mixx By Yas, Airtel Money and Halopesa — through one API with simple REST endpoints.

Prerequisites

  1. API KeyAPI Key — go to Dashboard → Settings → Developer then click Generate API Key.
  2. Webhook URLWebhook URL — register your URL to receive notifications whenever a payment status changes.

How it works

  • Step 1 — USSD Push (Payment Request)Send POST /collections/ussd-push with phone + amount; the customer receives a USSD push to enter their PIN and the status is pending.
  • Step 2 — StatusCheck the status with GET /transactions/{orderid} until it becomes success or failed.
  • Step 3 — WebhookOr wait for SpeedPesa Pro to send the event to your webhook URL.

Authentication

Every request requires your API key in the headers.

Required Headers

Authorization

Bearer sk_live_XXXXXXXXXXXX

Content-Type

application/json

Base URL

All endpoint paths are appended to the base URL.

https://www.speedpesapro.com/api/public/v1

All APIs

Click any group to open full details, request body and code samples.

Test the Connection

GET

Ping — Test your API Key

Use this endpoint to confirm your API key works before you start sending real payments.

GET https://www.speedpesapro.com/api/public/v1/ping

Use www.speedpesapro.com specifically (without www the request is redirected and some HTTP clients drop the POST body — which causes a server error).

bash
curl -X GET 'https://www.speedpesapro.com/api/public/v1/ping' \
  -H 'Authorization: Bearer sk_live_XXXXXXXXXXXX'

Error Codes

All errors are returned in one format: success, message.

CodeHTTPMeaningFix
STB-1001401The API key is invalid or has been revokedGenerate a new key from Dashboard → Settings → Developer.
STB-1010422The request data is incompleteCheck the message field in the response and fix the field mentioned.
STB-1042400The phone number is not recognisedUse the format 07XXXXXXXX or 2557XXXXXXXX.
STB-1055409The order reference has already been usedUse a unique reference for every transaction.
STB-2044404The transaction cannot be foundConfirm the transaction_id or reference you sent.
STB-3001429You have exceeded the request rate limitSlow down your requests; the limit is 120 requests per minute.
STB-5000500An internal system error occurredTry again after a few seconds; contact support if it continues.

Support & Resources

Our team helps with integration, troubleshooting and account management.

ChannelContactResponse Time
Emailsupport@speedpesapro.com24 hours
Phone / WhatsApp+255 700 000 00008:00 – 20:00 EAT

© 2026 SpeedPesa Pro API Documentation. All rights reserved.