Newhome.ch Scraper avatar

Newhome.ch Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Newhome.ch Scraper

Newhome.ch Scraper

The only Swiss scraper covering BOTH buy & rent on newhome.ch. 40k+ listings, GPS coordinates on every listing, 20+ property features. Pay only for results.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Newhome.ch Scraper

Extract property listings from newhome.ch at scale, covering both buy and rent across all of Switzerland. Every listing comes with GPS coordinates, structured pricing, 20+ property features, full descriptions and image galleries. No API key required.


Why this scraper?

🇨🇭 Built for Switzerland

A dedicated Swiss scraper, not a global tool with a country dropdown. Price handling, cantons, and location search are tuned for newhome.ch, and descriptions can be pulled in German, French, Italian or English.

🏠 Buy and rent in one place

Scrape rentals, sales, or both in a single run. Filter across residential, commercial, storage, land and parking listings.

📍 GPS on every listing

Latitude and longitude are returned for every property, alongside street, postal code, city, canton and canton code — ready to plot on a map.

🏷️ Structured pricing

Price, net price, price per m², currency and a negotiable flag, parsed from the listing rather than scraped as free text.

🛁 20+ property features

Balcony, garage, elevator, fireplace, basement, wheelchair access, fibre, car charging, Minergie and more — each returned as a clean boolean.

📝 Full descriptions and media

Complete listing description in HTML, plain text and Markdown, plus every image URL, YouTube tour and 3D model link the listing publishes.


Input parameters

ParameterTypeDefaultDescription
offerTypestring"rent"rent, buy, or both.
locationsarray(empty)Swiss city names to filter by, e.g. Zürich, Bern, Lausanne. Empty means all of Switzerland.
propertyTypesarray(empty)Any of residential, commercial, storage, land, parking. Empty means all types.
minRoomsnumber(none)Only return listings with at least this many rooms (e.g. 2.5).
maxRoomsnumber(none)Only return listings with at most this many rooms.
minPriceinteger(none)Minimum price in CHF. Monthly rent for rentals, total price for sales.
maxPriceinteger(none)Maximum price in CHF.
daysOldinteger0Only return listings published within this many days. 0 = no filter.
sortBystring"date"date, price_asc, price_desc, or rooms_desc.
maxItemsinteger200Maximum number of listings to return.
immoCodesarray(empty)Fetch specific listings by their newhome immoCode IDs. When set, all other filters are ignored.
languagestring"de"Description language: de, fr, it or en.
proxyConfigobjectResidential / CHProxy settings. Swiss residential proxy is used by default and is required to reach the source reliably.

Output schema

Every field below is present on every record. Fields the source does not publish for a given listing are returned as null (or false for feature flags) rather than omitted.

FieldTypeDescription
idstringnewhome immoCode, unique per listing.
urlstringCanonical listing URL on newhome.ch.
titlestringListing headline.
offerTypestringrent or buy.
propertyTypestringResidential, Commercial, Special, Storage, Land or Parking.
propertySubTypeintegernewhome sub-type code.
secondaryPropertySubTypesarrayAdditional sub-type codes.
listingNumberstringAgency reference number.
availabilityTypeintegerAvailability status code.
pricenumberHeadline price in CHF (monthly rent or sale price).
priceNetnumberNet price where published.
priceNetM2numberPrice per square metre.
currencystringAlways CHF.
priceNegotiablebooleanWhether the price is marked negotiable.
priceTextstringPrice formatted for display, e.g. CHF 1'290'000.
streetstringStreet address where published.
postalCodestringPostal code.
citystringCity.
cantonstringCanton name.
cantonCodestringTwo-letter canton code, e.g. BE.
latitudenumberLatitude.
longitudenumberLongitude.
livingAreanumberLiving area in m².
roomsnumberNumber of rooms.
floorsInBuildingintegerNumber of floors in the building.
constructionYearintegerYear built.
renovationYearintegerYear last renovated.
availabilityDatestringDate available (YYYY-MM-DD).
legalFormintegerLegal form code.
hasViewbooleanHas a notable view.
hasBalconybooleanHas a balcony.
hasGaragebooleanHas a garage.
hasParkingbooleanHas a parking space.
hasElevatorbooleanHas an elevator.
hasFireplacebooleanHas a fireplace.
hasBasementbooleanHas a basement.
hasAtticbooleanHas an attic.
isWheelchairAccessiblebooleanWheelchair accessible.
isPetsAllowedbooleanPets allowed.
isChildFriendlybooleanChild friendly.
isMinergiebooleanMinergie-certified.
hasCarChargingbooleanHas an EV charging station.
hasFiberbooleanFibre internet available.
hasCableTVbooleanCable TV available.
hasHobbyRoombooleanHas a hobby room.
hasStorageRoombooleanHas a storage room.
isHousingAssociationAllowedbooleanHousing association permitted.
hasKitchenSharedUsebooleanKitchen for shared use.
hasBuildingLandDevelopmentbooleanBuilding land is developed.
hasElectricitybooleanElectricity connection available.
hasGasbooleanGas connection available.
hasWaterbooleanWater connection available.
hasRailConnectionbooleanRail connection nearby.
companyNamestringListing agency name.
companyUrlstringAgency website.
listingWebsiteUrlstringExternal listing URL.
contactProviderIdintegernewhome provider ID.
contactLogoUrlstringAgency logo URL.
contactPhoneOfficestringAgency office phone.
isChiffrebooleanBlind (chiffre) listing.
hasTopPromotionbooleanTop-promoted listing.
hasHighlightPromotionbooleanHighlighted listing.
hasSpecialPromotionbooleanSpecially promoted listing.
imageUrlsarrayListing image URLs.
youtubeUrlsarrayVideo tour links.
model3DUrlsarray3D model / virtual tour links.
descriptionHtmlstringFull description, HTML.
descriptionTextstringFull description, plain text.
descriptionMarkdownstringFull description, Markdown.
publishDatestringPublish date (YYYY-MM-DD).
publishDateISOstringPublish date, ISO 8601.
contentHashstringStable hash for change detection.
isRepostbooleanWhether this listing was seen before.
originalPublishDatestringFirst-seen publish date for reposts.
originalUrlstringFirst-seen URL for reposts.
sourcestringAlways newhome.ch.
scrapedAtstringScrape timestamp, ISO 8601.

Example record

{
"id": "5938854",
"url": "https://www.newhome.ch/res/5938854",
"title": "Architekturschönheit mit Parkanlage",
"offerType": "rent",
"propertyType": "Residential",
"listingNumber": "25-119831",
"price": null,
"currency": "CHF",
"priceNegotiable": false,
"postalCode": "3005",
"city": "Bern",
"canton": "Bern",
"cantonCode": "BE",
"latitude": 46.940366,
"longitude": 7.4489326,
"hasBalcony": false,
"hasGarage": false,
"hasElevator": false,
"companyName": null,
"contactPhoneOffice": "+41 31 326 00 73",
"imageUrls": [
"https://www.newhome.ch/res/5938854/ort-bern/haus/villa-145791220-d.jpg",
"https://www.newhome.ch/res/5938854/ort-bern/haus/villa-145791221-d.jpg"
],
"youtubeUrls": [{ "url": "https://www.youtube.com/embed/jrPIxtHiLe0" }],
"descriptionText": "Exklusiv zur Vermietung: Stadtvilla mit Charme und Prestige...",
"publishDate": "2025-10-14",
"source": "newhome.ch",
"scrapedAt": "2026-07-02T10:28:12.453Z"
}

Examples

1. All rentals in a city

{ "offerType": "rent", "locations": ["Zürich"], "maxItems": 200 }

2. Apartments to buy in a price range

{ "offerType": "buy", "locations": ["Lausanne"], "propertyTypes": ["residential"], "minPrice": 500000, "maxPrice": 1200000, "sortBy": "price_asc" }

3. Fresh listings only, both buy and rent

{ "offerType": "both", "locations": ["Bern", "Basel"], "daysOld": 3, "sortBy": "date" }

4. Specific listings by ID

{ "immoCodes": ["5938854", "5475664"], "language": "en" }

💰 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 alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.90 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results3–6 minutes
10,000 results30–50 minutes

Known limitations

  • Rental and sale prices are sometimes withheld by the agency and returned as null.
  • Room count, living area and construction year depend on what the agency fills in; they are often absent on land and parking listings.
  • Blind (chiffre) listings expose limited address and contact detail by design.
  • Very large all-of-Switzerland runs are best split by canton or city to keep each run comfortably within its time budget.

Technical details

  • Source: newhome.ch — Swiss buy and rent property listings
  • Coverage: nationwide, filterable by city, canton, property type, price and rooms
  • Retry: automatic retry on network errors with exponential backoff

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