The first structured property dataset for any Sub-Saharan African city, built from 517 informal brokers rather than a formal portal. The structural difference is not a limitation. It is the finding.
of rental listings are priced at or below TSH 400,000 per month (the approximate Tanzanian median household income).
The remaining 56% is structurally inaccessible. Premium and upper-mid neighbourhoods are 0% accessible at that threshold; budget-tier neighbourhoods are 100%.
Paired listings with identical bedrooms, plot size, and amenity profile diverge by name alone. The headline rent is partly a postcode tax.
Low total rent ≠ affordable. Studio-heavy wards collapse the apparent floor of the market.
In premium tiers the mean overshoots the median by 38%. The rich tail is doing all the work.
Population gravity points one direction. Listing gravity points another. The dataset is a map of where capital looks, not where people live.
A property portal is a database of listings. Dar es Salaam is a database of brokers. Each one is a single point of failure.
The price of resilience in an unreliable-utilities market. The household pays the infrastructure gap.
Not low-density. Low-digital. The gap is not absence of housing but absence of dalalis with phones.
The headline rent understates the true barrier to entry. For most households, the deposit is the deal-breaker.
The shape of the dataset itself: how 30,220 captions decompose into structure.
Nairobi has property portals. Dar es Salaam has dalalis. When Maina Murage built his Nairobi dataset, he scraped a formal listing website. When we built this one, we searched Instagram for 517 individual brokers, one account at a time, across all five administrative districts of the city.
That structural difference is not a limitation. It is the finding. The Dar es Salaam housing market routes itself through people, not platforms. Each dalali account is a micro-franchise serving a specific geography.
The result is a richer dataset than a portal would produce, and a harder one to build. 60% of captions are in Swahili. Prices appear as “2.5 Laki” or “MILIONI 3.5”. Bedroom counts as “vyumba vitatu”. A large language model parsed all of it.
all_prices = asking_prices · negotiation = invisible excluded: rentals > TSH 50M/mo (extraction artefacts) excluded: plot listings priced per_m² (not per_unit) pipeline: TypeScript / Deno · open source extraction: Claude Sonnet 4.6 · captions only