# Poland Bailiff Auctions Scraper - Komornik Auctions in English (`webdata_labs/poland-komornik-auctions-api`) Actor

\[💵 $2.00 / 1K] Licytacje komornicze z licytacje.komornik.pl: nieruchomości, cena wywołania, wartość oszacowania, rękojmia, województwo. Clean English schema for international investors - appraisal, opening bid, discount %, auction round, deposit, deadlines & coordinates. Not a raw portal dump.

- **URL**: https://apify.com/webdata\_labs/poland-komornik-auctions-api.md
- **Developed by:** [WebData Labs](https://apify.com/webdata_labs) (community)
- **Categories:** Developer tools, Lead generation, Real estate
- **Stats:** 2 total users, 0 monthly users, 80.6% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 auction records

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/platform/actors/running/actors-in-store#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

## Poland Bailiff Auctions API - Komornik Judicial Auctions in English

Structured, investor-ready data from **licytacje.komornik.pl**, Poland's official
register of bailiff (*komornik*) judicial auctions - the single portal every enforced
sale of real estate and movable property must be published on.

This is **not a raw portal dump**. Every auction is normalized into one clean English
lead row with the numbers a property investor actually needs: the court appraisal, the
opening bid, **how far below the appraisal that opening sits (discount %)**, the implied
**auction round**, the required deposit, and every deadline - so you can filter a distressed
-asset pipeline without reading Polish enforcement notices.

### What you get

One row per auction, in English:

- **Economics (PLN):** `appraisalValue` (wartość oszacowania), `openingBid` (cena wywołania),
  `discountPctVsAppraisal`, `auctionRound` (FIRST / SECOND, inferred from the statutory
  opening ratio), `depositEstimate` (rękojmia, 1/10 of the appraisal).
- **Classification:** `assetClass` (REAL\_ESTATE / MOVABLE / OTHER), `category`
  (Apartment, House, Land, Commercial premises, Car...), `auctionType` (E\_AUCTION / STATIONARY).
- **Schedule:** `auctionStartAt`, `auctionEndAt`, `depositDeadline`, `publishedAt`.
- **Location:** structured `address` (street, building/flat no., postal code, city),
  `province` (English voivodeship name), `provinceCode`, `latitude`/`longitude` when present.
- **Links:** `announcementUrl` to the official listing.
- Optional (`includeDetails`): `description`, `bailiffOffice`, `caseSignature`, exact `depositAmount`.

### Why the discount and round matter

Under Polish enforcement law the opening bid is a fixed fraction of the court appraisal:
**3/4 at the first auction, 2/3 at the second**. So a 25% discount signals a first auction,
\~33% signals a second (cheaper) auction. The raw portal never gives you this - the API derives
it on every row, so you can sort a whole voivodeship by real discount in one pass.

### Example input

```json
{
  "province": "Masovia",
  "assetType": "real-estate",
  "eauctionOnly": true,
  "maxOpeningBid": 500000,
  "sortBy": "auction-date",
  "maxResults": 100
}
```

Accepts a Polish slug or English name for `province` (`mazowieckie` or `Masovia`,
`malopolskie` or `Lesser Poland`, `slaskie` or `Silesia`). Leave it empty to search all of Poland.
To pull specific listings, pass `itemIds` as numbers or full
`https://licytacje.komornik.pl/items/<id>` URLs. Search filters are ignored in this mode.
Missing IDs are reported in the run summary and are never added to the billable dataset.

### Example output row

```json
{
  "recordType": "auction",
  "itemId": 77407,
  "announcementUrl": "https://licytacje.komornik.pl/items/77407",
  "title": "I e-licytacja lokalu mieszkalnego w Gorzowie Wielkopolskim",
  "assetClass": "REAL_ESTATE",
  "category": "Apartment",
  "auctionType": "E_AUCTION",
  "currency": "PLN",
  "appraisalValue": 439500.0,
  "openingBid": 329625.0,
  "discountPctVsAppraisal": 25.0,
  "auctionRound": "FIRST",
  "depositEstimate": 43950.0,
  "auctionStartAt": "2026-09-24T11:00:00+02:00",
  "depositDeadline": "2026-09-22T23:59:59+02:00",
  "address": { "street": "ul.Brukselska", "buildingNo": "7A", "flatNo": "3", "postalCode": "66-400", "city": "Gorzów Wielkopolski", "province": "Lubusz" },
  "province": "Lubusz",
  "provinceCode": "lubuskie"
}
```

### Use cases

- **Distressed real-estate sourcing** - filter apartments/houses/land by voivodeship, discount, and round.
- **Investor lead feeds** - schedule the Actor and push new second-round (deepest-discount) auctions to a CRM.
- **Vehicle/equipment resale** - `assetType: movable` for cars, trucks, and machinery below market.
- **Market monitoring** - track appraisal-vs-opening spreads across regions over time.

### Pricing

Pay per result: **$2.00 / 1,000 auction records** (platform usage included, no per-run start fee).

Only successfully retrieved auction records are written to the billable dataset. Failed item IDs
are reported in the run summary and are not billed as auction rows.

### Notes

- Data comes from the official public register. Values are in Polish złoty (PLN).
- `auctionRound` and `depositEstimate` are derived from statutory ratios; enable `includeDetails`
  for the portal's exact deposit when published.
- Enabling Apify Proxy (Polish residential recommended) keeps large runs reliable.

***

### FAQ

#### Is this an official Polish bailiff auction API?

No. It structures publicly available judicial-auction information and is not affiliated with the source authorities.

#### Are auction details guaranteed to remain current?

No. Auction dates, documents, and status can change. Confirm material details through the linked official notice before acting.

### Support

For a missing auction or incorrect normalized field, open an Actor issue with the run URL, auction URL or case number, and expected value.

### Po polsku

**API licytacji komorniczych** - dane z oficjalnego portalu **licytacje.komornik.pl**
w czystym, angielskim schemacie dla inwestorów. Zamiast surowego zrzutu strony dostajesz
jeden uporządkowany wiersz na licytację: **wartość oszacowania**, **cena wywołania**,
**procent dyskonta**, **numer licytacji** (pierwsza/druga), **rękojmia**, terminy i lokalizacja
(województwo, miasto, adres). Filtruj po województwie, kategorii (mieszkania, domy, działki,
lokale, pojazdy), cenie i typie licytacji (e-licytacja). Cena: **$2.00 / 1000 rekordów**.

# Actor input Schema

## `province` (type: `string`):

Polish voivodeship to search. Accepts the Polish slug or English name: 'mazowieckie'/'Masovia', 'malopolskie'/'Lesser Poland', 'slaskie'/'Silesia', 'dolnoslaskie'/'Lower Silesia'... Leave empty to search all of Poland.

## `city` (type: `string`):

Optional city filter, e.g. 'Warszawa', 'Kraków', 'Wrocław'. Combined with the voivodeship.

## `assetType` (type: `string`):

What kind of asset is being auctioned.

## `eauctionOnly` (type: `boolean`):

Return only electronic auctions (e-licytacja) you can bid on online, excluding traditional in-person auctions.

## `minOpeningBid` (type: `integer`):

Only auctions with an opening bid (cena wywołania) at or above this amount, in Polish złoty.

## `maxOpeningBid` (type: `integer`):

Only auctions with an opening bid at or below this amount, in Polish złoty.

## `searchQuery` (type: `string`):

Free-text search over the auction title, e.g. 'lokal mieszkalny' or a street/city name.

## `sortBy` (type: `string`):

How to order results before the max-results cap is applied.

## `itemIds` (type: `string`):

Fetch specific auction items directly instead of searching. One or more item IDs (the number in a licytacje.komornik.pl/items/<id> URL), separated by comma, space or new line. When set, the search filters above are ignored.

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

Fetch each auction's detail record (description, bailiff office, case signature, exact deposit). Two extra light requests per auction. Off = search rows only, faster and gentler on the portal.

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

Safety cap on how many auctions to return in one run.

## `includeRaw` (type: `boolean`):

Attach the original Polish API payloads under 'raw' for auditing. Off by default to keep rows clean.

## `proxyConfiguration` (type: `object`):

Required. The komornik portal serves an empty result set to datacenter IPs, so Polish RESIDENTIAL proxy is the default and recommended setting. The Actor automatically rotates residential exit IPs until it finds one the portal serves.

## Actor input object example

```json
{
  "province": "Masovia",
  "assetType": "real-estate",
  "eauctionOnly": false,
  "sortBy": "newest",
  "includeDetails": false,
  "maxResults": 50,
  "includeRaw": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "PL"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Successfully extracted auction records.

## `summary` (type: `string`):

Counts and non-billable diagnostics.

# 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 = {
    "province": "Masovia"
};

// Run the Actor and wait for it to finish
const run = await client.actor("webdata_labs/poland-komornik-auctions-api").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 = { "province": "Masovia" }

# Run the Actor and wait for it to finish
run = client.actor("webdata_labs/poland-komornik-auctions-api").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "province": "Masovia"
}' |
apify call webdata_labs/poland-komornik-auctions-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=webdata_labs/poland-komornik-auctions-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/4JrQeG887A3HsQg2G/builds/9sCOzHs8ZhxMkJ4Bg/openapi.json
