Watch one saved search on olx.pl and get only the NEW listings each run - built for hourly schedules with email, Slack or webhooks. Full listing data, no seller identity ever. Quiet runs cost nothing.
$1.79 / 1,000 · Recently published - building its public record.
Run it on Apify → Free to try - runs bill per result on your own account.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | The saved search to watch, exactly as you would type it on olx.pl, e.g. "rower gravel" or "iphone 15 pro". A query, a category id, or both. | rower gravel |
categoryId |
integer | Optional OLX category id to watch (find it in a category URL or any scraped listing's categoryId). | - |
priceMinPln |
integer | Only listings costing at least this much, in whole zloty. | - |
priceMaxPln |
integer | Only listings costing at most this much, in whole zloty. | - |
maxItems |
integer | Stop after this many new listings per run. Free-plan runs are capped at 25 items. | 200 |
stateStoreName |
string | Named store remembering which listings were already delivered, so scheduled runs emit only new ones. Use a different name to track several searches independently. | olx-listing-watch-state |
resetState |
boolean | Forget everything seen so far and deliver the current snapshot as a fresh baseline. | False |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
listingId |
string | OLX listing ID. |
url |
string | Direct link to the listing. |
title |
string | Listing title as posted. |
description |
string | Full listing description as posted by the seller. |
priceGrosz |
integer | Asking price in grosz (1/100 PLN). Absent when the listing has no fixed price. |
currency |
string | Always PLN when a price is present. |
negotiable |
boolean | Whether the seller marked the price as negotiable (do negocjacji). |
postedAt |
string | When the listing was created (ISO timestamp with timezone). |
refreshedAt |
string | When the seller last refreshed/bumped the listing. |
city |
string | Listing municipality. City-level only - exact coordinates are never collected. |
region |
string | Polish voivodeship of the listing. |
categoryId |
integer | Numeric OLX category ID. Reusable as the categoryId input. |
attributes |
object | Whitelisted, non-personal listing attributes that vary by category - e.g. state (condition), brand, model, rok_produkcji, przebieg for cars, powierzchnia and liczba_pokoi for property. Present when the listing has them. |
sellerType |
string | Whether the listing comes from a business or a private seller. The only seller-related field in the output. |
deliveryAvailable |
boolean | Whether OLX courier delivery (Przesyłka OLX) is enabled for the listing. |
imageUrls |
array | Listing photo URLs (up to 8). |
Recently published - building its public record. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.