# Jiji Tanzania Property Scraper - Real Estate Listings (`sian.agency/jiji-tz-property-scraper`) Actor

Scrape property ads from Jiji.co.tz, Tanzania's biggest classifieds site: houses and apartments for rent or sale, land and plots, shops and offices, by region, district or neighbourhood. Rows carry the price in TSh, size, rooms, agent or owner, and photos.

- **URL**: https://apify.com/sian.agency/jiji-tz-property-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Real estate, Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.32 / 1,000 listing searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Jiji Tanzania Property Scraper: Houses, Land & Rentals 🇹🇿

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![meQasa Scraper](https://img.shields.io/badge/Store-meQasa%20Scraper-1AE392)](https://apify.com/sian.agency/meqasa-property-scraper?fpr=sian) [![Property24 Scraper](https://img.shields.io/badge/Store-Property24%20Scraper-1AE392)](https://apify.com/sian.agency/property24-property-scraper?fpr=sian) [![Expat-Dakar Scraper](https://img.shields.io/badge/Store-Expat--Dakar%20Scraper-1AE392)](https://apify.com/sian.agency/expat-dakar-property-scraper?fpr=sian)

#### 🎉 Every Jiji Tanzania property ad in one dataset, priced in TSh, newest first

##### For investors, agencies, relocation services and analysts who track rents, land and house prices in Dar es Salaam, Arusha, Mwanza and Zanzibar

### 🔎 What is the Jiji Tanzania Property Scraper - Real Estate Listings — and when should you use it?

The **Jiji Tanzania Property Scraper - Real Estate Listings** turns public Jiji.co.tz property ads from any region, district or neighbourhood in Tanzania into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

**Use it when you need:** Tanzanian houses and apartments for rent or sale, land and plots, commercial property, short lets and new builds, as rows. Each row has the price in Tanzanian shillings with its period (per month, per plot, outright), the category, district and neighbourhood, size in square metres, bedrooms, bathrooms, furnishing, whether an agent or the owner placed the ad, a summary and photos. Switch on full details and each row adds the full description, property type, condition, facilities, toilets, posting and update dates, views, saves and price per m². About four in five ads are in Dar es Salaam.

**Use something else when:** the person needs sellers' phone numbers, or property in Ghana, South Africa or another country. Use [meQasa Scraper](https://apify.com/sian.agency/meqasa-property-scraper?fpr=sian) for rentals, homes for sale and land in Ghana. Use [Property24 Scraper](https://apify.com/sian.agency/property24-property-scraper?fpr=sian) for homes for sale and to rent in South Africa. This actor reads what jiji.co.tz shows a visitor who is not logged in: the Property search results and each ad's own page. It covers Tanzania's property section only, not cars, jobs or other Jiji countries. Rows never include seller names, phone numbers or email addresses.

### 🤖 Use with AI agents

Already connected to the [Apify MCP server](https://mcp.apify.com)? Just ask for this Actor by name: sian.agency/jiji-tz-property-scraper

**Your agent can pay for its own runs.** This Actor is eligible for [agentic payments](https://docs.apify.com/platform/actors/publishing/monetize), so an agent can discover it, run it and settle the bill over [x402](https://www.x402.org/) (USDC on Base) or [Skyfire](https://www.skyfire.xyz/) — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

```text
I want property ads for rent or sale from Jiji Tanzania using the Apify Actor `sian.agency/jiji-tz-property-scraper`.

Use it when I need: Tanzanian houses and apartments for rent or sale, land and plots, commercial property, short lets and new builds, as rows. Each row has the price in Tanzanian shillings with its period (per month, per plot, outright), the category, district and neighbourhood, size in square metres, bedrooms, bathrooms, furnishing, whether an agent or the owner placed the ad, a summary and photos. Switch on full details and each row adds the full description, property type, condition, facilities, toilets, posting and update dates, views, saves and price per m². About four in five ads are in Dar es Salaam.

Don't use it when: the person needs sellers' phone numbers, or property in Ghana, South Africa or another country — use meqasa-property-scraper or property24-property-scraper instead.

How to call it: give `locations` a list of places: a region such as `Dar es Salaam` or `Arusha`, a district such as `Kinondoni`, a neighbourhood such as `Mbezi Beach`, or `Tanzania` for the whole country. Set `category` to `houseRent`, `houseSale`, `landSale`, `landRent`, `commercialRent`, `commercialSale`, `shortLet`, `eventVenue`, `newBuilds` or `any`. Narrow with `minPrice` and `maxPrice` in TSh and an exact `bedrooms` count; ads that don't match are never billed. `includeDetails` opens each ad for the full description, property type, condition, facilities and dates, at an extra charge per listing. To expand ads you already have, set `operation` to `detail` and pass their jiji.co.tz addresses in `listingUrls`.

Start with this input:
{
  "operation": "search",
  "locations": [
    "Kinondoni",
    "Ilala"
  ],
  "category": "houseRent",
  "bedrooms": 2,
  "maxPrice": 2000000,
  "maxResults": 100
}

Ask me which places to cover, which property category, any price range in TSh or bedroom count, and whether the full description, facilities and dates are worth the extra per-listing charge, then run the Actor and summarise the results as a table.
```

**Things you can ask your agent for:**

- *List 2-bedroom apartments for rent in Masaki and Mbezi Beach under TSh 2 million a month.*
- *Pull all land for sale in Dodoma with plot size and price, and work out the median price per square metre.*
- *Collect today's new houses for sale in Arusha and tell me which agents list the most.*

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at [apify.com/sian.agency/jiji-tz-property-scraper.md](https://apify.com/sian.agency/jiji-tz-property-scraper.md).

### 📋 Overview

**Jiji Tanzania Property Scraper** turns the Property section of Jiji.co.tz, Tanzania's biggest classifieds site, into a clean dataset you can sort, chart and export. Use it when you need Tanzanian rents, land prices or house prices and don't want to copy ads by hand.

**What you get on every run:**

- ✅ **The whole market, newest first**: about 15,000 to 18,500 live property ads, and one test run collected 14,954 of them without a single error
- 🗺️ **Search by place**: a region (Dar es Salaam, Arusha, Mwanza), a district (Kinondoni, Temeke, Ilala) or a neighbourhood (Mbezi Beach, Masaki, Oyster Bay)
- 🎯 **Comparable numbers**: price in TSh with its period (per month, per plot, outright), size in m², bedrooms, bathrooms and furnishing as separate columns
- 💰 **Pay per listing**: $1.50 per 1,000 listings on a paid plan, and nothing for a place that matched no ads or an input we could not read
- 🔒 **Seller privacy built in**: no seller names, phone numbers or email addresses are ever collected
- ✨ **NEW**: full ad details on demand, with property type, condition, facilities, posting date, views and price per m²

***

### ✨ Features

- 🏘️ **Ten property categories**: houses and apartments for rent or sale, land and plots for sale or rent, commercial property for rent or sale, short lets, event venues and new builds
- 📍 **Region, district or neighbourhood search**: type the place the way Jiji spells it, or Tanzania for the whole country
- 💵 **Price filters that run on Jiji's search**: set a minimum and maximum in TSh and only matching ads are fetched
- 🛏️ **Exact bedroom count**: ads with a different count are skipped and never charged
- 👤 **Agent or owner**: the "Listed by" value Jiji shows, plus how long the seller has been on Jiji
- 📄 **Full details (optional)**: full description, property type, condition, facilities, toilets, posting and update dates, views, saves and full-size photos
- 📊 **Price per m²**: worked out for sale ads that carry a size
- 🖼️ **Photos in the table**: a thumbnail and every photo link on each row
- 🔁 **No duplicates**: an ad found under two places is saved and charged once
- 📤 **Export anywhere**: JSON, CSV, Excel, or straight into your own tools through the Apify API

***

### 🎬 Quick Start

Name one or more places, pick a property category and press Start. The actor reads Jiji Tanzania's property search newest first and saves each ad as a row. Leave everything else as it is and you get 100 rentals in Dar es Salaam.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~jiji-tz-property-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation": "search", "locations": ["Dar es Salaam"], "category": "houseRent", "maxResults": 100}'
```

***

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Name your places

Type one place per line: a region such as Dar es Salaam or Arusha, a district such as Kinondoni, or a neighbourhood such as Mbezi Beach. Use Tanzania for the whole country.

#### Step 2: Pick a category and filters

Choose houses for rent, land for sale or any of the other categories. Add a price range in TSh or an exact bedroom count if you need one.

#### Step 3: Run and export

Press Start, then open the dataset or download it as CSV, JSON or Excel.

**That's it! In under a minute you'll have:**

- Up to 100 property ads with price, size, rooms and location
- A thumbnail and photo links for every ad
- A run report with your listings, what each one cost and how to fix anything that did not come back

***

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `operation` | string | No | `search` (default) finds ads by place; `detail` expands ad addresses you already have |
| `locations` | array | No | Regions, districts or neighbourhoods, one per line. Default: Dar es Salaam |
| `category` | string | No | `houseRent` (default), `houseSale`, `landSale`, `landRent`, `commercialRent`, `commercialSale`, `shortLet`, `eventVenue`, `newBuilds` or `any` |
| `maxResults` | integer | No | Stop after this many listings across all places. Default 100 |
| `includeDetails` | boolean | No | Open each ad's own page for the full record (one extra event per listing) |
| `minPrice` | integer | No | Lowest price in TSh |
| `maxPrice` | integer | No | Highest price in TSh |
| `bedrooms` | integer | No | Only ads with exactly this many bedrooms |
| `listingUrls` | array | No | Jiji Tanzania ad addresses for the `detail` operation |

**Example: 2-bedroom rentals under TSh 2 million in two districts**

```json
{
  "operation": "search",
  "locations": ["Kinondoni", "Ilala"],
  "category": "houseRent",
  "bedrooms": 2,
  "maxPrice": 2000000,
  "maxResults": 200
}
```

**Example: the full record for ads you already have**

```json
{
  "operation": "detail",
  "listingUrls": [
    { "url": "https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html" }
  ]
}
```

***

### 📤 Output

Results are saved to the Apify dataset with **36 fields**. The most useful:

| Field | Type | Description |
|-------|------|-------------|
| `propertyTitle` | string | The ad's title |
| `listingUrl` | string | Link to the ad on Jiji |
| `category` | string | Jiji's property category |
| `transaction` | string | `rent`, `sale` or `short-let` |
| `price` | number | Asking price in TSh |
| `pricePeriod` | string | per month, per plot, Outright Price… as the seller set it |
| `district` / `area` | string | District and neighbourhood |
| `sizeSqm` | number | Size in square metres |
| `bedrooms` / `bathrooms` | integer | Room counts |
| `furnishing` | string | Furnished, Semi-Furnished or Unfurnished |
| `listedBy` | string | Agent, Owner and so on, when the ad says |
| `photos` | array | Photo links |
| `propertyType` | string | Apartment, House, Villa… (full details) |
| `facilities` | array | Air conditioning, backup generator, parking… (full details) |
| `postedAt` | string | When the ad was first posted (full details) |
| `pricePerSqm` | number | Price per m² for sale ads (full details) |

**Example row (search with full details):**

```json
{
  "thumbnail": "https://pictures-tanzania.jijistatic.com/10117626_MzAwLTMwMC1mMzFmYTBiYWJj.webp",
  "listingId": "wcgRPD4wfHiscJSMl7D4pF2s",
  "listingUrl": "https://jiji.co.tz/oyster-bay/houses-apartments-for-sale/5bdrm-villa-in-oyster-bay-for-sale-wcgRPD4wfHiscJSMl7D4pF2s.html",
  "propertyTitle": "5bdrm Villa in Oyster Bay for sale",
  "category": "Houses & Apartments for Sale",
  "transaction": "sale",
  "price": 21097000000,
  "currency": "TZS",
  "priceText": "TSh 21,097,000,000",
  "district": "Kinondoni",
  "area": "Oyster Bay",
  "locationPath": "Dar es Salaam, Kinondoni, Oyster Bay",
  "sizeSqm": 3600,
  "bedrooms": 5,
  "bathrooms": 4,
  "furnishing": "Semi-Furnished",
  "listedBy": "Agent",
  "sellerTenure": "3+ years on Jiji",
  "propertyType": "Villa",
  "condition": "Newly-Built",
  "facilities": ["24-hour Electricity", "Dining Area", "Balcony", "Air Conditioning", "Backup Generator / Solar Power"],
  "pricePerSqm": 5860278,
  "photoCount": 16,
  "photos": ["https://pictures-tanzania.jijistatic.com/10117626_MTQ0MC0xNDQwLWYzMWZhMGJhYmM.webp"],
  "searchLocation": "Kinondoni"
}
```

***

### 💼 Use Cases & Examples

#### 1. Rent and price benchmarking

**Property analysts and valuers track asking rents and sale prices by neighbourhood.**

**Input:** Kinondoni and Ilala, houses and apartments for rent, 1,000 listings
**Output:** Rent in TSh per month, bedrooms, size and furnishing for every ad
**Use:** Median rent per bedroom count in Masaki, Mikocheni or Mbezi Beach, refreshed every week

#### 2. Land and plot sourcing

**Developers and investors look for plots that fit a budget.**

**Input:** Tanzania, land and plots for sale, TSh 10 million to 50 million
**Output:** Plot size in m², price, district and neighbourhood, with photos
**Use:** A shortlist of plots in Kigamboni, Bagamoyo or Dodoma to visit, with price per m² once you add full details

#### 3. Agency and owner market share

**Agencies want to know who supplies a district.**

**Input:** Dar es Salaam, any property, full details on
**Output:** Agent or owner on each ad, how long the seller has been on Jiji and how many ads the seller runs
**Use:** See how much of the stock comes from owners, and which sellers dominate each district

#### 4. Diaspora and relocation search

**Relocation consultants and people moving home build a shortlist.**

**Input:** Masaki, Oyster Bay and Mbezi Beach, 3 bedrooms, furnished rentals
**Output:** Rent, photos, facilities and a link to each ad
**Use:** One spreadsheet to share with a client instead of twenty open browser tabs

#### 5. New-listing monitoring

**Brokers and buyers catch new ads the day they appear.**

**Input:** One district and category, Max listings 50, scheduled daily
**Output:** That day's newest ads, because results come newest first
**Use:** Feed new ads into a Google Sheet, Slack or email digest

#### 6. Commercial space scouting

**Retailers and small businesses compare shops and offices for rent.**

**Input:** Arusha and Mwanza, commercial property for rent
**Output:** Rent, size in m² and location for each space
**Use:** Compare rent per m² between city centres before signing a lease

***

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/jiji-tz-property-scraper').call({
  operation: 'search',
  locations: ['Dar es Salaam'],
  category: 'houseRent',
  maxResults: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/jiji-tz-property-scraper').call(
    run_input={'operation': 'search', 'locations': ['Arusha'], 'category': 'landSale', 'maxResults': 200}
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item['propertyTitle'], item.get('price'), item.get('sizeSqm'))
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~jiji-tz-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "search", "locations": ["Kinondoni"], "category": "houseSale", "includeDetails": true, "maxResults": 50}'
```

#### Automation Workflows (n8n / Zapier / Make)

1. **Trigger**: a daily schedule or a webhook
2. **HTTP Request**: call the actor's run-sync endpoint with your places and category
3. **Process**: keep the fields you need, such as price, district and bedrooms
4. **Action**: append to Google Sheets or Airtable, or post new ads to Slack

***

### 📊 Performance & Pricing

#### FREE Tier (Try It Now)

- **25 listings** per run with every field and filter
- No credit card required
- Enough to check the data for your district before you scale up

#### PAID Tier (Production Ready)

- **Unlimited** listings per run, up to the whole Property section
- Volume discounts on higher Apify plans
- Pay per result: charged only for listings actually returned

💰 **$1.50 per 1,000 listings** on a paid plan, and $4 per 1,000 for the optional full ad details. A place that matched nothing, an ad that had ended, and any input we could not read cost nothing.

🔗 [View current pricing](https://apify.com/sian.agency/jiji-tz-property-scraper?fpr=sian)

***

### ❓ Frequently Asked Questions

**Q: Do I need a Jiji account?**
A: No. Name a region, district or neighbourhood and press Start. Only what Jiji shows a visitor who is not logged in is collected.

**Q: Do rows include the seller's phone number or name?**
A: No. Jiji's rules forbid harvesting users' phone numbers and email addresses, so the actor never collects contact details or seller names. Each row links to the ad, where you can contact the seller on Jiji, and says whether an agent or the owner placed it.

**Q: Which places can I search?**
A: Any region, district or neighbourhood Jiji Tanzania lists: Dar es Salaam, Arusha, Mwanza, Dodoma, Kinondoni, Temeke, Ilala, Mbezi Beach, Masaki and more. Capitals and spaces don't matter. A name Jiji doesn't know returns an error row and costs nothing.

**Q: What does Add full details cost?**
A: One Listing Details event per listing on top of the search row. It adds the full description, property type, condition, facilities, toilets, posting and update dates, views, saves, price per m² and full-size photos.

**Q: Why is the price per month on some ads and a total on others?**
A: Sellers set the period themselves. The `pricePeriod` field carries it as Jiji shows it: per month, per day, per plot, or Outright Price for a sale. Price per m² is only worked out for sale ads with a size.

**Q: How do I scrape every property ad in Tanzania?**
A: Set the place to Tanzania, the category to Any property and Max listings to 30,000. Results come newest first, and Jiji serves the whole Property section in that order.

**Q: What output formats are available?**
A: JSON, CSV, Excel, XML and HTML, straight from the Apify dataset, or through the API.

**Q: How long does a run take?**
A: A test run of 100 rentals in Dar es Salaam took 18 seconds from start to finish. Full details open one extra page per listing, so they take longer.

***

### 🐛 Troubleshooting

**A place came back as an error row**

- Spell it the way Jiji does: "Dar es Salaam", "Kinondoni", "Mbezi Beach"
- Try the district instead of a small neighbourhood, or Tanzania for the whole country

**Fewer listings than Max listings**

- The place and category may simply have fewer ads right now
- A bedroom count or price range narrows the results; clear them to see everything

**Some rows have no bedrooms, size or "Listed by"**

- The seller left them out. Land and commercial ads carry a size but no rooms

**A Listing Details row says the ad is no longer on Jiji**

- The seller removed it or it expired. Run a new search to get live ads

***

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. This actor goes further and never collects seller names, phone numbers or email addresses. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union, by Tanzania's Personal Data Protection Act, and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

Jiji is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Jiji.

***

### 🤝 Support

**Join our active support community**

- For issues or questions, open an issue on the actor's [Issues tab](https://apify.com/sian.agency/jiji-tz-property-scraper/issues)
- Check [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Changelog

This Actor's version history is a separate document: https://apify.com/sian.agency/jiji-tz-property-scraper/changelog.md

# Actor input Schema

## `operation` (type: `string`):

Search returns Jiji Tanzania property ads for the regions, districts or neighbourhoods you name, newest first. Listing Details opens Jiji ad addresses you already have and returns the full record. Tick Add full details on a search to get both in one run.

## `locations` (type: `array`):

Places in Tanzania, one per line: a region such as Dar es Salaam, Arusha, Mwanza or Dodoma, a district such as Kinondoni or Temeke, or a neighbourhood such as Mbezi Beach, Masaki or Ada Estate. Use Tanzania for the whole country. Each one runs its own search. A name Jiji doesn't list gets an error row and isn't charged.

## `category` (type: `string`):

Which Jiji Property section to search. Rentals are the biggest, about four in ten property ads, then land for sale and houses for sale.

## `maxResults` (type: `integer`):

Stop after this many listings across all places. The run stops exactly at this number. Free accounts stop at 25. Results come newest first. Listing Details ignores it and returns every ad you pasted.

## `includeDetails` (type: `boolean`):

Opens each ad's own page and adds the full description, property type, condition, facilities, toilets, posting and update dates, views, saves, price per m² and full-size photos. Each listing also bills one Listing Details event.

## `minPrice` (type: `integer`):

Lowest price in Tanzanian shillings. For rentals this is the rent as the seller priced it, usually per month.

## `maxPrice` (type: `integer`):

Highest price in Tanzanian shillings. Leave it empty for no ceiling.

## `bedrooms` (type: `integer`):

Only ads with exactly this many bedrooms. Applies to houses, apartments and short lets; leave it empty for land and commercial property.

## `listingUrls` (type: `array`):

Jiji Tanzania ad addresses, one per line, such as https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html

## Actor input object example

```json
{
  "operation": "search",
  "locations": [
    "Dar es Salaam"
  ],
  "category": "houseRent",
  "maxResults": 100,
  "includeDetails": false,
  "listingUrls": [
    {
      "url": "https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html"
    }
  ]
}
```

# Actor output Schema

## `jijiTanzaniaListings` (type: `string`):

Every listing this run returned.

## `scrapingSummary` (type: `string`):

HTML summary showing successful and failed results with key metrics

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "operation": "search",
    "locations": [
        "Dar es Salaam"
    ],
    "category": "houseRent",
    "maxResults": 100,
    "includeDetails": false,
    "listingUrls": [
        {
            "url": "https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/jiji-tz-property-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "operation": "search",
    "locations": ["Dar es Salaam"],
    "category": "houseRent",
    "maxResults": 100,
    "includeDetails": False,
    "listingUrls": [{ "url": "https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html" }],
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/jiji-tz-property-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "operation": "search",
  "locations": [
    "Dar es Salaam"
  ],
  "category": "houseRent",
  "maxResults": 100,
  "includeDetails": false,
  "listingUrls": [
    {
      "url": "https://jiji.co.tz/ada-estate/houses-apartments-for-rent/furnished-2bdrm-apartment-in-coolest-agent-ada-estate-for-rent-2HTq2OapQhYA6xnS8rNUQYk.html"
    }
  ]
}' |
apify call sian.agency/jiji-tz-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/jiji-tz-property-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Ou3WKs6ALSwBhbfgG/builds/KJkHw9Q7ggNhtH7f1/openapi.json
