Data API · v1
Programmatic access to Karibu's listings, sold transactions, agent profiles, parcel data, and the Online Pricing Index. Built for banks, fintechs, insurers and developers who need cited, source-traceable Kenyan property data inside their own systems.
Pricing tiers
- · 10,000 calls/month
- · 30 req/min burst
- · All v1 read endpoints
- · Email support
- · 250,000 calls/month
- · 240 req/min burst
- · All v1 read endpoints
- · Priority email support
- · 99.5% monthly SLA target
- · 5M calls/month
- · 1,200 req/min burst
- · Bulk JSON exports
- · Co-branded reporting
- · Named Karibu engineer
- · Custom SLA
KD-033 consortium counterparties receive complimentary Consortium-tier access — talk to Hassan directly.
Authentication
Every request must include your API token as a Bearer header.
curl https://karibu-peach.vercel.app/api/v1/listings?neighborhood=Karen \
-H "Authorization: Bearer kapi_<key_id>_<secret>"
Karibu stores only a SHA-256 hash of your secret. The full token is shown ONCE at issuance — store it in your secret manager immediately. Lost tokens cannot be recovered; we revoke and reissue.
Endpoints
/api/v1/listingsActive listings across all KD-033 sources. Filters: country, city, neighborhood, asset_class, deal_type, min, max, bedrooms, pricing_source_class. Paginated.
GET /api/v1/listings?country=Kenya&neighborhood=Karen&bedrooms=4&page=1&size=50
/api/v1/transactionsVerified sold transactions. Returns recent comps + aggregate (count, median, mean, min, max). Filters: country, city, neighborhood, asset_class, bedrooms, limit.
GET /api/v1/transactions?country=Kenya&neighborhood=Karen&limit=10
/api/v1/online-pricing-indexPer-neighborhood asking-price aggregate from the major KE portals — and the spread (in %) versus the Karibu Index midpoint. The Karibu signature metric. See it rendered at /online-pricing-index.
GET /api/v1/online-pricing-index?country=Kenya
/api/v1/agentsAgent / developer / contractor profiles with EARB / NCA licence numbers where available. Filters: country, type, county, q (name), karibu_verified.
GET /api/v1/agents?country=Kenya&type=developer&county=Nairobi
/api/v1/parcelsLands Ministry / NLC parcel data. Lookup by LR number, or filter by county / sub_county / use / area. Proprietor names are not exposed (PII boundary, per KE Data Protection Act 2019).
GET /api/v1/parcels?lr=Nairobi/Block/123/456
GET /api/v1/parcels?county=Nairobi&sub_county=Westlands&use=residential
/api/v1/meYour key tier + month-to-date usage breakdown.
GET /api/v1/me
Sample code
curl
curl 'https://karibu-peach.vercel.app/api/v1/online-pricing-index?country=Kenya' \
-H "Authorization: Bearer $KARIBU_API_KEY"
Python
import os, requests
r = requests.get(
'https://karibu-peach.vercel.app/api/v1/listings',
params={'country': 'Kenya', 'neighborhood': 'Karen', 'bedrooms': 4},
headers={'Authorization': f"Bearer {os.environ['KARIBU_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
data = r.json()
print(f"{data['total']} listings; first: {data['listings'][0]['title']}")
Node.js
const r = await fetch(
'https://karibu-peach.vercel.app/api/v1/transactions?neighborhood=Karen&limit=10',
{ headers: { 'Authorization': `Bearer ${process.env.KARIBU_API_KEY}` } }
);
const data = await r.json();
console.log(`Median sold: KES ${data.aggregate.median.toLocaleString()}`);
Rate limits + headers
Every response carries:
X-Karibu-Tier— your current tierX-Karibu-Rate-This-Min— calls made in the last minute on this keyX-Karibu-Elapsed-Ms— server-side elapsed time
429 responses include Retry-After in seconds. We don't drop requests during the warning band — only at the burst cap.
Source provenance — every record
Each record returns:
source— the counterparty slug (e.g.buyrentkenya,lands-ministry)source_url— canonical link back to the source pageattribution_text— exact display attribution per KD-033 contractpricing_source_class(listings only) —online_asking|index_aggregate|verified_soldlast_seen_at— when Karibu last verified the record
You are required to honour the per-source attribution text when redisplaying. Karibu retains audit logs of every API call for compliance under the KE Data Protection Act 2019.
Request an API key
We review every request manually — typically within 2 business days.
© 2026 Karibu — A Provecta Group product. Data licensed under the KD-033 country-data deal. Privacy · How we verify