For Agents
Look up Tanzania's administrative geography — region, district, ward, street — through a hierarchical lookup API used to populate address selectors and validate locations.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Mtaa API Documentation, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Mtaa API Documentation API.
Retrieve every region in a country via GET /{country}
List the districts within a Tanzanian region via GET /{country}/{region}
List the wards within a district via GET /{country}/{region}/{district}
List the streets within a ward via GET /{country}/{region}/{district}/{ward}
GET STARTED
Use for: I need to populate a cascading address dropdown for Tanzania, List every region in Tanzania, Get the districts in Dar es Salaam region, Find all wards in Kinondoni district
Not supported: Does not handle geocoding to latitude and longitude, routing, or non-Tanzanian geographies — use for walking the Tanzanian administrative hierarchy only.
Jentic publishes the only available OpenAPI document for Mtaa API Documentation, keeping it validated and agent-ready.
The Mtaa API exposes Tanzania's administrative geography as a hierarchical REST endpoint, returning regions, districts, wards, and streets for the country. Developers building Tanzanian e-commerce checkouts, government service portals, or delivery platforms use it to populate cascading address selectors that match official local divisions. The five-endpoint surface walks the country down to street level by passing each level as a path segment.
Confirm a specific street within the full hierarchy via GET /{country}/{region}/{district}/{ward}/{street}
Patterns agents use Mtaa API Documentation API for, with concrete tasks.
★ Tanzanian Address Dropdowns at Checkout
Local e-commerce checkouts need the user to pick region, district, ward, and street rather than typing free-text. The Mtaa API returns each level as the previous one is selected, so the dropdown chain stays consistent with official Tanzanian administrative names. The hierarchy avoids spelling drift between vendors and lines up with delivery courier zone naming.
Call GET /tanzania to populate the region dropdown, then on selection call GET /tanzania/{region} for districts, /tanzania/{region}/{district} for wards, and /tanzania/{region}/{district}/{ward} for streets.
Delivery Zone Validation for Logistics
Last-mile delivery platforms validate that a customer-supplied ward and street pair exists within a chosen district before assigning a courier. Calling /{country}/{region}/{district}/{ward}/{street} confirms the full path resolves to a real entry. Failed validation routes the address to manual review instead of dispatching a rider to a nonexistent location.
Call GET /tanzania/{region}/{district}/{ward}/{street} with the customer-supplied path and reject the order if the response is empty.
Government Services Form Population
Public sector forms in Tanzania ask citizens to identify their location by region down to ward. Using Mtaa's hierarchy ensures the form values match the administrative records held by national agencies, which avoids reconciliation work later. The API hierarchy mirrors the official PORALG administrative structure used for elections and census data.
Pull GET /tanzania once per session and cache, then progressively call deeper levels as the citizen narrows their location selection.
Agent-Driven Address Capture in Chat
An AI customer support agent confirms a Tanzanian customer's delivery address conversationally. Through Jentic the agent searches for 'list tanzania regions', then drills the hierarchy as the customer answers each clarifying question. The unauthenticated API means no credentials to manage and the agent only needs to chain four operations.
Search Jentic for 'list tanzania regions', call GET /tanzania, ask the user to pick one, then chain through district, ward, and street with each subsequent answer.
5 endpoints — the mtaa api exposes tanzania's administrative geography as a hierarchical rest endpoint, returning regions, districts, wards, and streets for the country.
METHOD
PATH
DESCRIPTION
/{country}
List regions in a country
/{country}/{region}
List districts in a region
/{country}/{region}/{district}
List wards in a district
/{country}/{region}/{district}/{ward}
List streets in a ward
/{country}/{region}/{district}/{ward}/{street}
Validate a specific street in the hierarchy
/{country}
List regions in a country
/{country}/{region}
List districts in a region
/{country}/{region}/{district}
List wards in a district
/{country}/{region}/{district}/{ward}
List streets in a ward
/{country}/{region}/{district}/{ward}/{street}
Validate a specific street in the hierarchy
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Mtaa API requires no credentials, so Jentic simply scopes the agent to the read-only hierarchy operations and prevents accidental misuse on adjacent endpoints.
Intent-based discovery
Agents search Jentic with intents like 'list tanzania regions' and Jentic returns the appropriate hierarchy operation, hiding the path-segment encoding behind a friendly intent name.
Time to first call
Direct integration: half a day to wire the cascading dropdown and handle Heroku cold starts. Through Jentic: under 15 minutes for an agent to discover the hierarchy and chain the five operations.
Alternatives and complements available in the Jentic catalogue.
OpenStreetMap API
OpenStreetMap exposes administrative boundaries globally including Tanzania
Pick OpenStreetMap when the workflow needs polygon geometry or coverage outside Tanzania.
Positionstack API
Positionstack offers global forward and reverse geocoding including African addresses
Choose Positionstack when the requirement is converting a free-text address to coordinates rather than walking a fixed administrative hierarchy.
LocationIQ API
LocationIQ adds geocoding and routing on top of an address lookup
Pair with Mtaa when the validated ward or street needs to be turned into latitude and longitude for a delivery dispatch.
Specific to using Mtaa API Documentation API through Jentic.
What authentication does the Mtaa API use?
The Mtaa API is unauthenticated — every endpoint is a public GET with no key or token required. Through Jentic the agent calls the hierarchy operations directly with no credential setup.
Can I drill from country down to street level?
Yes. The five endpoints chain by path segment — /{country}, /{country}/{region}, /{country}/{region}/{district}, /{country}/{region}/{district}/{ward}, and /{country}/{region}/{district}/{ward}/{street}. Each level returns the children at the next level.
What are the rate limits for the Mtaa API?
The Mtaa API runs on a community Heroku deployment and applies no published rate limit, but it can sleep when idle so cold-start latency is realistic. Cache the GET /{country} and region-level responses on your side rather than hitting the API on every page render.
How do I populate an address dropdown through Jentic?
Search Jentic for 'list tanzania regions', execute GET /tanzania, then on each user selection call the next deeper endpoint — /tanzania/{region}, /tanzania/{region}/{district}, and so on. The agent receives clean lists ready to render in dropdowns.
Is the Mtaa API free?
Yes. The Mtaa API is an open community project hosted on Heroku and does not charge per call. Plan for occasional cold starts and consider mirroring the data locally for production use.