OLX.pl New Listing Alerts
Watch one saved search on olx.pl and get only the NEW listings each run - built for hourly schedules with email, Slack or webhooks.
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.
$3.00 / 1,000 · 96.3% success over 27 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
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 5 items. The form starts at 25 for a cheap first run - that is the form's prefill, not a cap on your plan; clear it to use the default of 200. | 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 |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"attributes": {
"state": "Używane"
},
"categoryId": 4313,
"city": "Łódź",
"currency": "PLN",
"deliveryAvailable": false,
"description": "Sprzedaję hulajnogę elektryczną.Przebieg: 120 km",
"imageUrls": [
"https://ireland.apollo.olxcdn.com:443/v1/files/ymbt0ln8qbnf2-PL/image;s=867x1156",
"https://ireland.apollo.olxcdn.com:443/v1/files/gtf04p20wecu1-PL/image;s=867x1156",
"https://ireland.apollo.olxcdn.com:443/v1/files/7uz5wiq1fa0x-PL/image;s=867x1156",
"https://ireland.apollo.olxcdn.com:443/v1/files/hpvkudxbos4p3-PL/image;s=867x1156"
],
"listingId": "1098315721",
"negotiable": false,
"postedAt": "2026-09-14T22:19:52+02:00",
"priceGrosz": 100000,
"refreshedAt": "2026-10-17T10:57:11+02:00",
"region": "Łódzkie",
"sellerType": "private",
"title": "Sprzedaję hulajnogę elektryczną.",
"url": "https://www.olx.pl/d/oferta/sprzedaje-hulajnoge-elektryczna-CID767-ID1ckq5H.html"
}
| 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). |
Health
96.3% success over 27 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.