Properstar – Global Property Listings, URLs & Agency Data avatar

Properstar – Global Property Listings, URLs & Agency Data

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Properstar – Global Property Listings, URLs & Agency Data

Properstar – Global Property Listings, URLs & Agency Data

Extract property listings from Properstar across global domains like .com, .co.uk, .ch, and .fr. Use search pages, listing URLs, or agency pages. Returns prices, multilingual descriptions, photos, floor plans, GPS coordinates, and agency details via Properstar’s data service.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Properstar Scraper

Extract property listings from Properstar across every country domain (.com, .co.uk, .ch, .fr, and more) in one actor. Paste a search results page, a single listing page, or an agency page, and get clean, structured records with prices, full multilingual descriptions, photos, floor plans, GPS coordinates, and agency details. The actor talks to Properstar's own data service, so it is fast, stable, and far cheaper to run than page-by-page scrapers.

Why this scraper

  • 30+ fields per listing, more than comparable tools on the Store.
  • Works on any Properstar country domain, auto-detected from the URL you paste.
  • Three input shapes in one actor: search pages, single listings, and agency or agent pages.
  • Multilingual titles and descriptions captured per language, not just one.
  • Full geo data (latitude, longitude, postcode, city, country) on every record.
  • Photos, floor plans, property type, rooms, bedrooms, bathrooms, living and land area in both m2 and square feet.
  • Optional full detail mode adds amenities, view types, construction year, and floor.
  • Cost optimised: the heavy data pull runs over the low-cost connection pool, so a typical run is a fraction of the price of browser-based scrapers.

Data you get

Sample shape: values are illustrative placeholders, not from a live listing.

FieldExample
id"100000001"
url"https://www.properstar.co.uk/listing/100000001"
transactionType"Sell"
type"Apartment"
subType"Penthouse"
title"Sample listing title"
description"Full description text appears here."
titleByLanguage{ "en": "Sample listing title" }
price1000000
currency"GBP"
livingAreaSqm120
landAreaSqm0
livingAreaSqft1291
rooms4
bedrooms3
bathrooms2
floor"3"
constructionYear2020
address"Sample Street 1"
city"London"
postcode"SW1"
countryISO"GB"
latitude51.5000
longitude-0.1200
pictures["https://images.example.com/0001.jpg"]
picturesCount12
floorPlans["https://images.example.com/plan-0001.jpg"]
amenities["Balcony", "Parking"]
views["City"]
status"Published"
energyRating"C"
co2Rating"B"
agencyId1000000
agencyName"Sample Agency"
agencyStatistics{ "numberOfListings": 0 }
publicationDate"2026-01-01T00:00:00Z"

How to use

Basic search page:

{
"startUrls": ["https://www.properstar.co.uk/united-kingdom/london/buy/apartment-house"],
"maxItems": 50,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Search page with refinement filters:

{
"startUrls": ["https://www.properstar.com/spain/barcelona/buy/apartment-house"],
"transactionType": "buy",
"propertyTypes": ["apartment"],
"minPrice": 300000,
"maxPrice": 800000,
"minBedrooms": 2,
"maxItems": 200
}

Single listing with full detail (amenities, views, year, floor):

{
"startUrls": ["https://www.properstar.co.uk/listing/100000001"]
}

Agency inventory:

{
"startUrls": ["https://www.properstar.co.uk/agency/sample-agency/1000000"],
"maxItems": 100
}

Multiple URLs in one run:

{
"startUrls": [
"https://www.properstar.com/france/paris/rent/apartment",
"https://www.properstar.ch/switzerland/geneva/buy/house"
],
"maxItems": 300
}

Input parameters

ParameterTypeDefaultDescription
startUrlsarrayrequiredProperstar search, listing, or agency URLs from any country domain.
transactionTypestring"any"Refine search URLs to "buy" or "rent". "any" keeps the URL setting.
propertyTypesarray[]Restrict to apartment, house, land, commercial, office, parking, building, room.
minPrice / maxPriceintegernonePrice range in the selected currency.
minBedrooms / maxBedroomsintegernoneBedroom range.
luxuryOnlybooleanfalseOnly listings flagged as luxury.
enrichDetailbooleanfalseFetch each listing's detail page for amenities, views, year, floor.
maxItemsinteger20Maximum listings across all URLs. 0 = unlimited.
maxPagesPerUrlinteger200Maximum result pages per search/agency URL (25 listings per page).
maxResidentialMbinteger0Soft cap on Residential traffic before downgrading to the cheaper pool. 0 = no cap.
proxyobjectResidentialConnection settings. Pick a country to pin the exit region.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape — the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each record — not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Output example

Sample shape: values are illustrative placeholders, not from a live listing.

{
"id": "100000001",
"url": "https://www.properstar.co.uk/listing/100000001",
"class": "PropertyListing",
"transactionType": "Sell",
"type": "Apartment",
"subType": "Penthouse",
"title": "Sample listing title",
"description": "Full description text appears here.",
"titleByLanguage": { "en": "Sample listing title" },
"descriptionByLanguage": { "en": "Full description text appears here." },
"price": 1000000,
"currency": "GBP",
"livingAreaSqm": 120,
"livingAreaSqft": 1291,
"rooms": 4,
"bedrooms": 3,
"bathrooms": 2,
"floor": "3",
"constructionYear": 2020,
"address": "Sample Street 1",
"city": "London",
"postcode": "SW1",
"countryISO": "GB",
"latitude": 51.5000,
"longitude": -0.1200,
"pictures": ["https://images.example.com/0001.jpg"],
"picturesCount": 12,
"floorPlans": ["https://images.example.com/plan-0001.jpg"],
"amenities": ["Balcony", "Parking"],
"views": ["City"],
"agencyId": 1000000,
"agencyName": "Sample Agency",
"agencySlug": "sample-agency",
"agencyStatistics": { "numberOfListings": 0 },
"publicationDate": "2026-01-01T00:00:00Z"
}

Plan requirement

The one-time connection setup needs a Residential proxy, which is included on the Apify Starter plan and above. The bulk data extraction then runs automatically over the lower-cost connection pool to keep your costs down. On the free plan the connection setup may not complete, so a paid plan is recommended. Pick a proxy country to pin the exit region, or leave it unset to rotate automatically.