vinted-cli
Command reference

watch

Track searches, items and sellers and get events when they change

vinted watch

Track searches, items and sellers and get events when they change

Track searches, items and sellers and get events when they change.

A watch is local. "check" runs every due watch once, prints new events and delivers them to the watch's sinks; "run" loops in the foreground; "service" installs a systemd timer or launchd agent that runs "check" on a schedule.

vinted watch add search "levis 501" --price-to 30 --name levis --notify phone
vinted watch add item https://www.vinted.com/items/4815162342-levis-501 --name those-jeans
vinted watch add seller 123456789 --name good-seller
vinted watch add search "nike air max" --price-to 40 --name airmax --emit-initial   # seed a feed
vinted watch check --all --format jsonl | jq -r 'select(.type=="item.new") | .item.url'
vinted watch run --interval 30m
vinted watch service install --interval 30m

vinted watch add

Create a watch

vinted watch add item

Watch one item for price, reserved, sold, removed

vinted watch add item ITEM [flags]
FlagTypeDefaultDescription
--emit-initialboolfalsereport everything that exists now as events instead of baselining silently
--intervalduration0show often this watch is due (default from config, 15m; floor 15m)
--namestring-watch name (required, used in events and commands)
--notifystringSlice[]sink names from config, repeatable

Watch a search for new items and price changes

vinted watch add search [text...] [flags]

Watch a search for new items and price changes. Takes the same text and filters as vinted search; --pages sets how many result pages each check diffs. Without --order the watch reads newest_first, where new items show up.

Only items newer than the watch count as item.new: Vinted reshuffles its result pages between loads, so an older item appearing on the page is recorded without an event.

Or give --from-alert ID to copy the query of one of the account's saved searches (see vinted alert list). The two are exclusive: the saved query is replayed as Vinted stored it, except that an unset order becomes newest_first.

FlagTypeDefaultDescription
--attrstringArray[]any other filter as CODE=ID[,ID], repeatable (codes and ids from vinted search filters)
--brandintSlice[]brand id, repeatable (ids from vinted brand search)
--catalogintSlice[]category id, repeatable (ids from vinted category list)
--colorintSlice[]colour id, repeatable (ids from vinted search filters)
--conditionstringSlice[]item condition, repeatable: new_with_tags, new_without_tags, new, very_good, good, satisfactory, not_fully_functional, or a status id
--currencystring-code of the --price-from/--price-to currency (EUR, USD...; default the site's)
--emit-initialboolfalsereport everything that exists now as events instead of baselining silently
--filterstringArray[]any other catalog query parameter as key=value, repeatable, sent verbatim
--from-alertstring-copy the query of this saved search (see vinted alert list)
--intervalduration0show often this watch is due (default from config, 15m; floor 15m)
--languageintSlice[]book language id, repeatable (books)
--materialintSlice[]material id, repeatable (ids from vinted search filters)
--modelintSlice[]model id, repeatable (phones and other electronics)
--namestring-watch name (required, used in events and commands)
--notifystringSlice[]sink names from config, repeatable
--orderstring-order: relevance, newest_first, price_low_to_high, price_high_to_low
--pagesint1result pages to diff per check (max 5)
--patternintSlice[]pattern id, repeatable (clothing)
--platformintSlice[]video game platform id, repeatable (video games)
--price-fromfloat640minimum price
--price-tofloat640maximum price
--sim-lockintSlice[]SIM lock id, repeatable (phones)
--sizeintSlice[]size id, repeatable (ids from vinted search filters --catalog ID)
--storageintSlice[]storage capacity id, repeatable (phones, tablets)
--video-game-ratingintSlice[]content rating id, repeatable (video games)

vinted watch add seller

Watch a seller for new and removed items

vinted watch add seller USER [flags]
FlagTypeDefaultDescription
--emit-initialboolfalsereport everything that exists now as events instead of baselining silently
--intervalduration0show often this watch is due (default from config, 15m; floor 15m)
--namestring-watch name (required, used in events and commands)
--notifystringSlice[]sink names from config, repeatable

vinted watch check

Run due watches once and print their events

vinted watch check [NAME...] [flags]

Run watches once. With names, those watches run regardless of schedule. Without names, watches whose interval has elapsed run; --all forces every watch. Watches run one after another, and every request waits its turn behind the shared request interval. Prints the events produced (none is fine: exit 0) and delivers them to sinks. --jitter first sleeps a random time up to the given duration, so scheduled runs do not hit Vinted at fixed times; the service units pass a tenth of their interval.

FlagTypeDefaultDescription
--allboolfalserun every watch of the profile, due or not
--jitterduration0ssleep a random time up to this before checking (e.g. 90s)

vinted watch events

Show stored events, newest first

vinted watch events [NAME] [flags]
FlagTypeDefaultDescription
--limitint100maximum events
--sinceduration0sonly events newer than this (e.g. 24h)

vinted watch list

List watches for the active profile

vinted watch list [flags]
FlagTypeDefaultDescription
--all-profilesboolfalseinclude every profile's watches

vinted watch remove

Delete a watch and its history

vinted watch remove NAME [flags]
FlagTypeDefaultDescription
--yesboolfalsedo not prompt

vinted watch run

Check due watches in a loop until Ctrl-C

vinted watch run [flags]

Foreground loop. Every tick runs the due watches one after another and prints events as they happen (use --format jsonl to stream). The tick defaults to the shortest watch interval, floored at 15m, with up to 10% jitter. A block from Vinted's bot protection ends the loop with exit 5.

FlagTypeDefaultDescription
--intervalduration0stick length (default: shortest watch interval)

vinted watch service

Run checks on a schedule via systemd (Linux) or launchd (macOS)

vinted watch service install

Install a user-level timer that runs watch check --all

vinted watch service install [flags]

Install a user-level timer that runs "watch check --all" every --interval (floor 15m). Each run first sleeps a random tenth of the interval, so checks do not hit Vinted at fixed times.

FlagTypeDefaultDescription
--intervalduration0stimer period (default from config, 15m; floor 15m)

vinted watch service status

Show the timer's state and last run

vinted watch service status

vinted watch service uninstall

Remove the timer and its log

vinted watch service uninstall

On this page