# Nepremicnine.net Scraper - Slovenia Property Listings & Prices (`sian.agency/nepremicnine-property-scraper`) Actor

Scrape Nepremicnine.net listings across Slovenia: asking price, area, rooms, floor, build year, photos and agency contacts. Sale, rent and wanted ads, in Slovenian.

- **URL**: https://apify.com/sian.agency/nepremicnine-property-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** Real estate, Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.88 / 1,000 property searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Nepremicnine.net Scraper - Slovenia Property Listings & Prices 🚀

[![Store SIÁN Agency](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Store Njuškalo Scraper](https://img.shields.io/badge/Store-Nju%C5%A1kalo%20Scraper-1AE392)](https://apify.com/sian.agency/njuskalo-property-scraper?fpr=sian) [![Store Sreality Scraper](https://img.shields.io/badge/Store-Sreality%20Scraper-1AE392)](https://apify.com/sian.agency/sreality-property-scraper?fpr=sian) [![Store Imot.bg Scraper](https://img.shields.io/badge/Store-Imot.bg%20Scraper-1AE392)](https://apify.com/sian.agency/imot-property-scraper?fpr=sian)

#### 🎉 Every Nepremicnine.net advert, in Slovenian, with the wanted-ad boards no rival tool reads

##### For analysts pricing the Slovenian market, agencies sourcing stock and leads, and anyone tired of scrolling region by region by hand

### 🔎 What is the Nepremicnine.net Scraper - Slovenia Property Listings & Prices — and when should you use it?

The **Nepremicnine.net Scraper - Slovenia Property Listings & Prices** turns Nepremicnine.net listings for any Slovenian region: sale, rent and the wanted-ad boards 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:** Slovenian property rows from Nepremicnine.net: asking price or monthly rent, price per square metre, area, rooms, floor, build year, photos, the agency and its direct-dial numbers. Thirteen regions plus the whole-country view and Croatia; town and Ljubljana-district pages via a pasted search URL.

**Use something else when:** the property data you need is not on Nepremicnine.net. Use [Njuškalo Scraper](https://apify.com/sian.agency/njuskalo-property-scraper?fpr=sian) for Croatia's biggest classifieds site — property adverts, sale and rental, same row shape. Use [Sreality Scraper](https://apify.com/sian.agency/sreality-property-scraper?fpr=sian) for Czech asking prices, area and agency contacts from the country's leading portal. Use [Imot.bg Scraper](https://apify.com/sian.agency/imot-property-scraper?fpr=sian) for Bulgaria's longest-running portal — prices, price-cut flags and agency leads. This actor covers the four listing sections Nepremicnine.net publishes — for sale (prodaja), for rent (oddaja) and the two wanted-ad boards (nakup, najem) — across its region list and any pasted town or district address. Sold history, agency statistics pages and the portal's paid promotion products are out of scope; the portal publishes only what is currently on the market.

### 🤖 Use with AI agents

Already connected to the [Apify MCP server](https://mcp.apify.com)? Just ask for this Actor by name: sian.agency/nepremicnine-property-scraper

**Your agent can pay for its own runs.** This Actor is eligible for [agentic payments](https://docs.apify.com/platform/actors/publishing/monetize), so an agent can discover it, run it and settle the bill over [x402](https://www.x402.org/) (USDC on Base) or [Skyfire](https://www.skyfire.xyz/) — 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:

```text
I want Nepremicnine.net property rows and prices for any Slovenian region (or Croatia) using the Apify Actor `sian.agency/nepremicnine-property-scraper`.

Use it when I need: Slovenian property rows from Nepremicnine.net: asking price or monthly rent, price per square metre, area, rooms, floor, build year, photos, the agency and its direct-dial numbers. Thirteen regions plus the whole-country view and Croatia; town and Ljubljana-district pages via a pasted search URL.

Don't use it when: the property data you need is not on Nepremicnine.net — use njuskalo-property-scraper or sreality-property-scraper or imot-property-scraper instead.

How to call it: give `regions` a list from the picker (ljubljana-mesto, podravska, slovenija, hrvaska — all 16 the portal publishes) and set `dealType` to `prodaja` for sale, `oddaja` for rent, or `nakup`/`najem` for the wanted-ad boards; add `propertyTypes` and price or area bounds to narrow, or paste town and district addresses such as https://www.nepremicnine.net/oglasi-prodaja/podravska/maribor/ into `searchUrls`.

Start with this input:
{
  "operation": "search",
  "dealType": "prodaja",
  "regions": [
    "ljubljana-mesto"
  ],
  "propertyTypes": [
    "stanovanje"
  ],
  "maxResults": 200
}

Ask me which Slovenian regions to cover, whether the buyer wants sale adverts, rent adverts or one of the wanted-ad boards, and how many results the run should stop at, then run the Actor and summarise the results as a table.
```

**Things you can ask your agent for:**

- *Pull every two-room flat for sale in Ljubljana under 300,000 euro with the price per square metre and the agency phone.*
- *List rental flats in Podravska with the monthly rent, area and agency, cheapest first.*
- *Show the wanted-to-buy adverts (nakup) for Ljubljana flats with the budget and phone number on each.*

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at [apify.com/sian.agency/nepremicnine-property-scraper.md](https://apify.com/sian.agency/nepremicnine-property-scraper.md).

### 📋 Overview

**Nepremicnine.net is where Slovenia's property market actually happens.** Around 1.6 million visits a month — roughly 24 times the number-two Slovenian property site — and listings from national agency chains down to owners posting a phone number. This Actor reads it the way the site publishes it and hands you the rows.

**Why professionals choose us:**

- ✅ **The portal's own structured data, not guesswork**: every search card carries schema.org markup, and this Actor reads the price, currency and agency straight from it, so a layout tweak cannot silently change what a price is
- ⚡ **25 listings per request**: a 200-listing sweep of Ljubljana flats is 8 requests and finishes in seconds
- 🎯 **Slovenian that survives the trip**: č, š and ž arrive exactly as the portal publishes them, in JSON, CSV and Excel alike
- 💰 **$1.00 per 1,000 listings**: under the only live rival, with a richer row and no monthly gate
- 🛒 **The wanted-ad boards**: Nakup and Najem are where buyers and renters post budgets and phone numbers, demand-side rows no rival sells
- 📄 **Full details as a checkbox**: the complete advert text, every photo, the attribute list with energy class and the agency's direct contacts

### ✨ Features

- 🔍 **Two operations in one Actor**: search Nepremicnine.net's listing pages, or expand specific listings by URL
- 🇸🇮 **Every region the portal indexes**: 13 statistical regions, the whole-country view, Croatia and "other countries", picked from a list rather than typed
- 🏠 **All 7 property types**: apartments, houses, weekend houses, land, commercial premises, garages and holiday properties
- 🤝 **Four sections in the same Actor**: for sale, for rent, and the two wanted-ad boards
- 🏘️ **Town and district reach**: Maribor, Ptuj or Ljubljana's five districts via a pasted address
- 📊 **Price per square metre computed for you**: on every row, sale or rental, no spreadsheet formula needed
- 📄 **Full details as a paid add-on**: untruncated advert text, every photo, the attribute list, the energy class and the agency's office contacts
- 🔗 **Paste a URL instead**: any Nepremicnine.net search address works, including pages the form does not reach

### 🎬 Quick Start

Pick a region, pick a section, press Start. The defaults return Ljubljana sale listings, so a run with no configuration at all still gives you real data. Everything below is optional narrowing.

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~nepremicnine-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"search","dealType":"prodaja","regions":["ljubljana-mesto"],"maxResults":100}'
```

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Choose your regions

Pick one or more from the list. Ljubljana city and Ljubljana surroundings are separate entries; Slovenija is the whole country in one search; Hrvaška carries the Croatian coastal stock.

#### Step 2: Choose the section, and the property types

Prodaja for sale adverts, Oddaja for rent adverts, Nakup and Najem for the wanted-ad boards. Leave the property-type list empty to sweep everything, or pick the types you care about.

#### Step 3: Press Start, then export

Watch the run log count the pages. When it finishes, download JSON, CSV or Excel from the dataset, or open the HTML report for a summary with the listing links already collected.

**That's it! In under a minute, you'll have:**

- Every matching listing with price, area, rooms, floor, build year and agency
- Price per square metre already calculated on each row
- A copy-ready list of listing links and contact numbers

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `operation` | string | No | `search` (default) or `detail` |
| `regions` | array | No | Nepremicnine.net regions, e.g. `ljubljana-mesto`, `podravska`; defaults to Ljubljana city |
| `dealType` | string | No | `prodaja` for sale (default), `oddaja` for rent, `nakup`/`najem` for the wanted-ad boards |
| `propertyTypes` | array | No | Nepremicnine.net property types; empty means every type |
| `maxResults` | integer | No | Whole-run listing budget, default 100 |
| `includeDetails` | boolean | No | Open each advert for the full text, all photos and agency contacts |
| `minPrice` / `maxPrice` | integer | No | Price bounds in euros; 0 means no bound |
| `minArea` / `maxArea` | integer | No | Area bounds in square metres; 0 means no bound |
| `searchUrls` | array | No | Nepremicnine.net search addresses, including town and district pages |
| `listingUrls` | array | No | Nepremicnine.net advert addresses, for the `detail` operation |

**Example:**

```json
{
  "operation": "search",
  "dealType": "prodaja",
  "regions": ["ljubljana-mesto"],
  "propertyTypes": ["stanovanje"],
  "maxPrice": 300000,
  "maxResults": 500
}
```

**The wanted-to-buy board for Ljubljana flats:**

```json
{
  "operation": "search",
  "dealType": "nakup",
  "regions": ["ljubljana-mesto"],
  "propertyTypes": ["stanovanje"],
  "maxResults": 200
}
```

**Expand specific listings:**

```json
{
  "operation": "detail",
  "listingUrls": [
    { "url": "https://www.nepremicnine.net/oglasi-prodaja/crnuce-nadgorica-zasavska-cesta-stanovanje_7290794/" }
  ]
}
```

### 📤 Output

Results are saved to the Apify dataset with **40+ fields**, including:

| Field | Type | Description |
|-------|------|-------------|
| `listingId` | string | Nepremicnine.net listing number |
| `propertyTitle` | string | The advert headline, in Slovenian |
| `url` | string | Canonical listing address |
| `price` | number | Asking price, or monthly rent for a rental |
| `currency` | string | Reported, never assumed |
| `pricePerSqm` | number | Price divided by area, computed on every row |
| `dealType` / `sectionLabel` | string | Which board the row came from, in English and Slovenian |
| `propertyTypeLabel` / `rooms` | string | Type as the portal names it, and the room count ("3-sobno") |
| `area` / `landArea` | number | Built area and land, both in square metres |
| `floor` / `buildYear` | string, number | Floor as the portal writes it ("1/3"), and the build year |
| `bedrooms` / `bathrooms` | number | Room counts from the advert's attribute list (`includeDetails`) |
| `energyClass` / `furnishing` | string | Energy class with consumption, and furnishing (`includeDetails`) |
| `locationText` / `region` | string | Where the property is |
| `promotion` | string | The portal's own badges ("Ne spreglejte", "TOP novogradnja") |
| `contactPhone` / `agencyPhones` | string, array | The advert phone, and the agency's numbers with contact names |
| `agencyName` / `agencyAddress` / `agencyUrl` | string | The agency and its page on the portal |
| `photos` / `photoCount` | array, number | Photo URLs and how many there are |
| `descriptionText` | string | The agent's full advert text (`includeDetails`) |

**Example:**

```json
{
  "listingId": "7290794",
  "url": "https://www.nepremicnine.net/oglasi-prodaja/crnuce-nadgorica-zasavska-cesta-stanovanje_7290794/",
  "propertyTitle": "ČRNUČE, NADGORICA, ZASAVSKA CESTA",
  "dealType": "sale",
  "sectionLabel": "Prodaja",
  "propertyTypeLabel": "Stanovanje",
  "rooms": "3-sobno",
  "price": 535000,
  "currency": "EUR",
  "priceText": "535.000,00 €",
  "pricePerSqm": 5184.11,
  "area": 103.2,
  "floor": "1",
  "buildYear": 2025,
  "promotion": "Ne spreglejte",
  "photoCount": 30,
  "contactPhone": "041/694-266",
  "agencyName": "Agencija Galileja, Suzana Tomašić s.p.",
  "agencyUrl": "https://www.nepremicnine.net/nepremicninske-agencije/agencija-galileja-suzana-tomasic-sp_3173/"
}
```

### 💼 Use Cases & Examples

#### 1. Slovenian asking-price index

**A property analyst measuring what a region really asks per square metre.**

**Input:** one or more regions, all property types, a high `maxResults`
**Output:** every listing with price, area and price per square metre already computed
**Use:** group by region and build the index the portal's own page-level average cannot give you

#### 2. Rental yield screening

**An investor comparing what buying costs against what renting earns.**

**Input:** the same region twice, once `prodaja` and once `oddaja`
**Output:** sale rows and rent rows with matched area and room-count fields
**Use:** join them on size and rooms for a gross-yield picture per region no single page shows

#### 3. Estate agency lead generation

**An agency or a proptech vendor mapping who holds the stock in a region.**

**Input:** the region, the property types, `includeDetails: true`
**Output:** agency name, direct-dial numbers, portal page and logo on every row
**Use:** group by agency to see who holds the stock in Kranj, Celje or Koper before you approach them

#### 4. Wanted-ad prospecting

**An acquisitions desk working the demand side directly.**

**Input:** `dealType: "nakup"` or `"najem"`, a region, a property type
**Output:** buyers and renters with their budget, size requirement and phone number
**Use:** call the matching buyers and renters the same day they post; no rival tool reads these boards

#### 5. New listing monitoring

**A buyer's agent keeping watch without paying twice for what they already have.**

**Input:** a saved search on a schedule, `includeDetails` on
**Output:** newest-first rows; keep the IDs you have seen and each run is a clean delta
**Use:** pay only for what appeared since yesterday

#### 6. Coastal and cross-border coverage

**A buyer comparing Slovenian and Croatian coastal stock in one schema.**

**Input:** `regions: ["severna-primorska", "hrvaska"]`
**Output:** Istrian and Kvarner listings with the same fields as Slovenian rows
**Use:** one export, one schema, no second tool

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/nepremicnine-property-scraper').call({
  operation: 'search',
  dealType: 'prodaja',
  regions: ['ljubljana-mesto'],
  propertyTypes: ['stanovanje'],
  maxResults: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/nepremicnine-property-scraper').call(
    run_input={
        'operation': 'search',
        'dealType': 'oddaja',
        'regions': ['podravska'],
        'maxResults': 200,
    }
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item['propertyTitle'], item['price'], item['pricePerSqm'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~nepremicnine-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"search","dealType":"nakup","regions":["ljubljana-mesto"],"propertyTypes":["stanovanje"]}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: a daily schedule, or a webhook from your own system
2. **HTTP Request**: call the Actor's run-sync endpoint with your saved input
3. **Process**: filter the returned rows on price per square metre or region
4. **Action**: append to a sheet, upsert into your CRM, or send the new listings to Slack

### 📊 Performance & Pricing

#### FREE Tier (Try It Now)

- **25 listings** per run, with every field and every filter available
- No credit card required
- Enough to check the data before you commit to a sweep

#### PAID Tier (Production Ready)

- **Unlimited** listings per run, across as many regions as you configure
- Pay-per-result: charged per listing saved, never for an advert your filters excluded
- Full details available as a per-listing add-on, only when you switch it on

💰 **$1.00 per 1,000 listings**, under the only live rival on the Store. The wanted-ad boards, price per square metre, the promotion badges and the agency contacts all sit on the same row.

🔗 [View current pricing](https://apify.com/sian.agency/nepremicnine-property-scraper?fpr=sian)

### ❓ Frequently Asked Questions

**Q: Do I need a proxy or a browser for this?**
A: No. Nepremicnine.net challenges plain datacentre requests, and the actor handles the route itself, the same way a browser in Slovenia gets the pages. There is no proxy setting because which route to use is our cost decision, not something you should have to know.

**Q: How many listings can I get per run?**
A: FREE tier: 25 per run. PAID tier: as many as you budget for. The portal pages each search by its own count (25 listings a page), so a wide sweep is split by property type, region or pasted addresses rather than one long page.

**Q: Will the Slovenian text come through correctly?**
A: Yes. The actor reads the structured data the portal embeds in its own pages, so prices arrive as numbers in euros, sizes as square metres, and every Slovenian name (districts, agencies, streets, č š ž and all) arrives exactly as Nepremicnine.net publishes it.

**Q: What are the wanted-ad sections?**
A: Alongside adverts, the portal runs two boards where buyers (Nakup) and renters (Najem) post what they are looking for: location, size, budget and usually a phone number. Choose "Wanted: buying" or "Wanted: renting" in the Section dropdown to read those boards instead of the adverts.

**Q: What is the difference between a listing row and full details?**
A: A listing row carries everything on the search card: price, area, rooms, floor, build year, the card text, thumbnails, the agency and its phone. Full details opens the advert itself and adds the untruncated text, every photo, the attribute list, the energy class, the land size and the agency's address, website and direct-dial numbers with contact names.

**Q: Can I search a single town or district?**
A: Yes, through Search URLs. Town pages such as Maribor or Ptuj and Ljubljana's five districts are reached by pasting their addresses. The form covers the 13 regions plus the whole-country view; pasted URLs reach anything the site publishes.

**Q: Does it cover Croatia?**
A: Yes. The portal lists Croatian coastal inventory for Slovenian buyers, and Hrvaška is in the region list alongside an "other countries" section. Croatian rows carry the same fields as Slovenian rows.

**Q: What output formats are available?**
A: JSON, CSV, Excel and XML. Export straight from the Apify dataset, or read them over the API.

**Q: Is this legal?**
A: Yes. Only publicly available adverts are read. See the legal note below.

### 🐛 Troubleshooting

**A run returns fewer listings than expected**

- The portal pages each search by its own count; a page past the last one comes back empty and the run stops there
- Split the run by property type, or paste town and district addresses into Search URLs for extra depth

**A filter returned nothing**

- Price and area bounds exclude listings where the portal publishes no number, so a tight bound on a thin market can empty the result
- Nothing filtered out is charged, so an empty run costs you the run-start fee and nothing else

**A listing URL comes back as not found**

- The advert has been sold, rented or withdrawn; the portal keeps the address alive but empties the page
- Re-run the search to pick up what is live today

**Slovenian characters look wrong in Excel**

- Open the CSV with UTF-8 encoding selected, or use the XLSX export, which carries the encoding itself
- The JSON export is always UTF-8 and needs no configuration

### ⚖️ 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](https://blog.apify.com/is-web-scraping-legal/).

Nepremicnine.net is a trademark of MEGANET d.o.o. This Actor is not affiliated with, endorsed by, or sponsored by Nepremicnine.net or MEGANET d.o.o.

### 🤝 Support

**Join our active support community**

- For issues or questions, open an issue on the [Actor's issues page](https://apify.com/sian.agency/nepremicnine-property-scraper/issues)
- Check [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `operation` (type: `string`):

Pick one per run. Property Search walks Nepremicnine.net's own listing pages for any Slovenian region (or Croatia) and returns 25 listings per page, for sale or for rent — plus the two wanted-ad sections no other tool reads; Property Detail takes listing URLs and returns the full advert text, every photo, the attribute list and the agency's contact details.

## `regions` (type: `array`):

Which parts of Slovenia (or Croatia) to read. Ljubljana city and Ljubljana surroundings are separate entries and do not overlap; Slovenija is the whole-country view in one search. Every value is Nepremicnine.net's own region, so the list is exactly what the site indexes. A single town such as Maribor or a Ljubljana district such as Bežigrad is searched by pasting that page's address into Search URLs instead.

## `dealType` (type: `string`):

The portal keeps four sections. Prodaja and oddaja are the adverts — homes for sale and homes to rent. Nakup and najem are the wanted-ad boards, where buyers and renters post what they are looking for with their budget and phone; agencies read those boards for leads. A run reads one section.

## `propertyTypes` (type: `array`):

Which kinds of property to read. Leave the list empty to take every type in one sweep, which is what a market study usually wants. Picking types is also how a wide region is covered manageably: each type is searched separately, so Ljubljana flats and Ljubljana houses each get their own page run.

## `maxResults` (type: `integer`):

Stop after this many listings across the whole run, not per region. One page carries 25 listings, so a run ends on the first page that crosses your limit.

## `includeDetails` (type: `boolean`):

Open each listing's own page to add the untruncated advert text, the complete photo set instead of the card's thumbnails, the attribute list (size, floor, bedrooms, bathrooms, land, furnishing), the energy class and the agency's address, website and direct-dial phone numbers with contact names. Costs one extra request per listing and bills the Property Detail event on top of the listing row.

## `minPrice` (type: `integer`):

Skip listings priced below this. 0 means no lower bound. For sale adverts this is the asking price; for rent adverts the monthly rent. Listings that quote no number are dropped once you set a bound, because they cannot be shown to satisfy it.

## `maxPrice` (type: `integer`):

Skip listings priced above this. 0 means no upper bound. Pairing it with a minimum is the usual way to carve a big region into price bands.

## `minArea` (type: `integer`):

Skip listings smaller than this. 0 means no minimum. For a house this is the built area; land is reported separately where the portal publishes it.

## `maxArea` (type: `integer`):

Skip listings larger than this. 0 means no maximum.

## `searchUrls` (type: `array`):

Paste Nepremicnine.net search addresses instead of filling the form. Build the search on the site, copy the address bar, and the section, region and town or district in it are read straight off the URL — including town pages such as https://www.nepremicnine.net/oglasi-prodaja/podravska/maribor/ and Ljubljana districts such as https://www.nepremicnine.net/oglasi-prodaja/ljubljana-mesto/lj-center/ that the form above does not reach. A page number in the address is ignored; the run starts at page…

## `listingUrls` (type: `array`):

Used by the Property Detail operation: Nepremicnine.net advert addresses to expand, e.g. https://www.nepremicnine.net/oglasi-prodaja/crnuce-nadgorica-zasavska-cesta-stanovanje\_7290794/ — the address a listing card links to. The shorter advert form https://www.nepremicnine.net/nepremicnine.html?id=7433390 works too.

## Actor input object example

```json
{
  "operation": "search",
  "regions": [
    "ljubljana-mesto"
  ],
  "dealType": "prodaja",
  "propertyTypes": [],
  "maxResults": 100,
  "includeDetails": false,
  "minPrice": 0,
  "maxPrice": 0,
  "minArea": 0,
  "maxArea": 0,
  "searchUrls": [],
  "listingUrls": []
}
```

# Actor output Schema

## `nepremicnineNetListings` (type: `string`):

Every listing this run returned.

## `scrapingSummary` (type: `string`):

HTML summary showing successful and failed results with key metrics

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "operation": "search",
    "regions": [
        "ljubljana-mesto"
    ],
    "dealType": "prodaja",
    "propertyTypes": [],
    "maxResults": 100,
    "includeDetails": false,
    "minPrice": 0,
    "maxPrice": 0,
    "minArea": 0,
    "maxArea": 0,
    "searchUrls": [],
    "listingUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/nepremicnine-property-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "operation": "search",
    "regions": ["ljubljana-mesto"],
    "dealType": "prodaja",
    "propertyTypes": [],
    "maxResults": 100,
    "includeDetails": False,
    "minPrice": 0,
    "maxPrice": 0,
    "minArea": 0,
    "maxArea": 0,
    "searchUrls": [],
    "listingUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/nepremicnine-property-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "operation": "search",
  "regions": [
    "ljubljana-mesto"
  ],
  "dealType": "prodaja",
  "propertyTypes": [],
  "maxResults": 100,
  "includeDetails": false,
  "minPrice": 0,
  "maxPrice": 0,
  "minArea": 0,
  "maxArea": 0,
  "searchUrls": [],
  "listingUrls": []
}' |
apify call sian.agency/nepremicnine-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/nepremicnine-property-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/59AxJ5sZjwkbwVIEU/builds/juI5wda6YQ8QV7UHl/openapi.json
