Prozorro.Sale auction parser: the LotRadar case
How a service was built that collects Prozorro.Sale lots every 5 minutes and delivers the right ones to Telegram, email, Excel and an API.

LotRadar is RandomStar’s own service: a “radar” for Prozorro.Sale, the Ukrainian state auction system. It watches new lots — land, privatisation, state property leases, bank assets — and reports the ones that match a user’s filter.
The task
Hundreds of lots appear on Prozorro.Sale every day. Finding the right one by hand means opening the marketplace daily and paging through lists. The goal was a service that collects everything new, sorts it by type and region and immediately sends each person what they care about.
What was built
- A data collector. The official open Prozorro.Sale API, two change feeds, a run every 5 minutes. The database holds about 36,000 lots, roughly 9,500 of them open for bids (October 2026).
- A catalogue with filters. Auction type, region, price, discounts, Dutch auctions; a list, lot pages and a map.
- Notifications. A Telegram bot sends new matching lots at once, a morning email sums up the day, and a Telegram channel posts a daily selection.
- Exports. Excel and CSV — the catalogue, a filter result or a personal watchlist.
- An API and webhooks. Key-based access and signed event delivery to the customer’s system.
- Search pages. Landing pages by “type + region” and guides with live lot selections — about 10,000 URLs in the sitemap.


How it works
- Official open data only. The source is an API, not scraped HTML: it breaks less and puts no load on someone else’s site. Requests are spaced more than a second apart.
- A change cursor. The collector remembers where it stopped and fetches only what changed. Duplicates at page boundaries are dropped.
- Events are computed locally. The source returns only the current state of a lot, so changes — a new price, moved dates, a cancellation, a result, a repeat auction — are derived by comparing with the previous version.
- No personal data is stored. Individuals and contact details are removed before anything reaches the database. As a side effect, a record became 15 times smaller.
- Source monitoring. The admin panel shows the state of each feed: working, silent or failing.
The result
The service runs at parser.randomstar.org in Ukrainian and English. From an empty project to a working site with a collector, a bot and a catalogue took a few days, because the admin panel, customer area, email and billing came from solutions RandomStar already runs elsewhere.
What you can order
The same approach works for any open data: tenders and procurement, registries, competitor prices, listings, supplier catalogues. The result arrives where you need it: Telegram, email, Excel, an API or straight into your CRM.
Got a task? Let’s talk
Send a request — the reply comes within a business day with a suggestion on how to do it.