Build on Makazi
Integrate your property management system with Tanzania's largest rental marketplace.Unganisha mfumo wako wa mali na soko la Makazi
API Capabilities
Everything you need to manage properties at scale · Uwezo wa API
Quickstart
Get your first listing uploaded in 3 steps · Mwongozo wa Kuanza Haraka
Generate an API Key
Go to your API Management page and generate a new key. Copy immediately — shown only once.
Make Your First Request
curl -X POST https://makazi.io/api/v1/listings/bulk \
-H "Content-Type: application/json" \
-H "X-API-Key: mkz_live_YOUR_KEY_HERE" \
-d '{
"listings": [
{
"title": "Penthouse ya Kisasa Masaki",
"description": "3BR penthouse with ocean views...",
"property_type": "apartment",
"price": 4500000,
"currency": "TZS",
"bedrooms": 3,
"bathrooms": 2,
"amenities": ["pool", "gym", "parking"],
"images": ["https://example.com/img1.jpg"]
}
]
}'Check the Response
{
"summary": {
"total": 1,
"succeeded": 1,
"failed": 0,
"test_mode": false
},
"results": [
{
"index": 0,
"success": true,
"listing_id": "a1b2c3d4-e5f6-..."
}
]
}API Reference
Rejea ya API
Endpoints
/api/v1/listings/bulkCreate up to 100 listings in a single request
/api/v1/listings/bulkCheck API key status and usage statistics
Authentication · Uthibitishaji
All requests require an X-API-Key header.
| Header | Type | Description |
|---|---|---|
| X-API-Key | string | Your mkz_live_ or mkz_test_ key |
| Content-Type | string | Must be application/json |
Listing Object Schema
| Field | Type | Req | Description |
|---|---|---|---|
| title | string | req | Listing title |
| description | string | req | Full description |
| property_type | enum | req | apartment · house · studio · room · commercial · land |
| price | number | req | Monthly rent amount |
| currency | string | opt | TZS (default) or USD |
| bedrooms | integer | opt | Number of bedrooms |
| bathrooms | integer | opt | Number of bathrooms |
| area_sqm | number | opt | Size in m² |
| address | string | opt | Street address |
| latitude | number | opt | GPS latitude |
| longitude | number | opt | GPS longitude |
| amenities | string[] | opt | e.g. pool, gym, parking |
| images | string[] | opt | Image URLs |
| video_url | string | opt | Video tour URL |
| whatsapp_number | string | opt | Contact WhatsApp |
| location_id | uuid | opt | Locations table ref |
Rate Limits & Errors · Mipaka na Makosa
100
Listings per request
60
Requests per minute
| Status | Meaning |
|---|---|
| 201 | Created — All or some listings succeeded |
| 400 | Bad Request — Invalid body or all listings failed |
| 401 | Unauthorized — Missing or malformed API key |
| 403 | Forbidden — Key revoked or insufficient tier |
| 429 | Rate Limited — Too many requests |
Code Examples
Mifano ya Msimbo
JSNode.js
import axios from 'axios';
const MAKAZI_API = 'https://makazi.io/api/v1';
const API_KEY = process.env.MAKAZI_API_KEY;
async function uploadListings(listings) {
const { data } = await axios.post(
`${MAKAZI_API}/listings/bulk`,
{ listings },
{ headers: { 'X-API-Key': API_KEY } }
);
console.log(`✅ ${data.summary.succeeded} uploaded`);
console.log(`❌ ${data.summary.failed} failed`);
return data;
}PYPython
import requests
API_KEY = "mkz_live_YOUR_KEY_HERE"
BASE_URL = "https://makazi.io/api/v1"
response = requests.post(
f"{BASE_URL}/listings/bulk",
headers={"X-API-Key": API_KEY},
json={
"listings": [
{
"title": "Studio Apartment Mikocheni",
"description": "Modern studio...",
"property_type": "studio",
"price": 800000,
"bedrooms": 1,
"bathrooms": 1,
}
]
}
)
data = response.json()
print(f"Uploaded: {data['summary']['succeeded']}")Tenant Safety
Mwongozo wa Usalama wa Mpangaji
Verify Before You Pay
Thibitisha Kabla ya Kulipa
Always visit the property in person. Never send money before seeing the unit and meeting the landlord.
Use Official Receipts
Tumia Risiti Rasmi
Request a signed rental agreement and official receipt for all payments. Keep copies of everything.
Report Suspicious Listings
Ripoti Tangazo Tata
If a deal seems too good to be true, report it using the flag button or contact support.
Know Your Rights
Jua Haki Zako
Tanzanian law requires landlords to provide a written tenancy agreement. You have the right to a habitable dwelling.
Ready to build?
Get your Enterprise API key and start uploading properties to Tanzania's largest rental marketplace.Uko tayari kujenga?
Get Started