Czech Public Auctions Scraper - Portál dražeb avatar

Czech Public Auctions Scraper - Portál dražeb

Pricing

from $3.50 / 1,000 auction records

Go to Apify Store
Czech Public Auctions Scraper - Portál dražeb

Czech Public Auctions Scraper - Portál dražeb

Track every auction run by Czech judicial executors: foreclosed flats, houses, land, vehicles and whole companies with the appraised value, the reserve price and the discount between them, the deposit, the property address with coordinates and the published appraisal PDF.

Pricing

from $3.50 / 1,000 auction records

Rating

0.0

(0)

Developer

getregdata

getregdata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Czech Public Auctions & Foreclosures Scraper - Portál dražeb

Every auction run by a Czech judicial executor (soudní exekutor), as structured JSON: the appraised value, the reserve price and the discount between them, the security deposit and the account it is paid into, the property address with coordinates from the official RÚIAN address registry, the executor's office, and direct links to the published auction decree and expert appraisal PDFs.

Source: Portál dražeb - the register in which Czech judicial executors are required to publish their auctions. Foreclosed flats, houses, land, garages, commercial units, vehicles, movable property and whole companies.

No account, no API key, no proxy, nothing to configure.


What do I get for one auction?

IdentityExecutor case number (217EX00380/25-372), register id, public URL, status
The lotTitle, description, category, tags, real estate vs movable property
MoneyAppraised value, reserve price, derived discount %, minimum bid increment, current bid
DepositDražební jistota amount, account number, IBAN, variable symbol
TimingStart, end, original end, publication date, days until it opens
WhereRegion, district, city, municipal district, street, house number, latitude/longitude, RÚIAN address and municipality codes
Who runs itExecutor number, name, district, website, contact email
PaperworkAuction decree and expert appraisal PDFs with type, size and a direct download URL
ProcessOpen objections, repeat-auction number, bid history and result (optional)
{
"auctionNumber": "217EX00380/25-372",
"url": "https://www.portaldrazeb.cz/drazba/217ex00380-25-372-ykokb",
"title": "Ideální spoluvlastnický podíl 1/12 jednotky č. 1114/13 (byt) ... v obci Praha, Břevnov",
"categoryName": "Nebytový/kancelářský prostor",
"tags": ["Byt"],
"itemType": "real",
"estimatedPrice": 996000,
"reservePrice": 664000,
"discountPct": 33.3,
"priceAnomaly": false,
"minimalBid": 1000,
"cautionDeposit": 166000,
"cautionAccountNumber": "5002209054/5500",
"cautionAccountIban": "CZ6355000000005002209054",
"cautionVariableSymbol": "0038025",
"startAt": "2026-07-27T08:00:00.000+00:00",
"endAt": "2026-07-27T08:30:00.000+00:00",
"locationPrecision": "address",
"countyName": "Praha",
"cityName": "Praha",
"municipalDistrict": "Praha 6",
"street": "Slavníkova",
"houseNumber": "1114",
"latitude": 50.0844635,
"longitude": 14.3652171,
"ruianAdm": 22160744,
"ruianCityCode": 554782,
"executorNumber": "217",
"executorName": "Tunkl Tomáš Mgr.",
"executorEmail": "epodatelna@vasexekutor.cz",
"hasAppraisal": true,
"documents": [
{ "type": "auction_decree", "label": "Auction decree (dražební vyhláška)", "sizeBytes": 202324, "locked": false, "url": "https://www.portaldrazeb.cz/upload/auction-document/xMBvM" },
{ "type": "expert_report", "label": "Expert appraisal (odborný posudek)", "sizeBytes": 5938174, "locked": false, "url": "https://www.portaldrazeb.cz/upload/auction-document/5dvDX" }
],
"jurisdiction": "CZ",
"retrievedAt": "2026-07-27T09:14:02.118Z"
}

That row is also a good illustration of why tags and title are worth reading: the register filed a flat under Nebytový/kancelářský prostor.

What is discountPct and why is it the field to sort on?

Czech executors must publish both the expert appraisal of the property and the reserve price at which bidding opens. The gap between them is the distressed discount, and it is the reason this register is read at all.

discountPct = (appraised - reserve) / appraised, computed for you. A first auction typically opens at two thirds of the appraisal; a lot that failed to sell is re-auctioned lower, which repeatedOrder tells you.

A small number of rows - roughly 1% - carry a reserve above the appraisal, usually an obvious typo in the source appraisal. Those come through with a negative discount and priceAnomaly: true. The raw figures are passed on unaltered rather than clamped, so you can judge them yourself instead of wondering why a feed looks wrong.

How do I get just flats in one region?

{
"listings": ["upcoming"],
"categories": ["13"],
"counties": ["Jihomoravský kraj"],
"minPrice": 500000,
"maxPrice": 4000000
}

Categories are the register's own 18 ids - "3" land, "7" house, "13" flat, "33" vehicles, "39" whole companies, and so on. The register's category filter is hierarchical and over-broad: ask it for 13 (Byt) and it also hands back the parent 1 Nemovitosti and the sibling 15 Nebytový prostor. This actor sends the filter anyway - it still narrows the query - and then filters the result again to exactly the ids you picked. Set exactCategories: false if you would rather have the register's broader interpretation.

The category tree is loose in the source too, so check tags and title as well as categoryName when precision matters.

Which list should I read?

ListWhat it holds
upcomingEverything scheduled. The main one.
onlineThe subset conducted online
ongoingAuctions open for bidding at this second - normally empty
finishedA small rolling window of recently closed auctions
preemptionLots in the předražek (pre-emption) window, where a higher offer can still be made

ongoing being empty is a real answer, not a failure: Czech auctions run in short windows, so most of the time nothing is live. The run exits green and says so.

Can I research past sale prices?

No, and no scraper of this register can. finished is a rolling window of a couple of dozen rows and date filters do not reach behind it - asking for 2020 onwards returns the same handful. The register simply does not retain a public archive.

If you want a price history, build one: schedule this actor against finished and accumulate the results into your own dataset. From the day you start it compounds, but the first run cannot give you five years of comparables and nothing that claims to is reading this source.

Will every auction be in my results?

That is the part this actor is built around.

The register's own paging is unstable - many auctions share a start time, ties come back in a different order on each request, and walking through pages therefore returns some rows twice and misses others entirely. Measured against the register's stated total of 731, naive paging returned 729, 721 and 727 on three consecutive attempts, losing a different handful each time and reporting success every time.

So this actor does not page. It splits the date range into windows small enough that the register returns each one whole in a single request, and then checks each window against the count the register itself reports for it. If anything cannot be accounted for, the run says "Partial:" with the exact shortfall instead of looking clean. Full nationwide sweeps reconcile at 731 of 731.

The same honesty applies at the end: hitting maxResults is stated in the status message, and rows dropped by your own category or region filter are reported separately so a short result is never mistaken for a thin register.

How much does it cost?

Pay per auction record exported. Nothing else is charged.

  • Failed retrievals are not billed. A row is only pushed once the register has actually returned it, so our breakage never appears on your bill.
  • Duplicates are not billed. An online lot is also an upcoming lot; select both lists and it is still exported, and charged, once.
  • An empty result costs nothing beyond the run start. A filter that matches nothing, or an empty ongoing list, is a legitimate answer.

There is no proxy cost, no captcha cost and no third-party key to pay for.

Yes. documents[].url resolves to the real PDF. The auction decree (dražební vyhláška) and the expert appraisal (odborný posudek) are published openly and download without a session - the appraisal is where the valuation reasoning, floor plans and condition notes live.

The register gates a few document types behind an account, mostly post-auction resolutions. Those are still listed, flagged locked: true, so you can see that a document exists rather than silently receiving a shorter list. hasAppraisal tells you at a glance whether the valuation is openly downloadable for that lot.

Why do some rows have no address?

Because not everything sold at auction has one. Location comes in three grades and every record says which one it has, in locationPrecision:

locationPrecisionMeaning
addressFull RÚIAN address, coordinates usually present
districtRegion and district only
noneNo published location - typical for vehicles and movable property

Check that field before filtering on coordinates, or you will quietly drop most of the register. ruianAdm and ruianCityCode are official RÚIAN identifiers, so they join cleanly to Czech cadastral and address datasets.

Who is this for?

  • Property investors and buying agents monitoring for lots that open well below appraisal in a target region.
  • Credit risk and collections teams watching whether a debtor's assets have reached auction - the effect of an insolvency, where ISIR gives you the cause.
  • Valuers and market analysts who want the appraisal PDFs and the appraised-vs-reserve spread.
  • Legal and compliance teams tracking enforcement against a counterparty.

Set mode: "auctioneers" to get the directory of every Czech judicial executor office instead - number, name, district, address, website - as its own small dataset.

Portál dražeb is the register in which Czech judicial executors are legally required to publish their auctions, precisely so that the public can find and bid on them. It is open to everyone, needs no account, and this actor reads only what that public listing returns.

The records are about assets and enforcement proceedings. The named individuals are the executors - public officials acting in their official capacity, whose details the register publishes by law. Under GDPR that is a public official source, but you remain the controller of what you do with it downstream, so use it for legitimate purposes.

This actor does not download the PDFs; it gives you the register's own links. It does not bid, and it cannot - bidding needs a verified account, and nothing here touches it.

How do I use it from code?

apify call YOUR_USERNAME/czech-drazby-auction-scraper \
--input '{"listings":["upcoming"],"categories":["7","13"],"itemType":"real","maxResults":200}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('YOUR_USERNAME/czech-drazby-auction-scraper').call({
listings: ['upcoming'],
categories: ['13'],
counties: ['Praha'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const bargains = items.filter((i) => i.discountPct >= 40 && !i.priceAnomaly);
console.log(bargains.map((i) => [i.title, i.reservePrice, i.discountPct, i.url]));
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("YOUR_USERNAME/czech-drazby-auction-scraper").call(
run_input={"listings": ["upcoming"], "categories": ["3", "5"], "minPrice": 1000000}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["reservePrice"], item["discountPct"], item["cityName"])

Works with n8n, Make, Zapier and any HTTP client through the standard Apify API, and with AI agents over MCP.

Input reference

FieldTypeDefaultDescription
modeenumauctionsauctions, or auctioneers for the executor-office directory
listingsarray["upcoming"]upcoming, online, ongoing, finished, preemption
startFromstringtodayEarliest auction start date, YYYY-MM-DD
startTostring+1 yearLatest auction start date, YYYY-MM-DD
categoriesarrayallRegister category ids as strings - "3" land, "7" house, "13" flat, "33" vehicles, "39" companies...
itemTypeenumanyreal estate only, movable property only, or both
countiesarrayallRegion names as the register spells them, e.g. Moravskoslezský kraj
minPrice / maxPriceinteger-Reserve price bounds in CZK, applied by the register
maxResultsinteger1000Maximum auction records to export
includeDetailsbooleanfalseAdds bid history, result and objections - one extra request per auction
exactCategoriesbooleantrueDiscard the parent and sibling categories the register adds on its own

A narrower date range costs fewer requests and finishes sooner, because the range is what the run splits its queries by.

In what language is the data?

Czech, exactly as the register holds it - titles, descriptions, categories, region names. That is the authoritative form, so it is returned rather than a guess at a translation. The field names, the schema and the status messages are English, and every category and document type carries an English label alongside the Czech one.

Limitations

  • No sale-price history - the register keeps no public archive (see above).
  • Bid history and results come from the per-auction detail record and only when includeDetails is on. Upcoming lots have no bids yet, so leave it off unless you are reading finished ones.
  • Movable lots usually have no address, so they cannot be mapped - locationPrecision says so.
  • The register's own categorisation is loose. Exact matching is applied on top, but a mis-categorised lot at source stays mis-categorised.
  • No sorting. The register accepts a sort parameter and ignores it, so this actor does not offer a control that would do nothing.
  • This is a precision product, not a bulk one. A nationwide upcoming sweep is in the hundreds of auctions, not the millions. It is built for monitoring a filter, not for hoarding a market.

Part of a suite of official government registry actors - no public API to build or maintain, pay per result, nothing to configure.

CountryActors
PolandBDO · CRBR · KRS (financials) · EKW · KNF · KRS (board) · KRZ · MSiG · KYB check · PEP (Sejm) · REGON (sites) · REGON · UOKiK
GermanyInsolvenzbekanntmachungen · Handelsregister
SpainBORME · Registro Mercantil · Registro Público Concursal
ItalyINI-PEC · Registro Imprese
AustriaEdiktsdatei · WKO
FranceSociete.com
BelgiumKBO / BCE
CzechiaISIR · Portál dražeb (this actor)
SlovakiaRPVS
CyprusDRCOR
IrelandCRO
PortugalPublicações MJ
NigeriaCAC
ColombiaRUES
USACalifornia SoS · California UCC
UAEADGM
GlobalAdverse media

Natural pairing for Czechia: ISIR tells you a debtor went insolvent; this actor tells you their assets have reached auction, with the appraisal, the reserve and the date.


Data source: Portál dražeb - the register of auctions of Czech judicial executors. This actor is not affiliated with or endorsed by the register or the Chamber of Executors.

Full suite: apify.com/regdata · Callable from any MCP client via mcp.apify.com