Spitogatos Scraper - Greek Property Listings avatar

Spitogatos Scraper - Greek Property Listings

Under maintenance

Pricing

from $1.06 / 1,000 property searches

Go to Apify Store
Spitogatos Scraper - Greek Property Listings

Spitogatos Scraper - Greek Property Listings

Under maintenance

Scrape Spitogatos.gr, Greece's largest property portal: asking price, price per square metre, size, rooms, floor, energy class, year built, GPS, every photo and the listing agency's phone numbers. Sale and rent, all of Greece. JSON, CSV or Excel.

Pricing

from $1.06 / 1,000 property searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Spitogatos Scraper - Greek Property Listings & Agents 🏛️

SIÁN Agency Store Immobiliare Property Scraper Daft Property Scraper Fotocasa Property Scraper

🎉 Every live advert on Greece's biggest property portal — 30 properties per request, from $1.20 per 1,000 rows

Built for Greek market analysts, estate agencies, retrofit installers and anyone pricing Athens property


🔎 What is the Spitogatos Scraper — and when should you use it?

The Spitogatos Scraper turns every live property advert on Spitogatos.gr, Greece's biggest property site into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: Greek homes, commercial space or land for sale or to rent, returned as flat rows with asking price, price per square metre, size, rooms, decoded floor, GPS coordinates and photos. Full detail adds the street address, the Greek ΠΕΑ energy class as a letter grade, the construction year, the heating system and its fuel, the flooring and window materials and around 130 amenity attributes. Every row carries the listing agency, and agency contact adds its phone numbers, office address and website. Greek text comes back intact, and place names can be returned in Greek or in the portal's own English transliteration.

Use something else when: the property is outside Greece. Use Immobiliare.it Scraper for Italy — the sister portal of Spitogatos inside the same group. Use Daft.ie Scraper for Ireland, with BER energy ratings, Eircodes and agent contacts. Use Fotocasa Scraper for Spain, for sale and to rent, with prices per square metre. This actor reads live adverts only. Greece publishes no sold-price register, so transaction history is not available from any source here; the closest signal is priceReducedOnly, which returns properties whose asking price has been cut along with the previous price. Cyprus is a separate site and is out of scope.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/spitogatos-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Greek property market data from Spitogatos.gr using the Apify Actor `sian.agency/spitogatos-property-scraper`.
Use it when I need: Greek homes, commercial space or land for sale or to rent, returned as flat rows with asking price, price per square metre, size, rooms, decoded floor, GPS coordinates and photos. Full detail adds the street address, the Greek ΠΕΑ energy class as a letter grade, the construction year, the heating system and its fuel, the flooring and window materials and around 130 amenity attributes. Every row carries the listing agency, and agency contact adds its phone numbers, office address and website. Greek text comes back intact, and place names can be returned in Greek or in the portal's own English transliteration.
Don't use it when: the property is outside Greece — use immobiliare-property-scraper or daft-property-scraper or fotocasa-property-scraper instead.
How to call it: give `locations` a list of place names in Greek or English (`Athens`, `Θεσσαλονίκη`, `Kolonaki`, `Glyfada`, `Chania`) and pick `listingType` (`sale` or `rent`) and `category` (`residential`, `commercial`, `land`, `other`). Narrow with `minPrice`, `maxPrice`, `minAreaSqm`, `maxAreaSqm`, `minRooms`, `maxRooms`, `minFloor`, `maxFloor`, `minYearBuilt`, `maxYearBuilt`, `energyClassAtLeast`, `listedWithin`, `updatedWithin`, `priceReducedOnly` and `features`. `propertyTypes` must belong to the `category` you picked or the run is refused rather than silently unfiltered. `includeDetails` adds the street address, energy class and full photo set for an extra charge per property; `includeAgentContact` adds agency phone numbers and bills once per unique agency. To expand properties you already have, set `operation` to `detail` and pass `listingUrls`; to reuse a search you built on spitogatos.gr, paste the link into `searchUrls`.
Start with this input:
{
"operation": "search",
"locations": [
"Kolonaki"
],
"listingType": "sale",
"category": "residential",
"propertyTypes": [
"apartment"
],
"minPrice": 200000,
"maxResults": 100
}
Ask me which Greek city, island or neighbourhood, and whether they are buying or renting, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • What is the median asking price per square metre for apartments in Kolonaki, and how does it compare with Glyfada?
  • Find every A-rated apartment for sale in Thessaloniki under 300,000 euro and give me the agency phone numbers.
  • Track new rentals added in Athens Centre in the last 24 hours and tell me the average monthly rent by neighbourhood.
  • List pre-1980 apartments in Piraeus rated D or worse, with their size and the selling agency, for a retrofit campaign.
  • Show me properties on Crete whose asking price has been cut, with the old price and the size of the cut.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/spitogatos-property-scraper.md.

📋 Overview

Greece's property market runs through one website, and that website publishes no API. This Actor reads the portal's public listings directly and hands you every live advert as flat rows. Sale and rent, homes and commercial space and land, anywhere from Evros to Crete.

Why professionals choose it:

  • The fields Greek buyers actually ask for: asking price, price per square metre, floor area, rooms, the ΠΕΑ energy class as a letter grade, construction year, heating system and its fuel.
  • 30 properties per request, with no pagination ceiling. A search matching 29,658 properties still answers at row 29,700, so a whole city fits inside one run.
  • 🎯 Places by name, in Greek or English: Athens, Θεσσαλονίκη, Kolonaki, Glyfada, Chania. Whichever place the portal matched is printed in the log and stamped on every row, so a near-match is visible rather than silent.
  • 🎛️ 24 filters, every one applied before the rows are counted. Floor range, energy class, construction year, price cuts and 19 must-have features all narrow the search at source, so you pay for the properties you asked for.
  • 💰 From $1.20 per 1,000 properties, charged per delivered row and never for a failed one.
  • 🇬🇷 Greek survives the whole trip. Descriptions and place names arrive exactly as the portal holds them, and one switch turns Αθήνα - Κέντρο into Athens - Center.

✨ Features

  • 🏘️ Four asset classes in one Actor: homes, commercial property, land and the odd categories such as parking spaces and air rights.
  • ΠΕΑ energy class both as filter and field: ask for "C or better" and the search narrows before it runs; the grade lands on the row as A+ through G.
  • 🪜 Floors decoded, never raw. The portal stores floors as codes where 10 means the fifth storey. A fifth-floor flat arrives as 5.
  • 📞 Agency phone numbers, office address, website and contact name, looked up once per agency and reused across the run.
  • 🧭 GPS coordinates on every property, so results drop straight onto a map.
  • 📉 Price cuts as their own filter, returning the previous asking price and the size of the reduction on each row.
  • 🆕 Recency windows from 24 hours to a year, on first listing date or last update, which turns a scheduled run into a cheap daily monitor.
  • 🔗 Paste a Spitogatos search link. Build the search on the site, hand over the finished URL, and every filter on it is read back and reused.
  • 📸 Full photo sets, street address and around 130 amenity attributes when you switch on the detail add-on.
  • 📊 Flat rows, 70 fields: export as CSV, Excel or JSON, or pull them over the API.

🎬 Quick Start

Name a place, pick sale or rent, press Start. Rows land in the dataset as they are found, and a run report is written to the key-value store with the counts and what they cost. Nothing else needs configuring.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~spitogatos-property-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"operation":"search","locations":["Athens"],"listingType":"sale","category":"residential","maxResults":100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Name your places

Type them the way you would type them into the site's own search box, in Greek or in English. A region, a city, a district or a single neighbourhood all resolve: Athens, Θεσσαλονίκη, Kolonaki, Glyfada, Mykonos. One search runs per place.

Step 2: Choose sale or rent, and the asset class

For sale is the larger pool nationwide. Homes is the default asset class; commercial, land and other property are one dropdown away.

Step 3: Press Start

Add price, size, room, floor, energy or feature filters if you want them. Switch on the detail add-on for street addresses and full photo sets, or agency phone numbers if you are building a contact list.

That's it. Within a minute or two you'll have:

  • Every matching property as a spreadsheet row
  • Price per square metre calculated on each one
  • A run report showing what was found, what failed and what it cost

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch (default) or detail
locationsarrayNoPlace names in Greek or English. One search runs per place
listingTypestringNosale (default) or rent
categorystringNoresidential, commercial, land or other
propertyTypesarrayNoNarrow to particular types. They must belong to the asset class above
maxResultsintegerNoWhole-run budget: stop after this many properties across every place
searchUrlsarrayNoPaste finished Spitogatos search links instead of filling the fields
listingUrlsarrayNoFull Spitogatos property links, for the detail operation
minPrice / maxPriceintegerNoPrice bounds in euro, per month on rentals. 0 means no bound
minAreaSqm / maxAreaSqmintegerNoFloor-area bounds in square metres
minRooms / maxRoomsintegerNoRoom bounds. Bedrooms on homes, rooms on commercial property
minFloor / maxFloorstringNoFloor range, from basement up to 50th and above
minYearBuilt / maxYearBuiltintegerNoConstruction-year bounds
energyClassAtLeaststringNoΠΕΑ class or better, e.g. c returns C, B, B+, A and A+
listedWithinstringNoOnly adverts first published inside the window, from 24hours to 1year
updatedWithinstringNoOnly adverts the advertiser has touched inside the window
priceReducedOnlybooleanNoOnly properties whose asking price has been cut
featuresarrayNoMust-have list: lift, parking, garden, pool, penthouse, auction and 13 more
sortBystringNoBest match, most recently updated, cheapest first or dearest first
includeDetailsbooleanNoAdd street address, energy class, heating, every photo and ~130 attributes
includeAgentContactbooleanNoAdd the listing agency's phone numbers, address, website and contact name
languagestringNoel (default) or en for place names

Example: three-bedroom apartments in central Athens between €200k and €400k:

{
"operation": "search",
"locations": ["Athens"],
"listingType": "sale",
"category": "residential",
"propertyTypes": ["apartment"],
"minPrice": 200000,
"maxPrice": 400000,
"minRooms": 3,
"maxResults": 300
}

Example: pre-1980 stock rated D or worse, for retrofit targeting:

{
"operation": "search",
"locations": ["Θεσσαλονίκη", "Πάτρα"],
"listingType": "sale",
"maxYearBuilt": 1980,
"includeDetails": true,
"includeAgentContact": true,
"maxResults": 200
}

Example: rentals added in the last day on three islands, with agency phones:

{
"operation": "search",
"locations": ["Mykonos", "Santorini", "Chania"],
"listingType": "rent",
"listedWithin": "24hours",
"includeAgentContact": true,
"language": "en",
"maxResults": 150
}

Example: expand adverts you already have:

{
"operation": "detail",
"listingUrls": ["https://www.spitogatos.gr/aggelia/1113403816"]
}

📤 Output

Every row is flat JSON with 70 fields. The ones people use most:

FieldTypeDescription
propertyTitlestringType, size and area, as the portal describes the advert
propertyUrlstringWorking link back to the advert on Spitogatos
price / pricePerSqminteger / numberAsking price in euro, and price per square metre
priceReduced / pricePreReductionboolean / integerWhether the price was cut, and what it was before
areaSqm / rooms / bathroomsintegerFloor area and room counts
floorstringDecoded storey, e.g. 5, ground_floor, basement
energyClassstringΠΕΑ grade from A+ to G (detail add-on)
yearBuilt / underConstructioninteger / booleanConstruction year, or the flag for property still being built
heatingType / heatingMediumstringAutonomous or central, and the fuel it burns (detail add-on)
floorMaterial / windowFrames / glazingstringFlooring, frames and glazing (detail add-on)
latitude / longitudenumberGPS coordinates
streetAddress / region / municipalitystringAddress breakdown (detail add-on)
imageUrls / imageCountarray / integerEvery photo on the advert
agencyName / agencyUrlstringListing agency and its profile page
agencyPhones / agencyAddress / agencyWebsitearray / stringAgency contact block
featuresarrayAmenities the advertiser ticked (detail add-on)

Example row: an expanded Koukaki apartment:

{
"listingId": 13403816,
"propertyUrl": "https://www.spitogatos.gr/aggelia/1113403816",
"propertyTitle": "apartment · 108 m² · Κουκάκι - Παιδική Χαρά (Κουκάκι - Μακρυγιάννη)",
"listingType": "sale",
"category": "residential",
"propertyType": "apartment",
"price": 425000,
"currency": "EUR",
"pricePerSqm": 3935.19,
"areaSqm": 108,
"rooms": 3,
"bathrooms": 1,
"floor": "5",
"yearBuilt": 2025,
"energyClass": "A",
"heatingType": "autonomous",
"heatingMedium": "natural gas",
"floorMaterial": "wood",
"windowFrames": "aluminium",
"glazing": "Double",
"streetAddress": "Καλλιρρόης, 80, Αθήνα Ελλάδα, 11741",
"region": "Αττική",
"municipality": "Αθήνα - Κέντρο",
"neighbourhood": "Κουκάκι - Παιδική Χαρά",
"latitude": 37.961319,
"longitude": 23.719601,
"imageCount": 10,
"features": ["lift", "air conditioning", "storage room", "parking", "solar water heater", "EV charging"],
"elevator": true,
"parking": true,
"newDevelopment": true,
"agencyName": "ΕΥΓΕΙΟΣ - GOODLAND Ε.Π.Ε.",
"agencyPhones": ["+306976989952", "+306980848075"],
"publishedAt": "2026-07-06",
"updatedAt": "2026-09-06"
}

Coverage

The whole of Greece, down to whichever neighbourhood the portal itself indexes. Both sides of the market and all four asset classes. Sold prices and transaction history are not available: Spitogatos publishes live adverts only, and Greece keeps no public sold-price register to join against. The nearest signal is the price-cuts filter, which returns the old price alongside the new one. Cyprus lives on a separate site and is out of scope.


💼 Use Cases & Examples

1. Greek Property Market Analysis

Analysts and economists tracking asking prices across Greek regions.

Input: A region or a list of cities, run weekly on the for-sale side. Output: Every live advert with asking price, floor area and price per square metre. Use: Build a regional price index and watch it move. Price cuts are their own filter, with the previous price and the size of the reduction on the row, which is as close to a transaction signal as Greece publishes.

2. Estate Agency Lead Lists

Sales teams selling software, photography or portal services to Greek agencies.

Input: An area and a price band, with agency phone numbers switched on. Output: Agency name, phone numbers, office address, website and contact name. Use: Build a call list of the agencies actually carrying stock in a patch. Each agency is looked up once and billed once, however many of its properties you pull.

3. Athens and Island Rental Yield Modelling

Investors and short-let operators pricing a neighbourhood.

Input: The same neighbourhood swept twice, once for sale and once to rent. Output: Price per square metre on both sides, with GPS on every row. Use: Derive gross yield without a second data source. Koukaki, Chania and Mykonos can be isolated down to the neighbourhood rather than the island.

4. Renovation and Energy-Upgrade Targeting

Insulation, heat-pump and window installers looking for the right housing stock.

Input: A city with the construction-year ceiling set to 1980 and the detail add-on on. Output: Older stock with its ΠΕΑ grade, heating system, window frames and glazing. Use: Find the properties Greece's Εξοικονομώ retrofit grants are aimed at, then reach the agency selling them.

5. Golden-Visa and Relocation Sourcing

Relocation advisers and buyer's agents building client shortlists.

Input: A minimum price and a set of places. Output: Qualifying properties with coordinates, size, energy class and photos. Use: Drop results straight onto a map or into a CRM, and compare towns side by side on price per square metre.

6. Daily New-Listing Monitoring

Agencies and portals that need to see new supply first.

Input: First listed within the last 24 hours, scheduled daily. Output: Only what came onto the market since yesterday. Use: Track new supply without re-buying the whole city every morning.

7. Commercial and Land Sourcing

Developers, franchise operators and site finders.

Input: The commercial or land asset class, nationwide, with size and price bounds. Output: Offices, shops, warehouses, hotels, plots and parcels with size, price and the listing agency. Use: Watch available space and asking prices across Greece in a single pass.


🔗 Integration Examples

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/spitogatos-property-scraper').call({
operation: 'search',
locations: ['Athens', 'Thessaloniki'],
listingType: 'sale',
category: 'residential',
minRooms: 3,
maxResults: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/spitogatos-property-scraper').call(run_input={
'operation': 'search',
'locations': ['Χανιά'],
'listingType': 'rent',
'includeAgentContact': True,
'language': 'en',
'maxResults': 150,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['propertyTitle'], item['price'], item.get('pricePerSqm'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~spitogatos-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"search","locations":["Glyfada"],"listingType":"sale","energyClassAtLeast":"b","maxResults":100}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: a daily schedule
  2. HTTP Request: call the Actor with the first-listed window set to 24 hours
  3. Process: filter the returned rows on your own criteria
  4. Action: append to Google Sheets, push into a CRM, or fire a Slack alert

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 properties per run, with every field and every filter available
  • No credit card needed
  • Enough to confirm the data is what you need before you scale
  • Unlimited properties per run
  • Charged per successful row. Failed items are never billed
  • 30 properties per request with no pagination ceiling, so a whole city is one run

💰 From $1.20 per 1,000 properties on paid Apify plans. Expanding a property to its street address, energy class and full photo set costs $3.50 per 1,000 on top, and only when you ask for it. Agency contact details are $2.00 per 1,000 unique agencies, so fifty flats from one office cost one lookup. Starting a run costs $0.005.

🔗 View current pricing


❓ Frequently Asked Questions

Q: Do I need a Spitogatos account or an API key? A: No. Give it a place name and press Start.

Q: How many properties can I get? A: FREE tier: 25 per run. PAID tier: unlimited. There is no pagination ceiling, so a search matching 29,658 properties still answers at row 29,700.

Q: Can I get sold prices? A: No. Spitogatos publishes live adverts only, and Greece has no public sold-price register. The nearest available signal is the price-cuts filter, which returns properties whose asking price has been reduced, along with the previous price and the size of the cut.

Q: Does it cover Cyprus? A: No. Cypriot listings live on a separate site with a separate index. This Actor covers Greece.

Q: Will Greek text come out readable? A: Yes. Descriptions, place names and agency names are returned exactly as the portal holds them. If you would rather have Latin place names, set the place-name language to English and Αθήνα - Κέντρο becomes Athens - Center. Advert descriptions stay in whatever language the advertiser wrote them.

Q: How do I write a place name? A: However you would type it into the site's own search box, in Greek or English: Athens, Θεσσαλονίκη, Kolonaki, Glyfada, Chania. Names are resolved against the portal's own place index, which prefers a near match to no match at all. The place it settled on is printed in the run log and written to every row in the searched-place field, so you can always see what was actually searched.

Q: What does the detail add-on give me? A: The street address, energy class, construction year, heating system and its fuel, floor and window materials, glazing, common expenses and availability date. You also get the complete photo set instead of the cover image, plus around 130 amenity attributes the advertiser filled in.

Q: How is the agency contact charge counted? A: Once per unique agency in the run, never once per property. Fifty flats from the same agency cost one lookup. Privately advertised properties have no agency and are never billed for one, and nor is a lookup that returns no contact details. Property Detail rows already carry the agency phones at no extra charge.

Q: What output formats are available? A: JSON, CSV and Excel. Export straight from the dataset, or pull the rows over the API.


🐛 Troubleshooting

The results are from the wrong place

  • Check the searched-place field on the rows and the line in the run log. The portal's place index prefers a near match to no match, so a loose term such as "Greece" lands somewhere specific rather than everywhere.
  • Use the name as the site itself writes it, in Greek or English: Θεσσαλονίκη or Thessaloniki, Κολωνάκι or Kolonaki.
  • For an exact area, build the search on spitogatos.gr and paste the finished link into the search-URLs field. Every filter on the link is read back from it.

No properties matched

  • The filters are too narrow. Widen the price band or drop the energy-class minimum first, since those two cut hardest.
  • Check the asset class: a "Homes" search with a warehouse property type selected will be refused rather than silently ignored.

A property type was refused

  • Property types belong to one asset class each. Office, shop and warehouse only work under Commercial; plot and parcel only under Land.

Fewer rows than I asked for

  • The place genuinely has fewer live adverts than your limit. The run log prints the matching total before it starts paging.
  • On the FREE tier every run stops at 25 rows.

Energy class, year built or street address came back empty

  • Those live on the property's own record. Switch on the detail add-on and they appear on every row.

No agency phone numbers on the rows

  • Switch on the agency phone numbers option. Search rows carry the agency name and profile link without it.
  • Privately advertised properties have no agency at all, so there is nothing to attach.

A run says "please retry in a few minutes"

  • The portal occasionally challenges a burst of visitors. The Actor already retries; if a run still finishes short, start it again shortly afterwards.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Join our active support community


Spitogatos is a trademark of Real Web S.A. This actor is not affiliated with, endorsed by, or sponsored by Spitogatos.

Built by SIÁN Agency | More Tools