DEV Community

Cover image for How to Scrape Realitica Adriatic Property Listings Without a Paid API
Tim Zinin
Tim Zinin

Posted on Originally published at apify.com

How to Scrape Realitica Adriatic Property Listings Without a Paid API

The problem

Watching the Adriatic property market — Montenegro, Croatia, Serbia — means watching Realitica.com, one of the region's main real-estate classifieds portals. Doing it by hand means opening search pages for every combination of country, deal type and property type, then copying titles, prices, room counts and links into a spreadsheet. Repeating that across several cities, daily or weekly, is a lot of copy-paste work.

There is no official Realitica API to call. The real-estate data platforms that cover the region package this as a subscription, and building a custom scraper means handling pagination, region path slugs and markup changes on your own.

What the actor does

The Realitica.com Adriatic Real Estate Listings actor pulls live apartment and house classifieds from Realitica search-result pages — no login, no API key, no browser or proxies needed on your side. Per the README:

  • Filter by deal type (prodaja sale or najam long-term rent), property type (stanova apartments or kuca houses) and region — a whole country (Crna-Gora, Hrvatska, Srbija) or a city-level drilldown such as budva/Crna-Gora.
  • Every delivered row carries title, price with currency, rooms, floor area in square meters, free-text location, a short description, the preview photo URL and the direct listing URL, plus a source_portal tag and a scraped_at timestamp.
  • Pagination is configurable (max_pages, 25 listings per page; max_items row cap), and queries with zero matching listings return explicit found: false rows for transparency.

Honest limits the README states plainly: posted_date and lat/lng are always null because Realitica does not print them on the pages the actor reads; only the single preview photo from the search card is returned, not the full gallery; and najam maps to the long-term rental category, never the separate short-term/tourist listings.

Because the actor runs on Apify, the same region query can be scheduled to re-run daily or weekly from the console, and each run's dataset exports as CSV, JSON or Excel or pulls through the API — the usual backbone for price-watch spreadsheets and new-listing alerts across the Adriatic markets.

Example: input and output

A minimal run for sale apartments in Montenegro:

{
    "deal_type": "prodaja",
    "property_type": "stanova",
    "region": "Crna-Gora",
    "max_items": 5,
    "max_pages": 1
}
Enter fullscreen mode Exit fullscreen mode

This is a real row from a local verification run on 2026-07-30, quoted from the README:

{
    "found": true,
    "url": "https://www.realitica.com/hr/listing/3665844",
    "title": "Branko · prodaje stan · 2 sobe · 78 m²",
    "price": 200000,
    "currency": "EUR",
    "deal_type": "sale",
    "property_type": "stanova",
    "rooms": 2,
    "area_sqm": 78,
    "location": "Radanovići, Kotor, Crna Gora",
    "posted_date": null,
    "images": ["https://www.realitica.com/images/listing_photos/thumb_3665844_08-09.jpg"],
    "source_portal": "realitica-adriatic",
    "scraped_at": "2026-07-30T07:20:00.000Z"
}
Enter fullscreen mode Exit fullscreen mode

A zero-result query produces a free found: false row with a human-readable note instead of an empty dataset.

Pricing and the free limit

Pay-per-event: $0.005 per run start plus $0.002 per delivered listing. Not-found rows are never charged. A run that delivers 100 listings costs $0.005 + 100 × $0.002 = $0.205. Apify's free plan gives $5 of usage credits per month, so $5 covers about 24 such runs — roughly 2,400 listings.

Try it

Open the actor, pick deal type, property type and region, and hit Start — no card needed on the free plan: Realitica.com Adriatic Real Estate Listings

For AI agents and MCP

This is a standard Apify actor: strict JSON input, structured JSON dataset rows, callable through the Apify API, the JavaScript/Python clients, or the hosted Apify MCP server whose setup the README documents. An agent can branch on the found flag without parsing any HTML — true rows carry the comparable fields (price, rooms, area, location), while false rows explain zero-result regions and cost nothing.

Top comments (0)