Prozorro.Sale API: how to get auction data into your software
The open Prozorro.Sale API gives you every lot, but raw: two databases, 100 records per request, current state only. What it offers, where the pitfalls are, and when the ready-made LotRadar API with filters, change history and webhooks is simpler.

All Prozorro.Sale data — lots, documents, auction results — is open: the system publishes it through an API, and anyone can use it. Below is how this API works, what to watch for when writing your own integration, and how to get the same data ready to use.
The open Prozorro.Sale API
The central database answers at two hosts:
| What | Host |
|---|---|
| All procedures except DGF, and object registries | https://procedure.prozorro.sale/api |
| Assets of banks in liquidation (DGF) | https://dgf-procedure.prozorro.sale/api |
Main requests:
/search/byDateModified/{date}?limit=100— the feed of all procedures by modification date; synchronization is built on it;/procedures/{_id}— the full procedure;/procedures/{_id}/history— its versions;/search/byAuctionId/{UA-…}— a lot by auction ID;/search/byAuctionOrganizer/{EDRPOU},/search/byText/{text},/search/bySellingMethod/{method}— search;/registry/objects/{_id},/registry/assets/{_id}— lease and privatization objects.
curl -s --compressed "https://procedure.prozorro.sale/api/search/byDateModified/2026-10-01T00:00:00Z?limit=100"
No key is needed. The field reference (Swagger) is only on the sandbox server procedure-sandbox.prozorro.sale/api/doc; the old database (public.api.ea.openprocurement.org) has been frozen since 2021 — there are no new lots there.
Pitfalls of your own integration
- Two databases. DGF lots are not in the main one — you have to poll both.
- No more than 100 records per request.
limit=500silently returns 100; covering a month takes hundreds of requests. - Current state only. The feed returns a procedure as it is now: if the price changed twice between two polls, you will not see the intermediate value. You have to work out what changed yourself by comparing with the previous version.
- No filters by oblast or type. To find “premises for lease in Vinnytsia” you have to download everything and filter on your side — and parse addresses, because the city is written in different ways.
- Repeats of the same object are separate procedures, linked via
previousAuctionIdand registry objects.
All of this is solvable — this is how we build our database: it now holds 41 thousand lots, with 10–12 thousand added each month. But it takes weeks of development and constant attention.
The ready-made LotRadar API
The same data, already cleaned and structured, via the REST API /api/v1/:
/lots— lots with the same filters as the catalogue: type, oblast, city, topic, price, keywords, status, publication and modification dates;/lots/{UA-…}— all lot fields, its last 50 changes and other auctions of the same object;/changes— a feed of events (new lot, status, price, date, document changes, result) with a cursor — nothing is missed between requests;/filters/{id}/lots— lots by a filter saved in your account;- webhooks — our server POSTs new lots and changes to you (
lot.new,lot.changed,lot.relisted), signed with HMAC and retried if your server did not answer.
Responses are JSON, labels in Ukrainian or English (?lang=en). The key is in your account and goes in the Authorization: Bearer header. The limit is 1,000 requests a day on the Pro plan and 20,000 on Business. Full reference with examples — in the API documentation, prices — on the pricing page.
Which to choose
- You need the whole system with every field, research or your own data warehouse — use the open Prozorro.Sale API.
- You need specific lots in your CRM, spreadsheet or bot, with filters and events — our API is simpler: first results in an hour, not a month.
- No developer at all — a filter in your account, alerts in the Telegram bot and Excel export.
Open API details — our own test requests; lot counts — our database as of 17 October 2026.
See also
Real estate auctions in Ukraine: how to buy premises or a building on Prozorro.Sale
Prozorro.Sale is now selling 271 properties — from a garage for a few thousand hryvnias to factory buildings. Who sells, what it costs, what actually gets bought and how to take part.
Bank collateral at Prozorro.Sale auctions: what Oschadbank, Ukrgasbank, Raiffeisen and banks in liquidation are selling
Banks sell their own premises, flats, parking spaces, cars and property taken from debtors via Prozorro.Sale. Who is selling what now, what it goes for, and how DGF auctions differ from a sale by a working bank.
Customs confiscated goods on Prozorro.Sale: how to buy cars, equipment and goods at customs auctions
Customs offices sell confiscated and unclaimed goods at Prozorro.Sale auctions: cars, spare parts, smartphones, clothing, even food. There are 144 lots from 14 customs offices now. How the price falls from attempt to attempt and what actually sells.
Your first filter is free
See how many lots matching your search appear every week — and decide whether you need the radar.