otomoto, Standvirtual & Autovit Monitor: New Cars, Price Drops
Pricing
from $1.30 / 1,000 car listing returneds
otomoto, Standvirtual & Autovit Monitor: New Cars, Price Drops
For car dealers, flippers and import brokers: new used-car listings and price drops (with the old price) from otomoto.pl, standvirtual.com and autovit.ro, plus removed cars on otomoto.pl and standvirtual.com. By make, model, price and year. Schedule hourly or daily. JSON, CSV, Excel.
Pricing
from $1.30 / 1,000 car listing returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
otomoto.pl, Standvirtual & Autovit Monitor - New Used Cars & Price Drops
For car dealers, flippers and import brokers: new used-car listings and price drops (with the old price) from otomoto.pl, standvirtual.com and autovit.ro, plus removed cars on otomoto.pl and standvirtual.com. By make, model, price and year. Schedule hourly or daily. JSON, CSV, Excel.
This Actor watches used-car searches on otomoto.pl (Poland), standvirtual.com (Portugal) and autovit.ro (Romania) and returns only what changed since the last run: new cars, price drops and rises (with the previous price), and on otomoto.pl and standvirtual.com removed cars. On autovit.ro a new car is one listed after the watch started. Each row has the price with its currency (PLN or EUR), year, mileage, fuel, power, region and city, dealer or private seller, dealer name, photo, listing date and link, plus VAT flags, gearbox, engine size and the site's price evaluation (below, in or above the market range) when the site shows them. Search by make and model, price, year, mileage, fuel, body type, gearbox, seller type and region or city, or paste a search URL with filters already set on the site (the filter fields are not applied to a pasted URL). No login, no API key. Export as JSON, CSV or Excel, or send rows to Google Sheets, Slack, Make, Zapier or n8n with Apify integrations.
- Only the changes, every run. Turn on Monitor mode and schedule the Actor. The first run returns up to
maxResultsPerSearchnewest cars per search (50 by default) as the starting point, charged as listings; later runs return only the changes:new,price_drop,price_upandremovedrows (each kind can be switched off), plus a small run start fee per check. - Price drops with the old price. A car you already got whose price changed comes back as
price_droporprice_upwithpreviousPriceandpriceChange(for example-2000). - Removed cars. On otomoto.pl and standvirtual.com, a car you got before that is gone from the part of the list the watch reads (sold, withdrawn or no longer matching) comes back once as
removed, with its last title, link and price. - No fake new cars. Promoted or re-listed cars are not charged as new.
- 3 countries, one run. Up to 10 searches per run (makes/models × sites + pasted URLs). Make names that a site writes differently (for example
vwon standvirtual.com andvolkswagenon otomoto.pl and autovit.ro) are matched for you. The same car is returned once, even when two of your searches overlap. - Clean numbers.
priceis a number incurrency,mileageKm,powerHp,engineCapacityCm3andyearare numbers,fuelandgearboxare the same English words on all three sites (the site's own word is kept infuelLocal),createdAtis the listing date.
What you get
One row per car. Example (the first check of a watch on otomoto.pl, volkswagen/golf, 2026-10-28):
{"status": "ok","changeType": "new","isFirstCheck": true,"listingId": "6151399744","url": "https://www.otomoto.pl/osobowe/oferta/volkswagen-golf-ID6IiE4U.html","title": "Volkswagen Golf e-Golf","make": "Volkswagen","model": "Golf","modelFamily": null,"version": "e-Golf","price": 39900,"currency": "PLN","previousPrice": null,"priceChange": null,"priceIsGross": true,"priceGross": null,"priceNet": null,"vatInvoice": false,"priceEvaluation": "in","year": 2016,"mileageKm": 118296,"fuel": "electric","fuelLocal": "Elektryczny","gearbox": "automatic","powerHp": 115,"engineCapacityCm3": null,"bodyType": null,"originCountry": null,"region": "Wielkopolskie","city": "Turek","sellerType": "dealer","dealerName": "AUTO HANDEL","photoUrl": "https://.../image;s=640x480","createdAt": "2026-10-28T07:24:21.000Z","isPromoted": false,"firstSeenAt": "2026-10-28T08:03:00.000Z","site": "otomoto.pl","positionInSearch": 2,"listingsInSearch": 3788,"searchUrl": "https://www.otomoto.pl/osobowe/volkswagen/golf?search%5Border%5D=created_at_first%3Adesc","watchName": "readme","checkedAt": "2026-10-28T08:03:23.943Z"}
| Field | What it is |
|---|---|
changeType | Monitor mode: new, price_drop, price_up, removed or unchanged. Empty in a normal search. |
isFirstCheck | true on the rows of a watch's first run (the starting point). |
price, currency | Price as a number and its currency (PLN on otomoto.pl, EUR on standvirtual.com and autovit.ro; a seller can list in another currency, and the row then says so). Empty when the listing shows no price. |
previousPrice, priceChange | The price at the previous check and the difference (negative = cheaper). |
priceIsGross, priceGross, priceNet, vatInvoice | Whether the price includes VAT, the gross and net amounts when the site shows both, and whether the seller issues a VAT invoice. |
priceEvaluation | The site's price evaluation: below, in or above the market range, or empty when the site shows none. |
year, mileageKm, powerHp, engineCapacityCm3 | Numbers. |
fuel, gearbox | petrol, diesel, electric, hybrid, plugin-hybrid, lpg, cng, hydrogen; automatic or manual. fuelLocal is the site's own word. The autovit.ro list does not show the gearbox, so there gearbox is filled only when the search is filtered by transmission. |
bodyType | Filled when the search is filtered to one body type. |
region, city | Where the car is, as shown in the list. |
sellerType, dealerName | dealer, private or crosslisted, and the dealer name shown in the list. |
createdAt | When the listing was published on the site. |
firstSeenAt | When this watch first saw the car. |
positionInSearch, listingsInSearch | Position in the list and how many cars the search has. |
status | ok for a car; otherwise a free row with a note that says why. |
Input
{"makeModels": ["bmw/seria-3", "volkswagen/golf"],"sites": ["pl", "ro"],"priceTo": 90000,"yearFrom": 2018,"mileageTo": 150000,"fuelTypes": ["diesel", "petrol"],"transmission": "automatic","maxResultsPerSearch": 50,"monitorMode": true}
makeModels:make/modelas in the site's search address (bmw/seria-3,audi/a4), or a make alone (toyota).sites:pl(otomoto.pl),pt(standvirtual.com),ro(autovit.ro). Empty = otomoto.pl.searchUrls: paste a car search from any of the three sites with any site filter (colour, equipment, model family ...).- Filters:
priceFrom/priceTo(PLN on otomoto.pl, EUR on the other two),yearFrom/yearTo,mileageFrom/mileageTo(km),fuelTypes,bodyTypes,transmission,sellerType,region. maxResultsPerSearch: 1 to 5,000 (default 50).- Monitor mode:
monitorMode,includePriceChanges(on),includeRemoved(on),includeUnchanged(off),watchName,resetMonitoringState.
Monitor mode
- Schedule the Actor (Schedules tab, for example every hour or every morning) with
monitorMode: true. - The first run returns the newest
maxResultsPerSearchcars of each search withchangeType: newandisFirstCheck: true, and remembers them. - Every later run reads the list again and returns:
new: cars that appeared since the previous check (on autovit.ro: listed after the watch started),price_drop/price_up: cars you already got whose price changed, withpreviousPrice,removed: cars you already got that are gone from the part of the list the watch reads (otomoto.pl and standvirtual.com).
- A run where nothing changed returns one free
no-changesrow. - New cars that did not fit into
maxResultsPerSearchor your maximum charge are not charged and come in the next run. - Use
watchNameto keep separate watches for the same search (one per client or per alert channel).
Pricing
Pay per event:
- Run start: once per run that returns cars, and once per monitor-mode run that read and compared the list, even when nothing changed (it pays for the check).
- Listing returned: per car row delivered (
new,price_drop,price_up,removed,unchangedor a normal search row). Free rows are never charged.
If your maximum total charge has no room for the run start fee plus one car, the run requests nothing and is charged nothing.
Good to know
- Model words can differ between the sites (for example the BMW 3 Series is
seria-3on otomoto.pl and autovit.ro, while standvirtual.com groups it as a model family). When a model is not found, the run returns a free row; set the search on that site and paste its address intosearchUrls. - On otomoto.pl and standvirtual.com the list is read newest first, and a watch reads the newest
maxResultsPerSearchcars plus one page. On autovit.ro the list cannot be read newest first, so a watch there reads the whole search, up to 1,280 cars; for a longer search it returns a free row asking you to narrow it (model, year, fuel, region or seller type). The autovit.ro list also changes its order from page to page, so one read can miss some cars: there a watch reports a car asnewonly when it was listed after the watch started, and it does not reportremovedcars. - On autovit.ro the price filter is applied to the cars' EUR prices; cars listed only in another currency are left out of a price-filtered search.
removedis judged on the part of the list the watch reads. A car you got long ago that has slid further down is not reported as removed.- The list does not mark whether a price is negotiable, so there is no negotiable flag.
- One search pages through at most 500 pages (16,000 cars) in a normal run; narrow a larger search to reach the rest.
- Dealer names are returned as shown in the search list. Nothing is collected from listing pages, and no private seller names or phone numbers are returned.
- Two schedules running the same search with the same
watchNameat the same moment can return the same new car twice; give each schedule its ownwatchName. - No cars, nothing changed, an unknown make or model, or a page that could not be read come back as free rows that say why.
- 256 MB by default; a monitor check of one otomoto.pl or standvirtual.com search with the default 50 cars reads 3 pages.
- Unofficial. Reads the public search pages a person sees without logging in.
Thanks for using this Actor
We build these tools for people who run them every day, and we improve them from what users tell us.
- Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
- Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.
If this Actor saved you time, a short review helps other people find it.