Homegate.ch Switzerland Real Estate Scraper avatar

Homegate.ch Switzerland Real Estate Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Homegate.ch Switzerland Real Estate Scraper

Homegate.ch Switzerland Real Estate Scraper

Extract rental and for-sale listings from Homegate.ch, Switzerland's leading real estate portal. Get prices, addresses, rooms, and property details as structured JSON.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Homegate.ch Scraper

homegatech-scraper

Scrape real estate listings from Homegate.ch — Switzerland's largest real estate marketplace. Filter by regions, transaction, maxItems and more. No API key required.


Why this scraper?

⚡ Fast & cost-efficient extraction

No browser required — parses structured JSON embedded in server-rendered HTML. Automatic gzip decompression.

🏠 Market coverage

Switzerland's largest property portal — 9,800+ CHF-denominated listings across all cantons.

💰 Rich structured data

35+ fields per listing including GPS coordinates, full street address, postal code, living space, floor, year built, all characteristics, full description, multiple images, and publish date.

🔍 Flexible filters

Filter by canton or city slug — from kanton-zuerich to ort-genf to kanton-waadt.

📍 Location & GPS

Latitude/longitude returned for nearly every listing. Full street address and postal code included.

🔗 Direct URL support

Paste any Homegate search-results URL into startUrls and the scraper paginates that exact search — every filter you set on the site is preserved.


Input parameters

ParameterTypeDefaultDescription
transactionstring"buy"buy (Kaufen) or rent (Mieten).
regionsarray["kanton-zuerich", "kanton-waadt"]Homegate geo slugs, one per line — cantons (kanton-zuerich, kanton-bern) or cities (ort-genf, ort-basel). Leave empty to sweep all 11 built-in regions.
maxItemsinteger100Maximum listings returned across all regions.
minPriceinteger(empty)Only listings priced at or above this amount in CHF.
maxPriceinteger(empty)Only listings priced at or below this amount in CHF.
daysOldinteger(empty)Only listings published in the last N days. Set to 1 for a daily new-listings feed.
startUrlsarray(empty)Homegate search-results URLs. When provided, regions is ignored and these searches are paginated instead. Price and age filters still apply.

Price filters exclude listings marked price-on-request, since those carry no comparable amount.


Output schema

{
"id": "4002873083",
"url": "https://www.homegate.ch/kaufen/immobilien/4002873083",
"transaction": "buy",
"listingType": "PREMIUM",
"propertyType": "Apartment",
"categories": ["APARTMENT", "FLAT"],
"title": "4.5-Zimmer-Wohnung im OG mit zwei Balkonen",
"description": "Ruhe, Sonne und eine beeindruckende Weitsicht...",
"priceText": "CHF 1'650'600",
"priceAmount": 1650600,
"priceCurrency": "CHF",
"postalCode": "8904",
"street": "Eichacherstrasse 21",
"city": "Aesch ZH",
"region": "kanton-zuerich",
"country": "CH",
"latitude": 47.339204341352,
"longitude": 8.442492384535,
"numberOfRooms": 4.5,
"numberOfBathrooms": 2,
"floor": 1,
"livingSpace": 112,
"lotSize": 1778,
"yearBuilt": 2026,
"hasBalcony": true,
"hasGarage": true,
"hasElevator": true,
"hasParking": true,
"isNewBuilding": true,
"images": [
"https://media2.homegate.ch/listings/v2/e218sub/4002873083/image/9cc62bc835cdfce96c839b233969d836.jpg",
"https://media2.homegate.ch/listings/v2/e218sub/4002873083/image/37c2a85bd065be0d5bec015b2cb4f2fa.jpg"
],
"documents": [{ "title": "Grundriss Whg. 101", "url": "https://media2.homegate.ch/..." }],
"externalUrls": [{ "type": "VIRTUAL_TOUR", "title": "virtuelle Besichtigung", "url": "https://kuula.co/..." }],
"agencyId": "e218sub",
"platforms": ["homegate", "immoscout24", "alleimmobilien", "home", "immostreet"],
"publishDate": "2026-01-26",
"publishDateISO": "2026-01-26T17:03:33.924Z",
"source": "homegate.ch",
"scrapedAt": "2026-05-06T07:30:00.000Z",
"contentHash": "a1b2c3d4e5f6a7b8"
}

Field reference

FieldTypeCoverageNotes
idstring100%Homegate listing ID
urlstring100%Direct listing URL
transactionstring100%buy or rent
listingTypestring100%PREMIUM, STANDARD, BASIC
propertyTypestring100%Human-readable: Apartment, House, Villa, etc.
categoriesarray100%Raw categories from API: APARTMENT, FLAT, HOUSE, etc.
titlestring100%Listing title in German
descriptionstring100%Full listing description (HTML)
descriptionMarkdownstring100%Description as plain text
priceTextstring~88%Formatted: CHF 1'650'600
priceAmountnumber~88%Numeric price; null for price-on-request
priceCurrencystring100%Always CHF
postalCodestring100%Swiss 4-digit postal code
streetstring~92%Full street address with number
citystring100%City/locality name
regionstring100%Input slug used, e.g. kanton-zuerich
countrystring100%Always CH
latitudenumber100%GPS latitude (WGS84)
longitudenumber100%GPS longitude (WGS84)
numberOfRoomsnumber100%Room count incl. half-rooms (e.g. 4.5)
numberOfBathroomsnumber~48%Bathroom count
floornumber~64%Floor number (0 = ground)
livingSpacenumber~96%Living area in m²
lotSizenumber~52%Plot size in m² (houses)
yearBuiltnumber~96%Construction year
hasBalconyboolean~92%Has balcony or terrace
hasGarageboolean~84%Has garage
hasElevatorboolean~48%Has elevator
hasParkingboolean~64%Has parking space
isNewBuildingboolean~56%New construction
imagesarray100%All listing images (typically 5–20 URLs)
documentsarray~56%Floor plans, brochures (PDF URLs)
externalUrlsarray~36%Virtual tours, project websites
agencyIdstring~32%Agency code for the lister
platformsarray100%Portals listing is active on
publishDatestring100%YYYY-MM-DD
publishDateISOstring100%ISO 8601 with time
sourcestring100%Always homegate.ch
scrapedAtstring100%ISO 8601 scrape timestamp
contentHashstring100%MD5 dedup hash

Examples

Properties for sale in Zürich canton:

{ "regions": ["kanton-zuerich"], "transaction": "buy", "maxItems": 100 }

Rental listings in Geneva:

{ "regions": ["ort-genf"], "transaction": "rent", "maxItems": 200 }

Multi-region national sweep:

{
"regions": ["kanton-zuerich","kanton-waadt","kanton-aargau","kanton-bern","kanton-luzern","ort-genf","ort-basel"],
"transaction": "buy",
"maxItems": 2000
}

Daily feed of new listings (run on a schedule):

{
"daysOld": 1,
"maxItems": 500
}

Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours, ideal as a daily new-listings alert.

💰 Pricing

$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.15
1,000~$1.50
10,000~$15.00
100,000~$150.00

Flat-rate real estate data providers typically charge $99–$299/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no subscription.

Use the Max results cap in the input to control your spend exactly.


Performance

Measured on 28 July 2026 at 512 MB:

Run sizeTime
20 listings~40-60 s
100 listings~2 min
1,000 listings~15-20 min

Homegate sits behind Cloudflare, so each search page is fetched through an unlocking layer that takes 30-40 s per page. Pages within a region are fetched in parallel, which is why larger runs scale better than the per-page figure suggests. Runs stop cleanly and return what they collected if they approach the run timeout.


Known limitations

  • Price: ~12% of listings use price-on-request — priceAmount is null, and these are excluded when a price filter is set.
  • Street: ~8% of listings omit the street address (postal code + city are still present).
  • Agent contact details: not returned. Agent names, direct phone numbers and email addresses are personal data and are deliberately excluded from output.
  • Price and age filters are applied to the parsed results, not passed to Homegate. A narrow filter reads more pages to fill maxItems.
  • Pagination depth: 50 pages per region, so 1,000 listings per region. Split a large canton across city slugs to go deeper.

Technical details

  • Method: JSON-HTML — parses window.__INITIAL_STATE__ (server-side rendered JSON) from search pages
  • Source: Homegate.ch — Switzerland's largest real estate marketplace
  • Memory: 512 MB
  • Retry: Per-attempt timeouts escalate and the network identity is re-rolled on a stalled fetch
  • Deduplication: In-run de-duplication by listing ID; contentHash supports cross-run change detection
  • Output fields: 35+ fields
  • Pagination: Up to 50 pages per region (1,000 listings per region)

Rate this actor

If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl