OLX.ba Property Scraper - Bosnia Real Estate Listings avatar

OLX.ba Property Scraper - Bosnia Real Estate Listings

Pricing

from $1.32 / 1,000 property listings

Go to Apify Store
OLX.ba Property Scraper - Bosnia Real Estate Listings

OLX.ba Property Scraper - Bosnia Real Estate Listings

Export olx.ba (PIK.ba) property adverts across Bosnia and Herzegovina: price in KM and EUR, m², rooms, floor, heating, address, GPS, seller type and photos.

Pricing

from $1.32 / 1,000 property listings

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

4 days ago

Last modified

Share

OLX.ba Scraper - Bosnia Property Listings & Prices 🏠

SIÁN Agency Store Halo Oglasi Njuskalo 4zida

🎉 Every olx.ba property advert as a row, with area, rooms, floor, address and GPS

For agencies, investors and analysts who need Sarajevo, Banja Luka, Mostar and the rest of Bosnia and Herzegovina in a spreadsheet

🔎 What is the OLX.ba Bosnia Property Scraper — and when should you use it?

The OLX.ba Bosnia Property Scraper turns public olx.ba (PIK.ba) property adverts from anywhere in Bosnia and Herzegovina 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: Bosnian sale, rental and short-term property adverts as rows. The price comes back as a number in KM (BAM) next to the text the site shows, plus EUR at the fixed 1.95583 rate and price per m². Each row carries area, rooms, bathrooms, floor, heating, condition, year built, land-registry status, amenities, the street address, GPS, the town, canton and entity, every photo, and whether the seller is a private person or a business account.

Use something else when: the property is in Serbia or Croatia rather than Bosnia and Herzegovina. Use Halo Oglasi Scraper for Serbia's biggest property classifieds, with price per m², rooms, floor and heating. Use Njuškalo Scraper for Croatia's largest classifieds site, property section included. This actor reads the property section of olx.ba only: apartments, houses, land, offices and shops, holiday homes, garages, warehouses, prefab buildings, rooms and short-term apartments. Cars, phones and jobs are not read. Seller phone numbers are not returned.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/olx-ba-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 olx.ba in Bosnia and Herzegovina using the Apify Actor `sian.agency/olx-ba-property-scraper`.
Use it when I need: Bosnian sale, rental and short-term property adverts as rows. The price comes back as a number in KM (BAM) next to the text the site shows, plus EUR at the fixed 1.95583 rate and price per m². Each row carries area, rooms, bathrooms, floor, heating, condition, year built, land-registry status, amenities, the street address, GPS, the town, canton and entity, every photo, and whether the seller is a private person or a business account.
Don't use it when: the property is in Serbia or Croatia rather than Bosnia and Herzegovina — use halooglasi-property-scraper or njuskalo-property-scraper instead.
How to call it: set `propertyType` to `apartments`, `houses`, `land`, `commercial`, `short-term`, `holiday-homes`, `garages`, `warehouses`, `prefab`, `rooms`, `other` or `all`, `listingType` to `sell`, `rent` or `any`, and `region` to a canton or region slug such as `kanton-sarajevo`, `banja-luka`, `tuzlanski` or `hercegovacko-neretvanski` (or `all`). Narrow with `cities` (town names like Mostar, Banja Luka or Ilidža), `sellerType` (`private` or `business`), `searchQuery` (a keyword), `minPrice`/`maxPrice` in KM and `minArea`/`maxArea` in m². `sortBy` is `newest`, `price-asc` or `price-desc`.
Start with this input:
{
"operation": "search",
"propertyType": "apartments",
"listingType": "sell",
"region": "kanton-sarajevo",
"sellerType": "all",
"sortBy": "newest",
"maxResults": 50
}
Ask me which canton or towns to cover, sale or rent, the property type and a price range in KM, and whether they want private sellers only, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Pull apartments for sale in Sarajevo under 300,000 KM and rank municipalities by median price per m².
  • List private-seller houses for sale around Banja Luka with land-registry status and GPS on each row.
  • Compare nightly rates of short-term apartments in Sarajevo and Mostar.

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

📋 Overview

olx.ba, now branded PIK.ba, is the largest classifieds site in Bosnia and Herzegovina. Most of the country's property is advertised in its Nekretnine section. About 15,500 adverts are live at any time: apartments, houses, land, offices and shops, holiday homes, garages and per-night apartments. This actor turns any search on it into clean rows.

What you get:

  • ✅ No login, no API key, no proxy to set up. Pick a property type and a canton and press Start.
  • ⚡ Every advert opened for its details, so area, rooms, floor, heating and the address are columns, not text to parse.
  • 🎯 Private sellers or businesses, your choice. The site's own seller filter is applied, so a private-only run bills only private adverts.
  • 💰 $1.50 per 1,000 adverts at the Bronze tier, plus a $0.005 run start.
  • 💎 Prices in KM with EUR beside them at the fixed 1.95583 rate, plus price per m² on sales.
  • ✨ NEW: towns by name in Latin or Cyrillic, so Banja Luka and Бања Лука both work.

✨ Features

  • 🏢 Eleven property sections: apartments, houses, land, offices and shops, short-term apartments, holiday homes, garages, warehouses, prefab buildings, rooms and other property, or all of them.
  • 🗺️ All 17 cantons and regions: the ten Federation cantons, the six Republika Srpska regions and Brčko District.
  • 🏙️ Town filter by name: Mostar, Tuzla, Ilidža. Sarajevo selects all four city municipalities.
  • 🙋 Seller filter: private sellers only, agencies and business accounts only, or both.
  • 🔤 Keyword search in the local language, such as garsonjera or novogradnja.
  • 💵 Price range in KM and area range in m², applied by the site within each section.
  • 🧾 Structured facts: rooms, bathrooms, floor, storeys, heating, condition, furnishing, year built, facing and land-registry status.
  • ✨ Amenities list (lift, parking, balcony, air conditioning) plus every attribute the seller filled in.
  • 🌐 GPS, town, canton and entity on every advert, and the street address where the seller gave one.
  • 🖼️ Every photo plus a thumbnail for the dataset view.

🎬 Quick Start

Open the actor and press Start: apartments for sale in Kanton Sarajevo are already selected. Change the section, canton or towns first if you want something else. Results land in a dataset you can download as JSON, CSV or Excel.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~olx-ba-property-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"propertyType":"apartments","listingType":"sell","region":"kanton-sarajevo","maxResults":50}'

🚀 Getting Started (3 Simple Steps)

A property section, then for sale or for rent.

Step 2: Choose where

Pick a canton or region, or type towns. Add a price range, an area range, a keyword or private sellers only.

Step 3: Press Start

Raise Max listings if you want more than the first 50.

In a minute or two you will have:

  • Adverts with price, area, rooms and floor as columns
  • GPS coordinates, town and canton for every advert
  • A seller type on every row, so you can split private sellers from agencies

📥 Input Configuration

FieldTypeRequiredDescription
propertyTypestringNoapartments, houses, land, commercial, short-term, holiday-homes, garages, warehouses, prefab, rooms, other or all. Defaults to apartments
listingTypestringNosell, rent or any. Defaults to sell. Ignored for short-term apartments
regionstringNoCanton or region slug such as kanton-sarajevo, banja-luka, tuzlanski, or all. Defaults to kanton-sarajevo
citiesarrayNoTown names, for example Mostar or Ilidža. Replaces the canton
sellerTypestringNoall, private or business
searchQuerystringNoA word the advert must contain
minPrice / maxPriceintegerNoPrice range in KM (monthly for rent)
minArea / maxAreaintegerNoArea range in m²
sortBystringNonewest, price-asc or price-desc
maxResultsintegerNoStop after this many adverts. Defaults to 50

Example: private-seller apartments for sale in Sarajevo under 300,000 KM

{
"propertyType": "apartments",
"listingType": "sell",
"region": "kanton-sarajevo",
"sellerType": "private",
"maxPrice": 300000,
"maxResults": 100
}

Example: rentals in two towns

{
"propertyType": "apartments",
"listingType": "rent",
"cities": ["Banja Luka", "Mostar"],
"maxResults": 100
}

📤 Output

Each advert is one row with 50 fields. The most useful ones:

FieldTypeDescription
propertyTitlestringThe advert title
pricenumberPrice in KM; empty when the price is on request
priceTextstringThe price as the site shows it, for example 289.000 KM or Na upit
priceEurnumberPrice in EUR at the fixed 1.95583 rate
pricePerSqmnumberKM per m², on sales
listingTypestringsale, rent or short-term
areaSqmnumberArea in m²
rooms / roomsTextnumber / stringRooms as a number, and the site's wording (Dvosoban (2), Garsonjera)
floorstringFloor, for example 8 or Prizemlje
heatingstringHeating type
landRegisteredbooleanRegistered in the land registry (uknjiženo / ZK)
addressstringStreet address, where the seller gave one
city / canton / entitystringTown, canton or region, and FBiH, RS or Brčko District
latitude / longitudenumberGPS coordinates
sellerTypestringprivate or business
amenitiesarrayAmenities ticked on the advert
attributesobjectEvery attribute the seller filled in, by its site name

Example row:

{
"listingId": 76866397,
"url": "https://olx.ba/artikal/76866397",
"propertyTitle": "Ilidža strogi centar sa pogledom na rijeku i zeleni pojas",
"price": 1500,
"priceText": "1.500 KM",
"priceEur": 766.94,
"listingType": "rent",
"category": "Stanovi i apartmani",
"propertySubtype": "Stan",
"areaSqm": 76,
"rooms": 3,
"roomsText": "Trosoban (3)",
"bathrooms": "1",
"floor": "1",
"condition": "Renoviran",
"heating": "Centralno (gradsko)",
"furnishing": "Namješten",
"yearBuilt": "1990 do 1999",
"orientation": "Sjeveroistok",
"landRegistered": true,
"amenities": ["Balkon", "Internet", "Kablovska TV", "Klima", "Video nadzor"],
"address": "Ibrahima ljubovića",
"city": "Ilidža",
"canton": "Kanton Sarajevo",
"entity": "Federacija BiH",
"latitude": 43.8319819,
"longitude": 18.3040207,
"sellerType": "private",
"photoCount": 25,
"renewedAt": "2026-10-03T15:24:28.000Z"
}

💼 Use Cases & Examples

1. Private-seller leads for agencies

Agencies looking for listings to win set Seller to Private sellers only.

Input: a canton or towns, Private sellers only Output: owner-posted adverts with town, address, price and photos Use: about half of olx.ba's property adverts are private, and the advert link is where you make contact.

2. Asking-price tracking

Analysts run the same canton every week and compare.

Input: a section, a canton, Newest Output: price in KM and EUR, price per m², area and rooms Use: price movement becomes a subtraction between two exports, not a parsing job.

3. Rental yield for investors

Investors run a town once for sale and once for rent.

Input: the same town and section, sell then rent Output: both halves of a yield calculation on the same fields Use: compare monthly rent with asking price per m² in Sarajevo, Banja Luka or Tuzla.

4. Short-term rental supply

Hosts and tourism analysts track the Stan na dan section.

Input: Short-term apartments, a canton Output: nightly price, beds, check-in time, town and GPS from the advert attributes Use: see how many per-night apartments compete in a neighbourhood and at what rate.

5. Mapping and location analysis

GIS teams load the rows straight into a map.

Input: any section, All of Bosnia and Herzegovina Output: GPS, town, canton and entity on every row Use: heat-map asking prices or supply by municipality.

6. Due diligence screening

Buyers' advisers filter adverts before calling.

Input: a section and a price range Output: land-registry status, condition, year built and the agency's brokerage-contract number in the site's own wording Use: drop adverts that are not in the land registry before anyone spends time on them.

🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/olx-ba-property-scraper').call({
propertyType: 'apartments',
listingType: 'sell',
region: 'kanton-sarajevo',
maxResults: 100,
});
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/olx-ba-property-scraper').call(
run_input={'propertyType': 'houses', 'listingType': 'sell', 'cities': ['Banja Luka'], 'maxResults': 100}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['propertyTitle'], item.get('price'), item.get('areaSqm'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~olx-ba-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"propertyType":"apartments","listingType":"rent","cities":["Mostar"],"maxResults":50}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: a weekly schedule
  2. HTTP Request: start the actor with your saved input
  3. Process: read the dataset items as JSON
  4. Action: append new adverts to a sheet, or alert on price drops

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 adverts per run with every field
  • No credit card required
  • Enough to check the data before you scale up
  • No row cap per run
  • Pay per advert returned, at $1.50 per 1,000 on Bronze and less on higher plans
  • A search that matches nothing is not billed for rows

Each advert takes about one second, so 1,000 adverts take around 15 to 20 minutes.

🔗 View current pricing

❓ Frequently Asked Questions

Q: Do I need an olx.ba account, an API key or a proxy? A: No. Pick a property type and a canton and press Start. There is no proxy setting and no separate bill.

Q: Is this the same site as PIK.ba? A: Yes. olx.ba now runs under the PIK.ba brand, and pik.ba forwards to olx.ba. Same adverts, same advert numbers.

Q: Why is there no phone number? A: olx.ba shows the phone only after a click, and it is personal data. The row carries the seller's public username, seller ID and profile link, plus the advert link, which is where a buyer makes contact.

Q: What currency are prices in? A: Convertible marks (KM, BAM), as the site shows them. Price (EUR) uses the fixed currency-board rate of 1.95583 KM per euro, so it never drifts. Adverts with the price on request have no number and are flagged.

Q: Can I search one town? A: Yes. Type it in Towns, for example Mostar or Banja Luka. Sarajevo covers all four city municipalities; type Ilidža or Vogošća for those separately. Names work with or without accents, and in Cyrillic.

Q: Why does a price-ordered search return fewer adverts? A: olx.ba leaves adverts with the price on request out of searches ordered by price. Use Newest to see every advert.

Q: How is sale or rent decided? A: From the advert's own "Vrsta oglasa" field, which is what the site's filter uses. Short-term apartments are always per-night lets and are labelled short-term.

Q: What output formats are available? A: JSON, CSV, Excel, XML and HTML from the Apify dataset, or straight from the API.

🐛 Troubleshooting

The run stopped with "is not a town olx.ba lists"

  • Type the town the way olx.ba lists it: Mostar, Banja Luka, Tuzla, Ilidža
  • Or leave Towns empty and pick the canton instead

No adverts match

  • Widen the price or area range, or clear the keyword
  • Pick a wider canton, or All of Bosnia and Herzegovina

All property with a sale/rent or area filter is slow

  • With All property each advert is checked after it is opened, and the ones that do not match are skipped without a charge
  • Pick a single section to have the site apply the filter directly

Fewer adverts than the site shows

  • A price-ordered search leaves out adverts with the price on request; use Newest

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.

OLX.ba and PIK.ba are trademarks of their respective owners (Pik d.o.o.). This actor is not affiliated with, endorsed by, or sponsored by OLX.ba, PIK.ba, Pik d.o.o. or OLX Group.

🤝 Support

Join our active support community


Built by SIÁN Agency | More Tools