Home.cy Cyprus Real Estate Scraper: Sale and Rent avatar

Home.cy Cyprus Real Estate Scraper: Sale and Rent

Pricing

from $22.00 / 1,000 listings

Go to Apify Store
Home.cy Cyprus Real Estate Scraper: Sale and Rent

Home.cy Cyprus Real Estate Scraper: Sale and Rent

Scrape home.cy, the Cyprus property portal: sale and rent listings with price, bedrooms, covered and plot area, map position, photos and agency, plus agency profiles and listing counts by district. Filter by place, type and price. Export JSON, CSV, Excel.

Pricing

from $22.00 / 1,000 listings

Rating

0.0

(0)

Developer

RecordsData

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

RecordsData

Home.cy Cyprus Real Estate Scraper: Sale and Rent Listings

Home.cy Cyprus Real Estate Scraper exports property data from home.cy, a Cyprus property portal with about 24,470 listings for sale and 2,690 for rent on 2026-11-02. Each row has the amount in euros, bedrooms, bathrooms, covered and plot area, district and area, a map position, photos, dates and the listing agency, and the actor also returns agency profiles and listing counts by district. Export JSON, CSV, Excel, XML or HTML. No login, no API key, no proxy. Pay per result.

Home.cy publishes houses and apartments for sale and for rent in all five districts of Cyprus: Nicosia, Limassol, Larnaca, Paphos and Famagusta. This actor reads the same public pages a visitor sees, applies the site's own filters, opens every listing page and gives you clean, typed rows that are ready for a spreadsheet, a database or an AI agent.

What can you scrape from home.cy?

Record type (recordTypes)What one row isSize on 2026-11-02
listingsOne sale or rent ad with amount, areas, rooms, location, map position, photos, dates and agency24,473 for sale and 2,694 for rent
agenciesOne real estate agency with rating, review count, active listings, team size and a short description240 agencies
market-statsOne search with the number of live listings that match, optionally split by bandany district, area, property type or operation

Every row has typed fields, and the dataset schema lists 68 of them. Fields a listing does not have are left out, never filled with null.

Why use this actor?

  • The whole catalog is reachable. There is no page limit: page 1,500 of a nationwide sale search still returns listings.
  • Real filters, applied by the site: district, area, house or apartment, subtype, bedrooms, bathrooms, amount, areas, year built, resale or new build.
  • Full detail on every listing, including the photo list, year built, title deed, energy rating and amenities.
  • Plain HTTP requests, no browser, no proxy. Three results take about four seconds, and the actor needs only 256 MB of memory.
  • Monitor mode returns only listings you have not received before.
  • Privacy first. No phone numbers, no emails, no private person names.

How to scrape home.cy in four steps

  1. Create a free account at https://console.apify.com and open the actor.
  2. Choose what to collect, then add filters such as a district, a property type and a maximum amount.
  3. Set the maximum number of results and click Start.
  4. Download the dataset from the Storage tab as JSON, CSV or Excel.

You can also paste any home.cy search URL, listing URL, agency URL or the agency directory URL as a start URL, or give a list of listing ids.

Input

The form has 31 fields. The main ones:

FieldTypeDefaultMeaning
recordTypesarraylistingsWhat to collect: listings, agencies or market-stats
maxItemsinteger10Maximum rows (free plans: 10, paid plans: up to 1,000,000)
operationstringsalesale, rent or both
propertyTypes / subtypesarrayemptyhouse, apartment, and finer types such as villa or penthouse
districts / locationsarrayemptyDistricts, and area names such as Germasogeia or limassol/germasogeia
bedroomsarrayemptyBedroom counts to keep
minPrice / maxPricenumber0Amount in euros (rent is per month), 0 ignores it
minBathrooms, minCoveredArea, minPlotArea, minYearBuilt (and max...)number0Range filters, 0 ignores them
conditionstringanyResale or new build
fetchDetailsbooleantrueOpen every listing page for the full detail
includePriceBandsbooleanfalseSplit market statistics by band
includeContactDetailsbooleanfalseAdd agency business details
startUrls / listingIdsarrayemptyHome.cy pages, or listing ids, to read directly
onlyNew / stateKey / resetSeenboolean / string / booleanfalse / empty / falseMonitor mode, its name, and a reset
maxRunSecondsinteger1800Longest run time in seconds

Input for two-bedroom apartments for rent in Limassol:

{
"recordTypes": ["listings"],
"operation": "rent",
"propertyTypes": ["apartment"],
"districts": ["limassol"],
"bedrooms": [2],
"maxPrice": 2000,
"maxItems": 100
}

What data do you get?

Every row has a recordType: listing, agency or market-stat. Fields that do not apply are left out.

Listing fields

FieldTypeExample
listingIdstring285992
urlstringhttps://home.cy/real-estate-for-sale/villa-for-sale-in-limassol-285992
operationstringsale
propertyType / propertySubtypestringhouse / villa
pricenumber860000
currency / priceTextstringEUR / €860,000 plus VAT
isPlusVatbooleantrue
rentPeriodstringmonth (rentals only)
pricePerM2number4778
district / areastringlimassol / Parekklisia
latitude / longitude / locationRadiusMnumber34.7509 / 33.1441 / 750
areaBuilt / areaLand / areaVerandanumber180 / 606 / 60
condition / furnishedstringoff_plan
amenitiesarray["Pool", "Balcony"]
imageCount / images / thumbnailUrl / videoUrlnumber / array / string6
publishedAt / updatedAtstring2026-10-29
agencyName / agencyUrl / agencyBranch / agencyRatingstring / numberVivo Realty / 4.4
scrapedAt / error / hintstringtime of extraction, message when a run has a problem

Agency fields

FieldTypeExample
urlstringhttps://home.cy/vivo-realty
agencyName / agencyBranchstringVivo Realty / Limassol
agencyRating / agencyReviewCountnumber4.4 / 18
agencyVerifiedbooleantrue
agencyListingCount / agencyTeamSizenumber770 / 19
agencyRegistrationNumber / agencyLicenseNumber / agencyAddressstringonly with includeContactDetails

Market statistics fields

FieldTypeExample
operation / districtstringsale / paphos
totalListingsnumber4352
priceBandsarray[{"label": "Up to 99,999", "maxPrice": 99999, "listings": 13}]

When locationRadiusM is present, latitude and longitude are the centre of a circle of that radius (200 to 1,000 meters), so treat the point as area level.

Sample output

{
"recordType": "listing",
"listingId": "285992",
"url": "https://home.cy/real-estate-for-sale/villa-for-sale-in-limassol-285992",
"operation": "sale",
"price": 860000,
"currency": "EUR",
"priceText": "€860,000 plus VAT",
"pricePerM2": 4778,
"district": "limassol",
"area": "Parekklisia",
"locationRadiusM": 750,
"bedrooms": 3,
"bathrooms": 2,
"areaBuilt": 180,
"condition": "off_plan",
"amenities": ["Pool", "Balcony"],
"publishedAt": "2026-10-29",
"views": 105,
"isPrivateSeller": false,
"agencyName": "Vivo Realty",
"agencyRating": 4.4
}

The real rows also carry description, images and scrapedAt; they are shortened here.

Monitor new listings

Switch on Only new listings (monitor mode) and the actor remembers every listing and agency it delivered, in a named key-value store called home-cy-seen in your own Apify account. A scheduled run of the same search then returns only unseen rows, and rows skipped by the monitor are never charged.

Pricing

Pay per result, no monthly fee. Rates are USD per event on the Free tier.

EventCharged forPer resultPer 1,000
Listing recordOne sale or rent ad from the search$0.022$22.00
Listing detail recordAdded when the listing page is opened (fetchDetails)$0.01467$14.67
Agency recordOne agency profile$0.02933$29.33
Market statistics recordOne search with its listing count$0.03667$36.67

Worked examples: 1,000 listings from the search cards only (fetchDetails off) cost $22.00. 1,000 listings with full detail cost 1,000 x ($0.022 + $0.01467) = $36.67. All 240 agencies cost 240 x $0.02933 = $7.04. Error rows, empty searches and rows skipped by monitor mode are never charged.

How does it compare with other Cyprus property scrapers? (read on 2026-11-03)

No other actor on the Apify Store covers home.cy. The nearest Cyprus property actors read other portals.

This actorsian.agency/bazaraki-property-scraperswerve/spitogatos-scraper
Sourcehome.cybazaraki.comspitogatos.gr (Greece and Cyprus)
Published fields68 data fields6950
Record typesListings, agencies, market statisticsListingsListings
Band counts and listing countsYes, one row per searchNot statedNot stated
Monitor modeBuilt in, charged only for new rowsNot statedNot stated
Runs and users in 30 daysNew actor116 runs, 3 users3,768 runs, 8 users

Choose this actor when you need home.cy data in particular. It complements a classifieds source such as Bazaraki rather than replacing it.

The actor reads publicly visible pages without a login, without solving captchas and without bypassing any protection, at about 1.6 requests per second. If home.cy shows its robot check, the actor never tries to get around it: it waits, slows down and stops after three tries.cy allows generic crawlers and blocks named SEO and AI bots, but the file also says that the site terms prohibit automated systems unless prior written approval has been obtained. Check the site terms before republishing commercially, and get approval from home.cy when your use needs it. Phone numbers, emails and the names of private persons are never output, and agency business details are returned only when you switch them on.

Limits:

  • Listings with an amount on request have no price; the priceText field keeps the text.
  • Band counts do not overlap and add up to slightly less than the total, because a few listings state no amount.
  • Free Apify plans are limited to 10 results per run.

Use with AI agents (MCP)

Connect the Apify MCP server to Claude, Cursor or another MCP client and this actor appears as a tool: https://mcp.apify.com?tools=RecordsData/home-cy-scraper.

Example prompt: "Find the 20 newest two-bedroom apartments for rent in Limassol under 2,000 euros a month and list amount, area, agency and URL."

Run it from code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('RecordsData/home-cy-scraper').call({ operation: 'sale', districts: ['paphos'], maxItems: 20 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0].title, items[0].price);

Python client, Make, Zapier, n8n and Apify schedules also work.

Frequently Asked Questions

What does the Home.cy Cyprus Real Estate Scraper return?

Sale and rent listings of houses and apartments in Cyprus with the amount, bedrooms, bathrooms, covered and plot area, district, area, map position, photos, dates and the agency that advertises them. It can also return agency profiles and listing counts per search, so one actor covers listings, agencies and a quick market picture.

Do I need a proxy, a login or an API key?

No. The actor reads public pages with plain HTTP requests and needs no proxy, no account on home.cy and no API key. You only need an Apify account to run it, and the free plan returns up to 10 results per run, which is enough to test your filters before a large export.

How many listings can I get in one run?

As many as the filters match, up to the Max Items limit you set. Home.cy has no page limit, so a nationwide search can run through all 24,000 sale listings. Free Apify plans return up to 10 results per run, paid plans up to 1,000,000. Use the per-search cap to share the budget between several districts.

How do I search one district, one village or one range of amounts?

Pick districts, or write area names in Locations (for example Germasogeia or Peyia). When a name exists in several districts, write it as district/area, for example limassol/germasogeia. Add Min price and Max price in euros. Rent amounts are per month, so 2,000 means 2,000 euros a month.

How is the amount stored?

price is a number in euros and priceText keeps the text of the site, for example "€860,000 plus VAT". isPlusVat tells you when VAT is on top, and rentPeriod is month for rentals. pricePerM2 is calculated for sales from the amount and the covered area. Listings with an amount on request have no price field.

Does it return phone numbers and agent names?

No. Phone numbers, emails and personal names are never output. You get the agency name, branch, rating and profile link. With Include agency business details on, agency rows also carry the registration number, licence number and office address that the agency publishes about itself.

What are market statistics?

One row per search with the number of listings that match a district, area, property type and operation. Switch on Split market statistics by price band to get the count in each band as well, which gives you a quick supply picture without downloading every listing. Each row is one billed event.

Can I get only the newest listings?

Yes. Use monitor mode, which remembers every row already delivered and returns only unseen ones on the next scheduled run, or sort by newest first and set a small Max Items. Monitor mode is the better choice for a daily feed, because skipped rows are never charged and the search stops early.

How much does a run cost?

The actor is billed per result. A listing record costs $0.022, so 1,000 listings from the search cards cost $22.00, and opening each listing page adds $0.01467, which makes $36.67 per 1,000 with full detail. Agency rows cost $0.02933 and market statistics rows $0.03667. Errors, empty searches and monitor skips are never charged.

What happens when the search finds nothing or the input is wrong?

A search without results ends the run cleanly with no rows and no charge. A wrong value, such as a minimum amount above the maximum, an unknown place name or a subtype that does not match the property type, ends the run as succeeded with one free error row that explains what to change. Nothing is charged for it.

Support

Questions, feature requests or a field you need: write to contact.punkrecordsdata@gmail.com or open an issue on the actor page.

This actor is an independent tool and is not affiliated with home.cy.

Last updated: 2026-11-03