Kufar Scraper - Belarus Property Listings & Prices
Pricing
from $1.76 / 1,000 property listings
Kufar Scraper - Belarus Property Listings & Prices
Данные о недвижимости с Куфар: цены в BYN, USD и EUR, площадь, этаж, адрес, GPS, фото и контакты продавцов. Минск и все регионы, экспорт JSON/CSV.
Pricing
from $1.76 / 1,000 property listings
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Kufar.by Scraper — Belarus Real Estate Listings & Prices 🚀
🎉 The whole Belarusian property market in one run — 27,000 apartment adverts in 138 requests, with no page limit
Built for analysts, agencies and investors who need Minsk and the regions as a table, not as browser tabs
🔎 What is the Kufar.by Belarus Property Scraper — and when should you use it?
The Kufar.by Belarus Property Scraper turns public Kufar property adverts from anywhere in Belarus 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: Belarusian sale and rental adverts as rows. The asking price or monthly rent comes back in Belarusian roubles, US dollars, euros and Russian roubles at once, alongside floor area, kitchen area, plot size in sotkas and room count. Building facts follow: floor, floors in the building, construction year, wall material, renovation grade, condition, heating, water, sewage and gas. Every row also carries the street address the seller published, GPS coordinates and every photo at full size, plus the region and city, and for Minsk the micro-district and metro station. The seller block names who is advertising and whether it is an agency. Agency rows add the company's VAT number, its registered address and its estate-agency licence details. Switch on full details and each row also carries the seller's complete advert text instead of the 150-character teaser, the seller's feedback score and the video and 3D-tour flags.
Use something else when: the property is not in Belarus. Use Cian Scraper for Russia's leading property portal, with the same sale-and-rent row shape. Use Avito Real Estate Scraper for the Russian classifieds board, property section, including owner-listed stock. Use OLX Property Scraper for Poland, Ukraine, Romania, Bulgaria and Kazakhstan from one actor. This actor covers the property vertical Kufar publishes at re.kufar.by: apartments, houses and country cottages, rooms, commercial premises, land plots, garages and parking, and new-build developments, each for sale or for long-term rent. Daily and holiday lets moved to Kufar's travel vertical and are not part of it. Seller phone numbers sit behind Kufar's own click-to-call and are never read, and the site publishes only what is currently advertised, so there is no sold-price history to return.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/kufar-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 property listings and asking prices from Kufar.by using the Apify Actor `sian.agency/kufar-property-scraper`.Use it when I need: Belarusian sale and rental adverts as rows. The asking price or monthly rent comes back in Belarusian roubles, US dollars, euros and Russian roubles at once, alongside floor area, kitchen area, plot size in sotkas and room count. Building facts follow: floor, floors in the building, construction year, wall material, renovation grade, condition, heating, water, sewage and gas. Every row also carries the street address the seller published, GPS coordinates and every photo at full size, plus the region and city, and for Minsk the micro-district and metro station. The seller block names who is advertising and whether it is an agency. Agency rows add the company's VAT number, its registered address and its estate-agency licence details. Switch on full details and each row also carries the seller's complete advert text instead of the 150-character teaser, the seller's feedback score and the video and 3D-tour flags.Don't use it when: the property is not in Belarus — use cian-property-scraper or avito-property-scraper or olx-property-scraper instead.How to call it: set `propertyCategory` to one of `apartments`, `houses`, `rooms`, `commercial`, `land`, `garages` or `new-developments`, and `dealType` to `sale` or `rent`. For location, pick a `region` (Minsk city or one of the six regions) or name exact places in `cities`; for the capital, `minskDistricts` and `metroStations` narrow it to a neighbourhood or a station. All four location fields are pickers built from Kufar's own place index, so a name the site does not know is rejected up front rather than quietly widening the search. Narrow further with `minPrice`/`maxPrice` (read in whatever `currency` you chose), `rooms`, `minArea`/`maxArea`, `minPlotSotka`/`maxPlotSotka`, `minYearBuilt`/`maxYearBuilt`, `condition` and `sellerType`; anything a filter excludes is never saved and never billed. `includeDetails` opens each advert for its complete text, for an extra charge per advert. To expand adverts you already have, set `operation` to `detail` and pass `listingUrls`; to reach a facet the form does not expose, paste a re.kufar.by search address into `searchUrls`.Start with this input:{"operation": "search","propertyCategory": "apartments","dealType": "sale","region": "minsk-city","currency": "USD","maxResults": 200}Ask me which Belarusian region or cities to cover, whether they want sale or rental adverts, and whether the full seller text is worth the extra per-advert charge, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull two-room flats for sale in Minsk between $50,000 and $90,000 and rank the micro-districts by median price per square metre.
- Find owner-listed rentals in Gomel and Grodno posted this week, with the address and GPS point for each.
- List the agencies advertising in Минск-Мир with their VAT numbers, sorted by how much stock each one holds.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/kufar-property-scraper.md.
📋 Overview
Belarus has one property portal that matters, and nobody had turned it into data. Kufar carries around 70,000 live property adverts across seven categories: apartments, houses, rooms, commercial premises, land, garages and new builds. This Actor reads all of them, for sale and for rent.
Why thousands of professionals choose us:
- ✅ No page ceiling: a sweep drains to the last record. The full apartments category, 27,486 adverts, comes back in 138 requests with zero duplicates.
- ⚡ 200 adverts per request: a 5,000-row market extract finishes in about a minute.
- 🎯 70 typed fields per advert, read from Kufar's own attribute block rather than guessed from page text.
- 💰 $2.00 per 1,000 adverts, plus a $0.005 run start. Half the regional leader's rate.
- 💎 Belarusian geography properly modelled: six regions, 180 cities, Minsk's nine districts, 40 micro-districts and 33 metro stations, all picked from a list rather than typed.
- ✨ NEW: four currencies on every row. Belarusian sellers quote in roubles and dollars interchangeably, so a single-currency row cannot be compared with the next one.
✨ Features
- 🏠 Seven property sections: apartments, houses and dachas, rooms, commercial, land, garages, new-build developments.
- 🤝 Sale and rent, each row labelled, with rent terms and prepayment where the seller filled them in.
- 📍 GPS on every row, plus the street address the seller published.
- 🚇 Minsk at neighbourhood level: filter by micro-district or by metro station.
- 🏢 Agency intelligence: company VAT number, registered address and estate-agency licence on agency adverts.
- 🙋 Owner-only sourcing: one switch separates private sellers from agencies, and the split is exact.
- 💱 Prices in BYN, USD, EUR and RUB, plus price per square metre where the advert states it.
- 🖼️ Every photo as a full-size URL, not a thumbnail.
- 🔗 Paste a search address from re.kufar.by and every filter in it is honoured, including facets this form does not expose.
- 📄 Full seller text on demand: the search returns the first 150 characters, and one switch opens each advert for the rest.
🎬 Quick Start
Pick a category, pick sale or rent, press Start. Everything else is optional. The defaults already sweep Belarusian apartments for sale, newest first. Results land in a dataset you can download as JSON, CSV or Excel.
curl -X POST https://api.apify.com/v2/acts/sian.agency~kufar-property-scraper/runs?token=YOUR_TOKEN \-d '{"operation": "search", "propertyCategory": "apartments", "dealType": "sale", "region": "minsk-city"}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose the section
Pick a property category and whether you want adverts for sale or for rent.
Step 2: Choose where
Pick a region, or name specific cities. For Minsk you can go further and pick micro-districts or metro stations.
Step 3: Press Start
Raise Max listings if you want more than the first 200, then export the dataset.
That's it! In about a minute, you'll have:
- Up to 200 adverts per request, with 70 fields each
- Prices in four currencies, with price per square metre where Kufar publishes it
- A dataset ready for Excel, BigQuery, a notebook or an AI agent
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search sweeps a category; detail opens specific adverts |
propertyCategory | string | No | apartments, houses, rooms, commercial, land, garages, new-developments |
dealType | string | No | sale, rent or any |
region | string | No | Minsk city or one of the six regions; defaults to all of Belarus |
cities | array | No | Specific cities and district towns, picked from the list |
minskDistricts | array | No | Minsk micro-districts, picked from the list |
metroStations | array | No | Minsk metro stations, picked from the list |
currency | string | No | Which currency the price filters use: USD, BYN or EUR |
minPrice / maxPrice | integer | No | Price band in that currency; 0 means no bound |
rooms | array | No | Room counts to keep; 5 means five or more |
minArea / maxArea | integer | No | Floor area in square metres |
minPlotSotka / maxPlotSotka | integer | No | Plot size in sotkas (100 m²) |
minYearBuilt / maxYearBuilt | integer | No | Construction year band |
condition | string | No | new, secondary or any |
sellerType | string | No | agency, owner or anyone |
onlyWithPhoto | boolean | No | Skip adverts with no photograph |
newBuildingOnly | boolean | No | Only flats in newly built blocks |
keyword | string | No | Free-text search over titles and descriptions, in Russian |
sort | string | No | newest, oldest, cheapest, most-expensive |
maxResults | integer | No | Stop after this many adverts |
includeDetails | boolean | No | Open each advert for the full seller description |
searchUrls | array | No | Paste re.kufar.by search addresses instead of using the form |
listingUrls | array | No | Advert addresses or IDs for the detail operation |
Example:
{"operation": "search","propertyCategory": "apartments","dealType": "sale","region": "minsk-city","rooms": ["2", "3"],"minPrice": 40000,"maxPrice": 90000,"currency": "USD","maxResults": 1000}
Rental sweep with the full seller text:
{"operation": "search","propertyCategory": "apartments","dealType": "rent","cities": ["5", "9"],"includeDetails": true,"maxResults": 500}
📤 Output
Results are saved to the Apify dataset with 70 fields including:
| Field | Type | Description |
|---|---|---|
listingId | number | Kufar advert ID |
propertyTitle | string | Advert headline as the seller wrote it |
url | string | Link back to the advert |
price | number | Asking price or monthly rent, in your chosen currency |
priceByn / priceUsd / priceEur / priceRub | number | The same price in all four currencies Kufar publishes |
pricePerSqm | number | Price per square metre, where the advert states it |
area / kitchenArea / plotSotka | number | Floor area, kitchen area, plot size |
rooms / floor / totalFloors | number | Room count, floor, floors in the building |
yearBuilt / wallMaterial / renovation | number, string | Construction year, walls, renovation grade |
region / city / microDistrict / metroStations | string, array | Where it is, at four levels |
address / latitude / longitude | string, number | Street address and GPS point |
isAgency / sellerName / companyVatNumber | boolean, string | Who is selling, and their registry identifier |
imageUrls / imageCount | array, number | Every photo, full size |
descriptionText / isDescriptionTruncated | string, boolean | Seller text, and whether it is the teaser or the whole thing |
Example:
{"listingId": 1084905303,"propertyTitle": "Топ-локация у метро Минск Мир в рассрочку","url": "https://re.kufar.by/vi/1084905303","price": 51705.87,"priceCurrency": "USD","priceByn": 156136.22,"priceEur": 44444,"pricePerSqm": 1501,"dealType": "sale","propertyCategory": "Apartments","rooms": 1,"area": 29.6,"floor": 4,"totalFloors": 15,"yearBuilt": 2027,"wallMaterial": "Каркасно-блочный","renovation": "Без отделки","condition": "Новое","region": "Минск","city": "Октябрьский","microDistrict": "Минск-Мир","metroStations": ["Аэродромная"],"address": "Игоря Лученка ул, 22, Минск","latitude": 53.86430696970318,"longitude": 27.545774777770855,"isAgency": true,"sellerName": "ООО Международная риэлтерская компания ЭТАЖИ","companyVatNumber": "193981632","imageCount": 14,"listedAt": "2026-09-13T03:41:58Z"}
💼 Use Cases & Examples
1. Belarusian Property Market Analysis
Analysts and valuers who need Minsk and the regions as a comparable table.
Input: a category, a deal type and a region, or nothing at all for the whole country. Output: asking price, floor area, rooms, build year and wall material on every row. Use: price per square metre by district, and how stock splits between Soviet-era panel blocks and post-2015 construction.
2. Estate Agency Lead Generation
Proptech and CRM vendors selling into Belarusian agencies.
Input: set the seller field to agency. Output: company name, VAT number, registered address and estate-agency licence on every advert. Use: group by company to see who holds the stock in a district before you approach any of them.
3. Private-Owner Sourcing
Acquisition desks and iBuyers who want the half of the market no agency has signed.
Input: set the seller field to private owner. Output: the seller's own name, the street address and the GPS point. Use: build an approach list that has not already been worked by three agencies.
4. New Listing and Price-Change Monitoring
Aggregators and portals keeping a live mirror of Belarusian supply.
Input: a saved search sorted newest first, on a schedule. Output: everything posted since your last run. Use: keep the advert IDs you have seen, and pay only for what is new. Re-run later to see which adverts moved price and which disappeared.
5. Minsk Rental Yield Screening
Investors comparing neighbourhoods before they buy.
Input: two runs over the same micro-districts, one for sale and one for rent. Output: rooms, area, price and metro proximity on both sides. Use: a gross-yield picture per neighbourhood that no single Kufar page shows.
6. Commercial and Land Research
Developers and site finders working outside the residential market.
Input: the commercial or land category, with a plot-size band in sotkas. Output: premises type, offered area, utilities, and distance from the Minsk ring road. Use: shortlist plots and units without clicking through a thousand adverts.
7. Full-Country Data Extract
Data teams building a repeatable Belarusian market index.
Input: one category, no location filter, a high row budget. Output: the entire category in one dated dataset. Use: because the search has no page ceiling, the same query reruns identically next month.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/kufar-property-scraper').call({operation: 'search',propertyCategory: 'apartments',dealType: 'sale',region: 'minsk-city',maxResults: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/kufar-property-scraper').call(run_input={'operation': 'search','propertyCategory': 'apartments','dealType': 'rent','region': 'minsk-city','maxResults': 500,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['price'], item['city'], item['area'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~kufar-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "search", "propertyCategory": "houses", "dealType": "sale", "maxResults": 200}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule, daily or weekly
- HTTP Request: Call the Actor API with your saved search
- Process: Drop advert IDs you have already stored
- Action: Append the new rows to a sheet, a database or a Slack alert
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 adverts per run — every field, every filter, same data
- No credit card required
- Enough to check the fields against your own model before you commit
PAID Tier (Production Ready)
- Unlimited adverts per run, up to 50,000 in a single sweep
- 200 adverts per request, so a 5,000-row extract takes about a minute
- Pay-per-result: charged per advert returned, never for a search that matched nothing
💰 $2.00 per 1,000 adverts plus a $0.005 run start. That is half the regional leader's rate, and the only Kufar Actor built for property rather than for the whole classifieds board.
❓ Frequently Asked Questions
Q: How many adverts can one search return? A: As many as match. Kufar pages by cursor with no depth limit, so a run drains to the last record. The whole apartments category, about 27,000 adverts, comes back in 138 requests. Use Max listings to stop earlier.
Q: Do I need an API key, a login or a proxy? A: No. Pick a category and press Start.
Q: Which currency are the prices in? A: All four that Kufar publishes: Belarusian roubles, US dollars, euros and Russian roubles. The main price field follows the currency you picked. Belarusian sellers quote in different currencies, so a single-currency row would not be comparable.
Q: Can I get seller phone numbers? A: No. Kufar reveals a phone only behind its own click-to-call, and this Actor does not touch it. You get the seller's published name, and for agencies the company block with its VAT number, registered address and licence details.
Q: What does the full-details switch add? A: The complete seller description. The search returns its first 150 characters, and on most adverts the terms, the viewing arrangements and the agent's own notes sit past that cut. It also adds the seller's feedback score and the video and 3D-tour flags. The micro-district, the metro station, every photo and all four currencies are already on the listing row.
Q: Can I paste a Kufar search address? A: Yes. Build the search on re.kufar.by, copy the address bar into Search URLs, and the category, deal type, location and filters in it are used.
Q: Does it cover the whole of Belarus? A: Yes. All six regions plus Minsk, every city Kufar lists, and all seven property categories for sale and for rent. Kufar is a Belarusian site, so nothing outside Belarus is in this dataset.
Q: What output formats are available? A: JSON, CSV and Excel, straight from the Apify dataset.
🐛 Troubleshooting
A search returned no adverts
- Land plots and new-build developments are sale-only on Kufar, so a rent-only run against them is empty by definition.
- Micro-districts and metro stations only exist for Minsk adverts; using one outside the capital empties the search.
- Clear the narrowest filter and widen the location.
A city I want is not in the list
- Kufar groups the smaller towns of each region under "Другие города" (Other towns). Pick that entry, or leave the cities field empty and use the region instead.
The run stopped before Max listings
- On the FREE tier every run stops at 25 adverts. Add credits in Apify Console to lift it.
- A search that reaches the end of its result set stops there; the log line says so.
An advert link came back as not found
- Belarusian adverts are removed the moment a property is taken. Re-run the search to pick up what is live today.
⚖️ Is it legal to scrape data?
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.
Kufar is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Kufar.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools