
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Israeli property listings from Madlan (madlan.co.il): apartments and houses for rent or sale by city, neighbourhood, street or link. Prices, rooms, size, floor, address, gush and helka, map position, photos, amenities, dates, agent and contact phone. No login needed.
Get Israeli property listings from Madlan (madlan.co.il) as clean, structured data: apartments and houses for rent or for sale, with price, rooms, size, floor, full address, gush and helka, map position, photos, amenities, publish dates, agent details and the contact phone. Search a city in English or Hebrew, a neighbourhood or street, the whole country, or paste a Madlan link. A city's newest 20 listings come back in about 2 seconds of scraping, and no login or Madlan account is needed.
Tel Aviv, חיפה), a neighbourhood or street in Hebrew (נווה צדק, דיזנגוף), or Israel for the whole country. You can also paste Madlan links (search pages or single listings).| Field | What it does |
|---|---|
locations | Cities in English or Hebrew, Hebrew neighbourhoods or streets, or Israel for the whole country. |
dealType | rent or buy. |
startUrls | Madlan links: madlan.co.il/for-rent/..., /for-sale/... or /listings/.... |
maxItems | Listings per location or link. 0 = all. |
sortBy | newest, oldest, priceLow, priceHigh, largest, smallest. |
minPrice, maxPrice, minRooms, maxRooms, minSqm, maxSqm, minFloor, maxFloor | Range filters. |
propertyTypes, conditions, postedBy | Apartment, garden apartment, penthouse, cottage, villa, land...; new, renovated...; private or agent. |
publishedWithinDays, publishedAfter | Only listings first published recently. |
requireParking, requireElevator, requireBalcony, requireSecureRoom, ... | Must-have features. |
{
"locations": ["Tel Aviv", "רמת גן"],
"dealType": "rent",
"maxItems": 50,
"maxPrice": 9000,
"minRooms": 3,
"requireSecureRoom": true,
"publishedWithinDays": 7
}
| Field | Description |
|---|---|
id, url | Madlan listing id and link |
dealType, propertyType, condition | rent / buy; flat, gardenApartment, penthouseApp, roofFlat, cottage...; new, renovated, preserved... |
city, cityHebrew, neighbourhood, address, streetName, streetNumber, district | Location |
block, parcel | Land registry block (gush) and parcel (helka) |
latitude, longitude | Map position |
price, currency, pricePerSqm, priceHistory, isPriceFlexible | Asking price in ILS (monthly rent for rentals) |
vaadBait, arnona | Monthly building fee and municipal tax |
rooms, bathrooms, toilets, floor, totalFloors, areaSqm, balconyAreaSqm, gardenAreaSqm, parking, yearBuilt | Size and layout |
hasElevator, hasBalcony, hasSecureRoom, hasParking, isFurnished, petsAllowed, hasAirConditioning, ... | Amenities |
availableFrom, isImmediate | Entry date |
coverImage, images, floorplanImages, description | Media and text |
contactName, contactPhone, contactType, hasAgent, agencyName, agentPhone, agentEmail, officePhone | Contact |
firstSeen, lastUpdated, scrapedAt | Dates |
Example (one row from a test run, trimmed; the contact is fictional):
{
"id": "rbc4dyhSZsY",
"url": "https://www.madlan.co.il/listings/rbc4dyhSZsY",
"dealType": "buy",
"propertyType": "flat",
"city": "Haifa",
"cityHebrew": "חיפה",
"neighbourhood": "נוה פז",
"address": "חטיבת כרמלי 52, חיפה",
"price": 1180000,
"currency": "ILS",
"pricePerSqm": 19667,
"rooms": 3,
"floor": "6",
"totalFloors": 9,
"areaSqm": 60,
"balconyAreaSqm": 5,
"condition": "renovated",
"parking": 1,
"latitude": 32.793892,
"longitude": 35.02055,
"hasElevator": true,
"hasBalcony": true,
"hasSecureRoom": true,
"hasStorage": true,
"coverImage": "https://images2.madlan.co.il/t:nonce:v=2;resize:height=800;convert:type=webp/bulletins/1000812703-1507e11e-2ccb-41b0-8df7-c48cab5c74e4.jpg",
"contactName": "דנה לוי",
"contactPhone": "073-0000000",
"contactType": "agent",
"hasAgent": true,
"agencyName": "Example Realty",
"firstSeen": "2026-10-21T04:56:51.000Z"
}
You pay $1.50 per 1,000 listings ($0.0015 per listing), with full details, amenities and contacts included. Platform usage (compute and proxy traffic) is billed on top and is tiny: Madlan works on datacenter proxies and the default memory is 256 MB.
Example: 1,000 Tel Aviv homes for sale ≈ $1.50 in listings plus about $0.001 of platform usage (measured on a test run).
Is it legal to scrape Madlan? The scraper only collects listings that Madlan shows publicly to every visitor. Personal data such as names and phone numbers may be protected by privacy law (for example Israel's Privacy Protection Law and the GDPR); make sure you have a legitimate reason to process it.
Do I need a Madlan account or a proxy? No account. Datacenter proxies are used by default, and the scraper switches to Israeli residential proxies by itself if Madlan starts refusing them.
How many listings can I get? Everything Madlan has that matches: set Max listings to 0. Tel Aviv alone has about 1,300 rentals and 6,000 homes for sale; Israel covers the whole country.
Why is a field empty? Not every listing fills every field (house number, year built, parking, amenities). Empty means Madlan does not have the value for that listing.
Can I use English neighbourhood names? English works for about 110 cities. Neighbourhoods and streets need their Hebrew name, or paste a Madlan search link.
Can I schedule it or use the API? Yes. Schedule daily runs with Published in the last N days to collect only new listings, or call the actor from the API and connect it to your tools with webhooks.
contactPhone is the number Madlan displays on the listing. For agent listings it often differs from the agent's own number, which is in agentPhone.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
locationsarrayOptionalLocations
Where to search. Cities in English or Hebrew (Tel Aviv, Haifa, ירושלים), neighbourhoods or streets in Hebrew (נווה צדק, דיזנגוף), or Israel for the whole country. Each location is searched separately.
dealTypeenumOptionaldefault "rent"Deal type
Apartments and houses for rent, or for sale. Madlan links keep their own deal type.
startUrlsarrayOptionalMadlan links
Links copied from madlan.co.il: search pages (madlan.co.il/for-rent/..., /for-sale/...) or single listings (madlan.co.il/listings/...). The location and deal type come from the link; the filters below apply to it.
maxItemsintegerOptionaldefault 20Max listings per location
How many listings to save for each location or search link. 0 means every listing that matches (Tel Aviv has about 1,300 rentals and 6,000 homes for sale).
sortByenumOptionaldefault "newest"Sort by
Which listings come first, and so which ones you get when Max listings is lower than the number that match.
Madlan applies these filters itself, so they cost nothing extra.
minPriceintegerOptionalMin price (₪)
Lowest asking price in shekels. For rentals this is the monthly rent.
maxPriceintegerOptionalMax price (₪)
Highest asking price in shekels.
minRoomsnumberOptionalMin rooms
Smallest number of rooms (half rooms such as 3.5 are allowed).
maxRoomsnumberOptionalMax rooms
Largest number of rooms.
minSqmintegerOptionalMin size (m²)
Smallest built area in square meters.
maxSqmintegerOptionalMax size (m²)
Largest built area in square meters.
minFloorintegerOptionalMin floor
Lowest floor (0 is the ground floor).
maxFloorintegerOptionalMax floor
Highest floor.
propertyTypesarrayOptionalProperty types
Only these property types. Leave empty for all types.
conditionsarrayOptionalCondition
Only listings in this condition. Leave empty for any condition.
postedByenumOptionaldefault "any"Posted by
Only private owners, only agents and brokers, or both.
publishedWithinDaysintegerOptionalPublished in the last N days
Only listings that first appeared on Madlan in the last N days. Handy for daily monitoring: schedule a run with 1 and get only new listings.
publishedAfterstringOptionalPublished after
Only listings first published on or after this date (YYYY-MM-DD).
requireParkingbooleanOptionaldefault falseParking
Only listings with parking.
requireElevatorbooleanOptionaldefault falseElevator
Only listings in a building with an elevator.
requireBalconybooleanOptionaldefault falseBalcony
Only listings with a balcony.
requireSecureRoombooleanOptionaldefault falseSafe room (ממ"ד)
Only listings with a safe room (mamad).
requireAirConditioningbooleanOptionaldefault falseAir conditioning
Only listings with air conditioning.
requireFurnishedbooleanOptionaldefault falseFurnished
Only furnished listings.
requirePetsAllowedbooleanOptionaldefault falsePets allowed
Only listings that allow pets.
requireAccessiblebooleanOptionaldefault falseAccessible
Only listings with disabled access.
requireStoragebooleanOptionaldefault falseStorage room
Only listings with a storage room.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work for Madlan. If Madlan starts refusing them, the scraper switches to Israeli residential proxies by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | Madlan listing id, e.g. uKHz6mLIQPA. |
| url | string | Link to the listing on Madlan. |
| dealType | string | null | rent or buy. |
| propertyType | string | null | Property type code from Madlan, e.g. flat, gardenApartment, penthouseApp, roofFlat, duplex, cottage, villa. |
| city | string | null | City in English (built-in list of about 110 cities). |
| cityHebrew | string | null | City in Hebrew. |
| neighbourhood | string | null | Neighbourhood in Hebrew. |
| address | string | null | Full address in Hebrew. |
| streetName | string | null | Street in Hebrew. |
| streetNumber | string | null | House number. |
| zipcode | string | null | Postal code, when known. |
| district | string | null | District in Hebrew, e.g. מחוז תל אביב. |
| block | number | null | Land registry block (gush). |
| parcel | number | null | Land registry parcel (helka). |
| price | number | null | Asking price in shekels; monthly rent for rentals. |
| currency | string | Always ILS. |
| pricePerSqm | number | null | Price per square meter in shekels. |
| isPriceFlexible | boolean | null | True when the seller marked the price as negotiable. |
| priceHistory | array | null | Earlier asking prices with dates, when the price changed. |
| vaadBait | number | null | Monthly building fee (va'ad bait) in shekels. |
| arnona | number | null | Monthly municipal tax (arnona) in shekels. |
| rooms | number | null | Number of rooms (may be fractional, e.g. 3.5). |
| bathrooms | number | null | Bathrooms. |
| toilets | number | null | Toilets. |
| floor | string | null | Floor (0 is the ground floor). |
| totalFloors | number | null | Floors in the building. |
| areaSqm | number | null | Built area in square meters. |
| balconyAreaSqm | number | null | Balcony area in square meters. |
| gardenAreaSqm | number | null | Garden area in square meters. |
| yearBuilt | number | null | Year the building was built. |
| condition | string | null | Condition code: new, asNew, renovated, preserved, toRenovated. |
| parking | number | null | Parking spots. |
| availableFrom | string | null | Entry date, when not immediate. |
| isImmediate | boolean | null | True when the property is available now. |
| description | string | null | Listing text (usually Hebrew). |
| latitude | number | null | Latitude. |
| longitude | number | null | Longitude. |
| hasParking | boolean | null | Has parking. |
| hasElevator | boolean | null | Building has an elevator. |
| hasBalcony | boolean | null | Has a balcony. |
| hasSecureRoom | boolean | null | Has a safe room (mamad). |
| hasShelter | boolean | null | Building has a shared shelter (miklat). |
| hasGarden | boolean | null | Has a garden. |
| hasStorage | boolean | null | Has a storage room. |
| hasPool | boolean | null | Has a pool. |
| hasBasement | boolean | null | Has a basement. |
| hasTerrace | boolean | null | Has a terrace. |
| hasAirConditioning | boolean | null | Has air conditioning. |
| hasSunBoiler | boolean | null | Has a solar water heater (dud shemesh). |
| hasBars | boolean | null | Windows have security bars (soragim). |
| petsAllowed | boolean | null | Pets allowed. |
| isBarrierFree | boolean | null | Accessible for wheelchairs. |
| isFurnished | boolean | null | Furnished. |
| forRoommates | boolean | null | Suitable for roommates. |
| coverImage | string | null | First photo URL. |
| images | array | Photo URLs. |
| floorplanImages | array | Floor plan image URLs, when the listing has them. |
| contactName | string | null | Contact name: the private owner, or the agent. |
| contactPhone | string | null | Phone: the private owner's number, or the number Madlan shows for the agent's listing. |
| contactType | string | null | private, agent or developer. |
| hasAgent | boolean | null | True when an agent or broker posted the listing. |
| agencyName | string | null | Agency name, for agent listings. |
| agentPhone | string | null | Agent's own phone, for agent listings. |
| agentEmail | string | null | Agent or office email, for agent listings. |
| officePhone | string | null | Agency office phone, for agent listings. |
| isPromoted | boolean | null | True when the listing is a paid promotion on Madlan. |
| firstSeen | string | null | When the listing first appeared on Madlan (ISO 8601). |
| lastUpdated | string | null | When the listing was last updated (ISO 8601). |
| scrapedAt | string | When this row was scraped (ISO 8601). |
| searchInput | string | null | The location or link this row came from. |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Listing | One saved Madlan listing with full details, amenities and contact. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/madlan-scraper').call({
"locations": [
"Tel Aviv"
],
"dealType": "rent",
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/madlan-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/madlan-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Apartments for sale in Haifa between 800,000 and 3,500,000 ILS.
Neighbourhood and street search by Hebrew name.
Listings first published in the last 3 days, newest first.
Paste a Madlan search link instead of a city name.
Private owners only, safe room and elevator, under 15,000 ILS.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.