Tigo Pesa (now operated under the MIC Tanzania / Tigo brand) provides an API for C2B, B2C, and B2B transactions. You register on the Tigo Pesa developer portal, get API credentials, and integrate using REST endpoints. The flow is the same as every East African mobile money API: send a request, the customer confirms on their phone, receive a callback with the result. Direct API access from Tigo has historically been difficult for small developers. Most Tanzanian developers access Tigo Pesa through aggregators like Selcom, Azampay, or ClickPesa, which provide a single API for all three rails.
Tanzania has three mobile money providers: Vodacom M-Pesa, Tigo Pesa, and Airtel Money. Tigo Pesa is operated by MIC Tanzania (the Tigo brand). It is the second-largest mobile money platform in the country and has a significant user base, especially outside Dar es Salaam.
For developers, ignoring Tigo Pesa means turning away a large chunk of potential customers. Unlike Kenya, where M-Pesa dominates with over 90% market share, Tanzania's mobile money market is split across three providers. A checkout page that only supports one rail loses transactions from the other two.
The good news: Tigo Pesa's API follows the same fundamental pattern as Vodacom M-Pesa and Airtel Money. If you have integrated one, the others are a matter of adjusting endpoints, authentication, and payload formats. The architecture is identical.
Since 2014, Tanzania has had full mobile money interoperability. Customers can send money from Tigo Pesa to M-Pesa or Airtel Money and back. But interoperability is a user feature, not a developer feature. Your code still needs to handle Tigo Pesa transactions through either the Tigo API or an aggregator that routes to it.
The Tigo Pesa API provides endpoints for the standard mobile money operations:
The authentication mechanism involves API credentials provided during the registration process. Like Vodacom's Open API, the exact implementation has its own quirks, but the general flow is: authenticate, get a token or session, make requests with that token, handle callbacks.
The request-callback pattern deserves emphasis because it is the single most important concept in East African payment integration:
This is the same flow for Vodacom M-Pesa, Safaricom Daraja, Airtel Money, and MTN MoMo. Learn it once, use it everywhere.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
Here is the part that most guides skip: getting direct Tigo Pesa API access is difficult.
Unlike Safaricom's Daraja, which lets any developer sign up and start testing in minutes, Tigo's developer onboarding process involves business verification, commercial agreements, and approval timelines that can stretch to weeks or months. For a solo developer or an early-stage startup, this process can stall a project indefinitely.
This is not unique to Tigo. All three Tanzanian telcos have more restrictive API access than Kenya's Safaricom. It is a market-wide reality.
The practical workaround is aggregators. Services like Selcom, Azampay, ClickPesa, and Pesapal have already established direct connections with all three telcos. They expose a single API that routes to Tigo Pesa, M-Pesa, and Airtel Money. You integrate once, and the aggregator handles the telco-specific details.
For a detailed comparison of the aggregator options, see our Selcom vs ClickPesa vs Pesapal vs Direct API article.
The decision is straightforward: if you have existing business relationships with Tigo or you are processing high enough volume to justify the setup effort, pursue direct integration. For everyone else, use an aggregator and focus your development time on the product, not on telco paperwork.
Since you will likely need to support Tigo Pesa alongside M-Pesa and Airtel Money, your payment layer should be designed for abstraction from the start.
The pattern that works:
initiatePayment(), handleCallback(), and checkStatus(). Each provider (or aggregator) implements this interface.If you are using an aggregator, they handle the multi-provider abstraction for you. Your code talks to one API and receives normalized callbacks. This is the main reason aggregators save development time.
Whether you go direct or through an aggregator, store the provider name (tigo_pesa, mpesa, airtel_money) and the raw callback payload alongside each transaction in your database. When something goes wrong (and it will), having the raw data makes debugging possible.
There is no widely available Tigo Pesa integration course as of mid-2026. The documentation is limited, developer community resources are sparse, and most Tanzanian developers learn through aggregator documentation rather than direct Tigo API docs.
Here is the practical learning path:
This path is honest about a market reality: the best sandbox experience and learning materials are on Daraja. Using that as your training ground and then adapting to Tanzanian providers is more productive than struggling with limited documentation from the start.
Create a free McTaba Academy account. Access starter lessons, join the community, and explore at your own pace.
Create Free Account