Halooglasi.com Property Scraper — Serbia Real Estate avatar

Halooglasi.com Property Scraper — Serbia Real Estate

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Halooglasi.com Property Scraper — Serbia Real Estate

Halooglasi.com Property Scraper — Serbia Real Estate

Scrape real estate listings from Halooglasi.com — Serbia's #1 property portal. Extract apartments, houses, land, commercial, garages and rooms (sale or rent) by location, EUR price, m², rooms and owner type. Returns price, area, GPS-ready address, advertiser and image gallery per ad.

Pricing

from $2.00 / 1,000 results

Rating

5.0

(1)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Halooglasi.com Property Scraper — Serbia Real Estate Listings to JSON, CSV & Excel

Halooglasi.com Property Scraper — Serbia Real Estate

Scrape real estate listings from Halooglasi.com, Serbia's #1 property portal, into a clean, structured dataset. This Halooglasi scraper extracts apartments, houses, land, commercial space, garages and rooms — for sale or rent — filtered by city, transaction type, price in EUR, surface area, room count and owner type. No login and no API key required: set your search and export Serbia real estate data to JSON, CSV or Excel.

Each record includes EUR price, price-per-m², a four-level Serbian address (city → municipality → district → micro-location), advertiser details and an image gallery — ready for analysis, lead generation or feeding a property aggregator.

✨ What this Actor does / Key features

  • 🇷🇸 Serbia-wide coverage — every Halooglasi location slug is supported, including all Belgrade (Beograd) municipalities, Novi Sad, Niš, Kragujevac and more. Leave the location list empty for nationwide scraping.
  • 💰 Native EUR pricing with an auto-computed pricePerSqm for valuation and comparison work.
  • 🏘️ Four-level location chain — city, municipality (opština), district and micro-location parsed into separate fields plus a composed fullAddress.
  • 🛏️ Serbian room-count handling in 0.5 increments (garsonjera, jednosoban, dvosoban, troiposoban, …) returned as both a numeric value and a Serbian label.
  • 🏢 Advertiser data — agency / owner / investor name, profile URL, advertiser ID and owner type.
  • 🖼️ Image gallery per listing, with agency logo banners automatically filtered out.
  • 🏷️ Card tier labels captured (Premium, Top, VIP, Ekskluziva, …).
  • 🛡️ Cloudflare-resilient — HTTP fetch via residential proxy with automatic retry on 403 / 429 / 503 responses.
  • 🔁 De-duplication & loop detection across paginated result pages.
  • 📦 Structured, export-ready output — flat JSON downloadable as CSV or Excel, with pre-built Overview and Full Detail dataset views.

🔍 Input

FieldTypeDescription
locationSlugsarray of stringsHalooglasi URL location slugs (e.g. beograd, novi-sad, beograd-vracar). Each slug becomes its own scraping task. Leave empty for nationwide. Required. Default ["beograd"].
transactionstring (enum)sale (prodaja) or rent (izdavanje). Default sale.
propertyTypestring (enum)apartment, house, land, commercial, garage or room. Default apartment.
priceMininteger (EUR)Minimum price in EUR. 0 = no minimum.
priceMaxinteger (EUR)Maximum price in EUR. 0 = no maximum.
areaMininteger (m²)Minimum surface area. 0 = no minimum.
areaMaxinteger (m²)Maximum surface area. 0 = no maximum.
roomsMinnumberMinimum room count, 0.5 increments (garsonjera=0.5, dvosoban=2, 5+). 0 = no minimum.
roomsMaxnumberMaximum room count, 0.5 increments. 0 = no maximum.
ownerTypestring (enum)all, agency, owner or investor. Default all.
sortstring (enum)latest, price_asc, price_desc, area_asc or area_desc. Default latest.
maxListingsintegerTotal cap across all location tasks. 0 = unlimited. Default 200.
maxPagesPerTaskintegerPagination depth per location (~20 listings per page). Default 10.
requestDelayinteger (ms)Delay between sequential page requests. Keep ≥ 800 ms. Default 1000.
maxRetriesintegerRetries per request on HTTP errors (rotates proxy IP). Default 3.
proxyConfigurationobjectApify Proxy strongly recommended. Halooglasi is Cloudflare-protected — RESIDENTIAL with country RS is recommended; datacenter IPs often get 403.

🚀 Example input

{
"locationSlugs": ["beograd-novi-beograd", "beograd-vracar"],
"transaction": "sale",
"propertyType": "apartment",
"priceMin": 80000,
"priceMax": 250000,
"areaMin": 40,
"areaMax": 80,
"roomsMin": 1.5,
"roomsMax": 3,
"ownerType": "agency",
"sort": "latest",
"maxListings": 500,
"maxPagesPerTask": 25,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "RS"
}
}

📦 Output

One Apify dataset record per Halooglasi listing. Records are flat JSON and can be exported to CSV, Excel, JSON or XML, or pulled via the Apify API. Two dataset views are pre-configured: Overview (compact) and Full Detail.

FieldDescription
adIdHalooglasi 13-digit listing ID
detailUrlFull listing URL
titleListing title
shortDescriptionCard-level description snippet
transactionTypesale / rent
propertyTypeapartment / house / land / …
advertTypeRaw Agencija / Vlasnik / Investitor
priceTotal price in EUR
priceCurrencyEUR
pricePerSqmPrice per m² (read from card or computed)
areaSqmUsable surface area (kvadratura)
terrainAreaSqmPlot / terrain area (houses, land)
roomsNumeric room count (0.5 increments)
roomsLabelSerbian room label (garsonjera, dvosoban, …)
floor / totalFloorsFloor and total floors in building
buildingType / heatingType / yearBuiltConstruction details when present
country / city / municipality / district / microLocationParsed location hierarchy
street / fullAddressStreet and composed full address
latitude / longitudeCoordinates (detail-page only — null from list)
mainImageUrl / imageUrls / imageCountCover photo and gallery
advertiserId / advertiserName / advertiserUrl / advertiserTypeAdvertiser info
isRegistered, hasElevator, hasParking, hasGarage, hasTerrace, hasBalcony, isFurnishedFeature flags (detail-page only — typically null)
isExclusivetrue when the card carries the Ekskluziva tier tag
datePosted / dateValidFromListing dates when available
labelsTier tags (Premium, Top, VIP, …)
searchTransaction / searchPropertyType / searchLocation / searchUrlEcho of the input search parameters
scrapedAtISO-8601 scrape timestamp

Sample record

{
"adId": "5425647088741",
"detailUrl": "https://www.halooglasi.com/nekretnine/prodaja-stanova/fontana-svetao-za-adaptaciju/5425647088741?kid=4",
"title": "Fontana, svetao, za adaptaciju",
"transactionType": "sale",
"propertyType": "apartment",
"advertType": "Agencija",
"price": 220000,
"priceCurrency": "EUR",
"pricePerSqm": 3548,
"areaSqm": 62,
"rooms": 2,
"roomsLabel": "dvosoban",
"floor": "IX",
"city": "Beograd",
"municipality": "Opština Novi Beograd",
"district": "Fontana",
"microLocation": "Pariske komune",
"fullAddress": "Pariske komune, Fontana, Opština Novi Beograd, Beograd, Srbija",
"advertiserName": "BELIGRAD",
"advertiserType": "Agencija",
"labels": ["Premium"],
"scrapedAt": "2026-05-05T14:22:17.392Z"
}

💡 Use cases

  • Real-estate analysts & valuers — build Serbian price-per-m² indices and track market trends by city, municipality and property type.
  • Property investors — monitor new apartments and houses for sale under a target budget the moment they appear.
  • Real-estate agencies & portals — feed an aggregator, CRM or comparison site with fresh Halooglasi inventory.
  • Lead generation — filter by owner type to surface direct-from-owner listings or agency contacts for outreach.
  • Researchers & journalists — quantify housing supply, rental prices and advertiser composition across Serbia.
  • PropTech & data products — power dashboards and price alerts with structured Serbia real estate data.

❓ Frequently Asked Questions

Is scraping Halooglasi.com legal? The Actor collects only publicly visible listing data — no login or account is required. As with any scraping, use the data responsibly, respect Halooglasi's terms, and avoid republishing copyrighted text or photos verbatim. You are responsible for how you use the output.

Do I need an API key or a Halooglasi account? No. There is no official Halooglasi API. The Actor works entirely from public search pages — no login, no API key.

Why is a residential proxy recommended? Halooglasi sits behind Cloudflare and returns 403 from datacenter IPs. Apify Proxy with the RESIDENTIAL group and country RS gives reliable runs; the Actor automatically retries 403 / 429 / 503 responses with a fresh proxy session.

How much data can I get and how fast? About 200 listings in roughly 70 seconds with a residential proxy, including Cloudflare retries. Halooglasi displays up to ~9,000 results per location query — for a deep sweep, narrow with price and area ranges and run multiple tasks.

Can I filter by price, area, rooms, owner type or sort order? Yes. You can filter by transaction (sale/rent), property type, price range in EUR, surface area, room count and owner type (agency / owner / investor), and choose the sort order.

Why are coordinates and feature flags like parking always null? Those fields are only populated by Halooglasi's listing detail pages, not the search-results list this Actor reads. They are kept in the schema as null so you can merge in detail-page data later if needed.

What output formats are supported? Every run produces a structured dataset you can export to JSON, CSV, Excel or XML, or access through the Apify API.

⏰ Scheduling & integration

Schedule this Actor on Apify to refresh Serbia property data daily or hourly, and export results to JSON, CSV or Excel with one click. Use the Apify API, webhooks or integrations to push new Halooglasi listings straight into Google Sheets, a database, your CRM or a downstream data pipeline.

License

Apache-2.0


Changelog

  • 2026-05-25 — Maintenance & reliability pass: pulled the latest source and rebuilt the Actor on the current base image; build verified.

Last reviewed: 2026-05-25.