# Homeless.co.il - Israel Real Estate (`swerve/homeless-scraper`) Actor

Scrape Homeless.co.il, one of Israel's oldest classifieds platforms. Real estate rent & buy listings across 127+ cities with prices, rooms, amenities, photos, and contact info.

- **URL**: https://apify.com/swerve/homeless-scraper.md
- **Developed by:** [Swerve](https://apify.com/swerve) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 28 total users, 6 monthly users, 99.6% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Homeless.co.il Real Estate Scraper

Scrape real estate listings (rent & buy) from [Homeless.co.il](https://www.homeless.co.il), one of Israel's oldest and largest classifieds boards. Fast, reliable, and enrichment-ready.

### Why This Scraper?

- **Fast & lightweight** - most queries return in under 10 seconds
- **Full city coverage** - 127+ Israeli cities, Hebrew or English names
- **Rich filters** - price range, rooms, neighbourhood/street
- **Enrichment mode** - fetch full descriptions, amenities, area, and contact info
- **Rent & Buy** - both deal types supported
- **Structured output** - clean JSON with consistent field names

### Use Cases

- **Real estate investors** diversifying deal sources beyond Yad2 to catch Homeless-exclusive private-owner listings in Tel Aviv, Ramat Gan, and Givatayim
- **Student housing platforms** monitoring affordable shared apartments and small units that Homeless's older audience frequently posts
- **Property managers** tracking rental market depth by combining Homeless data with Yad2 and Madlan feeds for a complete picture
- **Data aggregators** building a unified Israeli real estate dataset across all major classifieds sites (Yad2, Madlan, Homeless)
- **Price comparison tools** spotting the same listing across multiple sites to flag desperation pricing when sellers post everywhere
- **Local relocation services** helping renters find move-in-ready apartments filtered by furnished/renovated/AC status

### Input

| Field | Type | Description |
|-------|------|-------------|
| `city` | string | City name (Hebrew/English). Comma-separated or `"all"` |
| `dealType` | string | `"rent"` or `"buy"` |
| `maxItems` | integer | Optional cap on listings per city. Leave blank to scrape all matching listings |
| `minPrice` | integer | Min price in ILS (optional) |
| `maxPrice` | integer | Max price in ILS (optional) |
| `minRooms` | number | Min rooms (optional) |
| `maxRooms` | number | Max rooms (optional) |
| `neighbourhood` | string | Filter by neighbourhood or street name in Hebrew (optional) |
| `enrichListings` | boolean | Fetch contact info, description, amenities, and area sqm |

#### Example Input

```json
{
  "city": "Tel Aviv",
  "dealType": "rent",
  "maxItems": 100,
  "minRooms": 3,
  "maxPrice": 8000,
  "enrichListings": true
}
```

### Output

Each listing includes:

| Field | Type | Description |
|-------|------|-------------|
| `listingId` | string | Unique Homeless listing ID |
| `url` | string | Direct link to listing on Homeless.co.il |
| `dealType` | string | `"rent"` or `"buy"` |
| `propertyType` | string | Property type (דירה, בית פרטי, דירת גג, etc.) |
| `city` | string | City name in English |
| `cityHebrew` | string | City name in Hebrew |
| `neighbourhood` | string | Neighbourhood name |
| `address` | string | Street name |
| `price` | integer | Price in ILS |
| `rooms` | number | Number of rooms |
| `floor` | string | Floor number |
| `areaSqm` | number | Area in sqm (requires `enrichListings`) |
| `hasElevator` | boolean | Has elevator (requires `enrichListings`) |
| `hasBalcony` | boolean | Has balcony (requires `enrichListings`) |
| `hasParking` | boolean | Has parking (requires `enrichListings`) |
| `hasSecureRoom` | boolean | Has safe room / mamad (requires `enrichListings`) |
| `hasAC` | boolean | Has air conditioning (requires `enrichListings`) |
| `isFurnished` | boolean | Has furniture (requires `enrichListings`) |
| `isRenovated` | boolean | Recently renovated (requires `enrichListings`) |
| `images` | array | Image URLs |
| `coverImage` | string | Main listing image URL |
| `listingDescription` | string | Full description (requires `enrichListings`) |
| `contactName` | string | Contact person name (requires `enrichListings`) |
| `contactPhone` | string | Contact phone number (requires `enrichListings`) |
| `entryDate` | string | Move-in date |
| `updatedAt` | string | When listing was last updated |
| `scrapedAt` | string | When this data was scraped (ISO date) |

#### Example Output

```json
{
  "listingId": "738646",
  "url": "https://www.homeless.co.il/rent/viewad,738646.aspx",
  "dealType": "rent",
  "propertyType": "דירה",
  "city": "Tel Aviv",
  "cityHebrew": "תל אביב יפו",
  "neighbourhood": "נווה שרת",
  "address": "דרך נמיר",
  "price": 6500,
  "currency": "ILS",
  "rooms": 4,
  "floor": "3",
  "areaSqm": 95,
  "hasElevator": true,
  "hasParking": false,
  "hasBalcony": true,
  "hasSecureRoom": true,
  "hasAC": true,
  "isFurnished": false,
  "isRenovated": false,
  "images": [
    "https://uploads.homeless.co.il/rent/202604/1200/nvFile5230481.jpg"
  ],
  "coverImage": "https://uploads.homeless.co.il/rent/202604/300/nvFile5230481.jpg",
  "listingDescription": "דירת 4 חדרים מרווחת בנווה שרת, קומה 3 עם מעלית. סלון גדול, מטבח מאובזר, ממ\"ד, מרפסת שמש. קרוב לתחבורה ציבורית ולפארק הירקון.",
  "contactName": "דוד",
  "contactPhone": "052-1234567",
  "entryDate": "מיידי",
  "updatedAt": "2026-04-10",
  "scrapedAt": "2026-04-10T21:01:23.000Z"
}
```

### Also Available

- [Yad2.co.il Real Estate Scraper](https://apify.com/swerve/yad2-scraper) - Israel's #1 classifieds, 800+ listings per city
- [Madlan.co.il Real Estate Scraper](https://apify.com/swerve/madlan-scraper) - Israel's largest property data platform
- [Madlan.co.il Market Analytics](https://apify.com/swerve/madlan-analytics) - neighborhood-level market data, demographics, and insights
- [Israel Zoning Plans](https://apify.com/swerve/israel-zoning-plans) - what may be built on a block or parcel, straight from the national plan database.
- [Israel Sold Property Prices](https://apify.com/swerve/nadlan-deals) - recorded sale prices for comps.

### Supported Cities (127+)

Use English or Hebrew names. Partial names work too. Use `"all"` to scrape every city.

**Major Cities:** Tel Aviv (תל אביב), Jerusalem (ירושלים), Haifa (חיפה), Beer Sheva (באר שבע), Rishon Lezion (ראשון לציון), Petah Tikva (פתח תקווה), Ashdod (אשדוד), Netanya (נתניה), Ashkelon (אשקלון), Holon (חולון), Ramat Gan (רמת גן), Bat Yam (בת ים), Rehovot (רחובות), Modiin (מודיעין), Bnei Brak (בני ברק)

**Sharon & Center:** Raanana (רעננה), Herzliya (הרצליה), Kfar Saba (כפר סבא), Hod Hasharon (הוד השרון), Ramat Hasharon (רמת השרון), Givatayim (גבעתיים), Nes Ziona (נס ציונה), Rosh Haayin (ראש העין), Hadera (חדרה), Pardes Hana Karkur (פרדס חנה-כרכור)

**North:** Nazareth (נצרת), Nof Hagalil (נוף הגליל), Tiberias (טבריה), Akko (עכו), Nahariya (נהריה), Carmiel (כרמיאל), Afula (עפולה), Kiryat Ata (קריית אתא), Kiryat Bialik (קריית ביאליק)

**South:** Eilat (אילת), Kiryat Gat (קריית גת), Arad (ערד), Dimona (דימונה), Sderot (שדרות)

### Keywords

Homeless.co.il scraper, Israeli classifieds scraper, Israel real estate API, Tel Aviv apartments data, Hebrew property listings, Israel rental scraper, homeless scraper, Israeli housing listings, Jerusalem apartment data, Ramat Gan rentals, Israel property classifieds, private owner listings Israel

# Actor input Schema

## `city` (type: `string`):

City name in Hebrew or English (e.g. 'Tel Aviv', 'תל אביב', 'Haifa', 'Jerusalem'). Comma-separated for multiple cities, or 'all' for all cities.

## `dealType` (type: `string`):

Type of listing to scrape

## `maxItems` (type: `integer`):

Optional cost cap on how many listings to return per city. Leave blank to scrape ALL matching listings for each city (recommended). Big cities can be large, for example Tel Aviv has ~165 rental listings, so an unbounded run over many cities can return thousands of results. Set a number (for example 50) only if you want to limit results and cost.

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

Minimum price filter in ILS (optional)

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

Maximum price filter in ILS (optional)

## `minRooms` (type: `number`):

Minimum number of rooms (optional)

## `maxRooms` (type: `number`):

Maximum number of rooms (optional)

## `neighbourhood` (type: `string`):

Filter by neighbourhood or street name in Hebrew (e.g. נווה צדק, הצפון הישן). Matches against neighbourhood and street fields.

## `enrichListings` (type: `boolean`):

Fetch additional detail data for each listing (full description, amenities, area sqm, contact info). Takes longer but provides richer data.

## `proxyConfig` (type: `object`):

Residential proxy recommended for Cloudflare bypass. Uses Apify residential proxy by default.

## Actor input object example

```json
{
  "city": "Tel Aviv",
  "dealType": "rent",
  "enrichListings": false
}
```

# 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 = {
    "city": "Tel Aviv"
};

// Run the Actor and wait for it to finish
const run = await client.actor("swerve/homeless-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 = { "city": "Tel Aviv" }

# Run the Actor and wait for it to finish
run = client.actor("swerve/homeless-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 '{
  "city": "Tel Aviv"
}' |
apify call swerve/homeless-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,swerve/homeless-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/gp4PYR0BeAESLQwnI/builds/7qkgERVUOU73DXIsl/openapi.json
