Open data
Mukoko is not building to conceal. The shape of the knowledge graph — how many venues, where they are, how far verification has spread — is a commons, open to everyone with no account and no key. I am because we are.
The three surfaces
Section titled “The three surfaces”The same snapshot (recomputed roughly every five minutes) is served three ways:
| Surface | Where | Audience |
|---|---|---|
| Page | kweli.mukoko.com/en/analytics | Humans — no sign-in |
| JSON API | GET https://kweli.mukoko.com/api/open/stats | Programs — anonymous, CORS-open (*), cached 5 min, rate-limited |
| MCP | get_open_stats tool on https://kweli.mukoko.com/mcp | AI agents — authentication: none |
What the snapshot contains
Section titled “What the snapshot contains”{ "totalVenues": 15316, "byCountry": [{ "name": "Zimbabwe", "isoCode": "zw", "count": 2534 }, ...], "topCities": [{ "city": "Harare", "count": ... }, ...], "verifiedByTier": [{ "tier": 1, "label": "community", "count": ... }, ...], "trust": { "totalEntities": 12292, "entitiesByTier": [{ "tier": 3, "label": "government", "count": 2 }, ...], "totalVouches": 0, "verificationEvents": 0 }, "generatedAt": "..."}verifiedByTiercounts venues at their effective tier — the max of the place’s own tier and its owning entity’s tier, the same answer venue pages give.trustis the verification commons: organizations in the graph, how many hold each tier, community vouches recorded, and events on the platform’s verification audit trail. As the verification ladder gets climbed, these numbers are the public proof.
Using it from a script
Section titled “Using it from a script”curl https://kweli.mukoko.com/api/open/statsNo key, no origin restriction — the endpoint sends Access-Control-Allow-Origin: *, so browser apps on any domain can fetch it directly. Heavy consumers should respect the 5-minute cache (s-maxage=300); the numbers do not move faster than that.