Vinted Cross-Country Arbitrage Scanner
Pricing
from $2.35 / 1,000 price summaries
Vinted Cross-Country Arbitrage Scanner
Compare sampled Vinted asking prices across country markets. Get public listings, item and seller details, or saved price and presence checks to guide resale research.
Pricing
from $2.35 / 1,000 price summaries
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
🔎 Compare Vinted asking prices across markets
For resellers and market researchers, this Actor compares sampled Vinted asking prices across country markets. Get price summaries, public listing details, seller data, and saved observations to help decide which offers to review. Use the structured data in a spreadsheet instead of copying each page by hand.
- Compare sampled market prices for Vinted Arbitrage research.
- Collect public offers with the Vinted Scraper example.
- Review public items marked sold with Vinted Sold Listings.
- Save listing presence checks across runs with Vinted Sell Through Tracking.
- Review favourites and views with Vinted Trending Listings.
📊 Market prices and listing evidence
Choose one result type per run. Market comparisons show sampled asking-price ranges and medians, with original currencies kept. Other result types return public listings, item details, seller profiles, or saved price and presence checks.
These are asking prices, not completed sale prices or promised profits. Similar search matches are not proof that items are identical. Extra details appear only when the source provides them. Missing shipping costs stay unknown.
For discovered listings, the first eligible occurrence is saved and later matches for the same source item are ignored. A saved listing reflects its first match.
▶️ Run your Vinted search or watchlist
- Choose a result type.
- For a search, enter one product query and choose markets. A comparison needs at least two markets with usable priced samples.
- For item details or price history, add item links. For seller profiles, add seller links.
- For Sell-through tracking, use either a search or item links. Add a tracking name to keep observations across runs.
- Set filters and a listing limit if needed, then run the Actor and open its dataset.
The Actor reads public data without your Vinted account credentials. Public access can vary by market or link. It continues useful work when some sources are unavailable. Hidden or removed items may be unavailable.
⚙️ Input
Only fields for the chosen result type are used. Search filters apply to product searches. Choose comparison, listings, items, sellers, priceHistory, sellThrough, sold, or trending in resultType.
Input fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Choose the results to return. |
currency | string | Convert sampled market prices to this currency. Original prices and currencies are also kept. |
sellerUrls | array of objects | Vinted seller profile links to inspect. Returns public profile data and visible inventory. |
query | string | One product query. Used for Market comparison, Sourcing listings, Sold listings, Trending listings, and Sell-through tracking by search. For Sell-through tracking, leave this empty when using Item URLs. |
markets | array of strings | Markets for searches and comparisons, subject to public data being available. Select at least two for Market comparison and at least one for a listing search. Choose up to 23. Item and seller URLs use the market in each link. |
itemUrls | array of objects | Vinted item links for Item details, Price history, or Sell-through tracking by watchlist. For Sell-through tracking, use these links or a Product search, not both. |
trackingKey | string | A name for saved observations in Price history and Sell-through tracking. Use the same name and inputs in later runs to compare changes. Trending listings can also use this name to compare engagement across runs. Run this Actor again to collect new observations; this field does not schedule runs. |
minPrice | number | Lowest asking price to include, in each market’s local currency. Applies to searches for Market comparison, Sourcing listings, Sell-through tracking, Sold listings, and Trending listings. |
maxPrice | number | Highest asking price to include, in each market’s local currency. Applies to all product searches. |
brands | array of strings | Brand names or known Vinted brand IDs. Applies to all product searches. |
categories | array of strings | Department or category names, or known Vinted category IDs. Applies to all product searches. |
conditions | array of strings | Item conditions, such as New with tags or Very good. Applies to all product searches. |
sizes | array of strings | Clothing, shoe, or children’s sizes, or known Vinted size IDs. Applies to all product searches. |
colours | array of strings | Colour names or known Vinted colour IDs. Applies to all product searches. |
sort | string | Order for product searches in Market comparison, Sourcing listings, Sell-through tracking, Sold listings, and Trending listings. This sets the search order used to collect listings. |
maxItems | integer | Stop after this many listings across the run, including listings sampled for Market comparison or returned from seller inventory. Leave empty to continue until no more public results are available. |
Leaving maxItems empty returns all available results until the source is exhausted. It has no fixed upper bound. A set limit is a cap, not a promise of that many listings.
Example input
This is the public input from the successful current-beta default-input run.
{"resultType": "comparison","currency": "EUR","query": "Nike Air Max","markets": ["FR","DE"],"maxItems": 20}
🧾 Output
Run output
| Field | Type | What it does |
|---|---|---|
results | string | Links to the result rows in the default dataset overview. |
Dataset rows use the shapes below. Optional source fields may be absent. Failed reads and missing source objects are not saved as result rows.
Market comparison
A comparison is saved only when at least two markets have usable priced samples. Price statistics use each market's original currency. The comparison median uses the chosen currency.
| Field | Type | What it does |
|---|---|---|
resultType | string | The user-selected result type. |
currency | string | The currency used to compare market prices. |
markets | array of objects | Markets with usable samples. At least two are needed. |
markets[].market | string | The country market code. |
markets[].currency | string | The original currency code. |
markets[].pricedSampleCount | integer | The number of listings with usable asking prices. |
markets[].matchingListingCount | integer | The matching listing count reported by the source. |
markets[].askingPrices | object | Sampled asking-price statistics. These are not completed sale prices. |
markets[].askingPrices.average | number | The mean sampled asking price. |
markets[].askingPrices.median | number | The median sampled asking price. |
markets[].askingPrices.lowerQuartile | number | The lower quartile of sampled asking prices. |
markets[].askingPrices.upperQuartile | number | The upper quartile of sampled asking prices. |
markets[].askingPrices.minimum | number | The lowest sampled asking price. |
markets[].askingPrices.maximum | number | The highest sampled asking price. |
markets[].comparisonAskingPrices | object | The median sampled asking price in the comparison currency. |
markets[].comparisonAskingPrices.median | number | The median sampled asking price. |
markets[].medianBuyerPrice | number | The median source buyer price before shipping, in the original currency. |
This complete row comes from a successful run of the current beta build:
{"resultType": "comparison","currency": "EUR","markets": [{"market": "FR","currency": "EUR","pricedSampleCount": 10,"askingPrices": {"average": 47.294,"median": 47,"lowerQuartile": 23.75,"upperQuartile": 73,"minimum": 8,"maximum": 84.99},"comparisonAskingPrices": {"median": 47},"matchingListingCount": 960,"medianBuyerPrice": 50.05},{"market": "DE","currency": "EUR","pricedSampleCount": 10,"askingPrices": {"average": 42.649,"median": 36.995000000000005,"lowerQuartile": 35,"upperQuartile": 48.75,"minimum": 32.5,"maximum": 65},"comparisonAskingPrices": {"median": 36.995000000000005},"matchingListingCount": 960,"medianBuyerPrice": 39.545}]}
Listings, item details, sold listings, and trending listings
These result types share one shape. Sold listings must be marked sold by the source. An empty sold-listing search is valid when none are public. Trending listings can keep engagement observations across runs when you use a tracking name.
| Field | Type | What it does |
|---|---|---|
resultType | string | The user-selected result type. |
itemId | string | Vinted item ID. Use it to join observations for the same item. |
url | string | The public Vinted item page. |
title | string | The listing title. |
market | string | The country market code. |
askingPrice | object | An amount in its stated currency. |
askingPrice.amount | number | The money amount. |
askingPrice.currency | string | The currency code. |
description | string | The listing text supplied by the seller. |
brand | string | The source brand name. |
size | string | The source size label. |
condition | string | The source item condition. |
categoryPath | array of strings | The source category path, from broad to specific. |
colours | array of strings | Colours stated by the seller. |
imageUrls | array of strings | Source-hosted listing image links. |
buyerProtectionFee | object | An amount in its stated currency. |
buyerProtectionFee.amount | number | The money amount. |
buyerProtectionFee.currency | string | The currency code. |
cheapestShippingEstimate | object | The cheapest shipping amount advertised by the source. Actual checkout costs can differ. |
cheapestShippingEstimate.amount | number | The money amount. |
cheapestShippingEstimate.currency | string | The currency code. |
availability | string | The source availability of a public listing that was read successfully. Omitted when not shown. |
favourites | integer | The source favourite count. |
views | integer | The source view count. |
promoted | boolean | Whether the source marks the listing as promoted. |
businessSeller | boolean | Whether the source identifies a business seller. |
language | object | A best-effort listing language with its basis. |
language.code | string | The language code. |
language.basis | string | How the language was chosen. |
originalRetailPrice | object | The original retail price explicitly shown by the source. |
originalRetailPrice.amount | number | The money amount. |
originalRetailPrice.currency | string | The currency code. |
dominantPhotoColour | string | The main photo colour reported by the source. Omitted when not shown. |
seller | object | Public seller identity shown with the listing. |
seller.sellerId | string | Vinted seller ID for joining listing and profile records. |
seller.username | string | The seller name shown by the source. |
engagementObservations | array of objects | Saved engagement observations across runs when tracking is used. |
engagementObservations[].observedAt | string | When these engagement values were read. |
engagementObservations[].favourites | integer | The source favourite count. |
engagementObservations[].views | integer | The source view count. |
This complete row comes from a successful run of the current beta build:
{"resultType": "sold","itemId": "10154998722","url": "https://www.vinted.fr/items/10154998722","market": "FR","title": "Basket Nike","askingPrice": {"amount": 28,"currency": "EUR"},"description": "Le taille de basket 42 🤍🖤🤌✈️\nTrès bonne état \nEnvoie rapide ✈️✈️","categoryPath": ["Hommes","Chaussures","Baskets"],"colours": ["Blanc","Noir"],"brand": "Nike","size": "42","condition": "Très bon état","availability": "sold","imageUrls": ["https://images1.vinted.net/t/05_0257c_SNzY6tcPxGyhjzQDHVqGVr9k/f800/bc59a0f8.webp?s=04469bd865f545d230baa971f8827bc4ecb1d32a","https://images1.vinted.net/t/05_0069d_ucD1mvZER9HFkEj9fAuCzpiT/f800/08dec20b.webp?s=9f9ee313fd5ef38660093f2050fddc7071509d17","https://images1.vinted.net/t/05_02702_DW7Em4aHxSw7assunVjiYaYi/f800/6ba6465b.webp?s=c40c2b0305b996d3b879a607e42323136a6e3029","https://images1.vinted.net/t/03_017a0_GEZcRHKqxFAwEfzFqRzbCwNw/f800/aff5bb2c.webp?s=d9b6291104d8136a0a596cb90afd630aeab33636","https://images1.vinted.net/t/05_0265f_TVzb7zGYCBHDPt6bxj9VsbUw/f800/6812bb40.webp?s=610f2357bed11e84290c4ad14736f8559191f1fb","https://images1.vinted.net/t/05_01aa3_cJEsXFSxviGR1KHpAYmcsZ9F/f800/ebc9bad1.webp?s=c63180286dbfaef4986f21b6b059ad491a85e3f0","https://images1.vinted.net/t/05_0174d_vbziXztnNNqDA86HLuFjrK6U/f800/36613cb5.webp?s=aaede2e82373b77f50c2809b7dbd1c6ab9039f91","https://images1.vinted.net/t/05_01e11_a2fiZwnraAtHxuHUTKFdXgLs/f800/b3ffff3b.webp?s=a671101a8ba3b6164585e717ba3ca6ef3f9c6c35","https://images1.vinted.net/t/04_01a5c_2RnxxR2KiQvxRkTCx8PBLAGk/f800/8655476e.webp?s=b7e017143210189f53c721414395bf39a805204e"],"favourites": 16,"seller": {"sellerId": "3129734148","username": "zamanof"},"businessSeller": false,"language": {"code": "fr","basis": "marketFallback"}}
Seller profiles
Seller rows can hold public profile facts, reviews, or visible inventory. Inventory counts come from the source and may exceed the returned listing sample. The example shows a profile with an inventory listing.
| Field | Type | What it does |
|---|---|---|
resultType | string | The user-selected result type. |
seller | object | A public seller profile read successfully. |
seller.sellerId | string | Vinted seller ID for joining profile records. |
seller.url | string | The public seller profile page. |
seller.username | string | The source seller name. |
seller.market | string | The country market code. |
seller.rating | number | The seller rating shown by the source. |
seller.reviewCount | integer | The source review count. |
seller.verification | object | Verification signals shown by the source. |
seller.verification.emailVerified | boolean | Whether the source reports verified email. |
seller.verification.identityVerified | boolean | Whether the source reports verified identity. |
seller.inventoryCount | integer | The full inventory count reported by the source, not the size of the returned listing sample. |
seller.soldItemCount | integer | The sold-item count reported by the source. |
seller.followerCount | integer | The source follower count. |
seller.followingCount | integer | The source following count. |
seller.listings | array of objects | Public inventory listings read successfully. |
seller.listings[].itemId | string | Vinted item ID. Use it to join observations for the same item. |
seller.listings[].url | string | The public Vinted item page. |
seller.listings[].title | string | The listing title. |
seller.listings[].market | string | The country market code. |
seller.listings[].askingPrice | object | An amount in its stated currency. |
seller.listings[].askingPrice.amount | number | The money amount. |
seller.listings[].askingPrice.currency | string | The currency code. |
seller.listings[].description | string | The listing text supplied by the seller. |
seller.listings[].brand | string | The source brand name. |
seller.listings[].size | string | The source size label. |
seller.listings[].condition | string | The source item condition. |
seller.listings[].categoryPath | array of strings | The source category path, from broad to specific. |
seller.listings[].colours | array of strings | Colours stated by the seller. |
seller.listings[].imageUrls | array of strings | Source-hosted listing image links. |
seller.listings[].buyerProtectionFee | object | An amount in its stated currency. |
seller.listings[].buyerProtectionFee.amount | number | The money amount. |
seller.listings[].buyerProtectionFee.currency | string | The currency code. |
seller.listings[].cheapestShippingEstimate | object | The cheapest shipping amount advertised by the source. Actual checkout costs can differ. |
seller.listings[].cheapestShippingEstimate.amount | number | The money amount. |
seller.listings[].cheapestShippingEstimate.currency | string | The currency code. |
seller.listings[].availability | string | The source availability of a public listing that was read successfully. Omitted when not shown. |
seller.listings[].favourites | integer | The source favourite count. |
seller.listings[].views | integer | The source view count. |
seller.listings[].promoted | boolean | Whether the source marks the listing as promoted. |
seller.listings[].businessSeller | boolean | Whether the source identifies a business seller. |
seller.listings[].language | object | A best-effort listing language with its basis. |
seller.listings[].language.code | string | The language code. |
seller.listings[].language.basis | string | How the language was chosen. |
seller.listings[].originalRetailPrice | object | The original retail price explicitly shown by the source. |
seller.listings[].originalRetailPrice.amount | number | The money amount. |
seller.listings[].originalRetailPrice.currency | string | The currency code. |
seller.listings[].dominantPhotoColour | string | The main photo colour reported by the source. Omitted when not shown. |
seller.listings[].seller | object | Public seller identity shown with the listing. |
seller.listings[].seller.sellerId | string | Vinted seller ID for joining listing and profile records. |
seller.listings[].seller.username | string | The seller name shown by the source. |
seller.location | object | The public location shown by the seller profile. |
seller.location.country | string | The country shown by the source. |
seller.location.city | string | The city shown by the source. |
seller.lastSeenAt | string | The last activity time shown by the source. |
seller.reviews | array of objects | Public seller reviews read from the source. |
seller.reviews[].text | string | The review text. |
seller.reviews[].rating | number | The rating supplied with the review. |
seller.reviews[].createdAt | string | The review date shown by the source. |
seller.reviews[].reviewerUsername | string | The reviewer name shown by the source. |
This complete row comes from a successful run of the current beta build:
{"resultType": "sellers","seller": {"sellerId": "15838635","url": "https://www.vinted.fr/member/15838635-ti-mano","username": "ti-mano","market": "FR","rating": 4.9,"reviewCount": 232,"inventoryCount": 7,"soldItemCount": 238,"followerCount": 17,"followingCount": 0,"verification": {"emailVerified": true},"location": {"country": "France","city": "Rennes"},"lastSeenAt": "2026-10-02T21:46:58+02:00","listings": [{"itemId": "10217278635","url": "https://www.vinted.fr/items/10217278635-dune-awakening-day-one-ps5-neuf-bonus-30","title": "Dune Awakening Day One PS5 neuf + bonus -30%","market": "FR","askingPrice": {"amount": 35,"currency": "EUR"},"buyerProtectionFee": {"amount": 2.45,"currency": "EUR"},"favourites": 13,"views": 0,"promoted": false,"businessSeller": false,"imageUrls": ["https://images1.vinted.net/t/04_010c5_wxWke12NqWTa6U8zDYEYc4cX/f800/6f9b9363.webp?s=55feb8e693146e7f0d1fefdb5663f832e02915d9","https://images1.vinted.net/t/06_0041a_unyqz5URMJC75GBUdVQone5z/f800/618529e9.webp?s=c0148fc6fcd6e63c04bb47743c395f2df59ef61d"],"dominantPhotoColour": "#9B8970","seller": {"sellerId": "15838635","username": "ti-mano"},"condition": "Neuf avec étiquette","description": "Dune Awakening sur PS5, édition Day One. Neuf, jamais ouvert, sous blister.\n\nLe bonus Day One est inclus : terrarium Muad'Dib et skin Sunset.\n\nPrix boutique 49,99 €, je le propose à 35 €.\n\nJe le vends car j'ai trop de jeux en attente.\n\nRemise en main propre à Rennes ou envoi suivi.","categoryPath": ["Électronique","Jeux vidéo et consoles","Jeux"],"availability": "active","language": {"code": "fr","basis": "textInference"},"originalRetailPrice": {"amount": 49.99,"currency": "EUR"},"cheapestShippingEstimate": {"amount": 1.95,"currency": "EUR"}}]}}
Price history
Use the same tracking name and item links in later runs to keep dated asking-price observations. Price history starts with the observations this Actor collects; it does not supply past prices from before those runs.
| Field | Type | What it does |
|---|---|---|
resultType | string | The user-selected result type. |
item | object | A public listing read successfully. Missing extra details do not invalidate it. |
item.itemId | string | Vinted item ID. Use it to join observations for the same item. |
item.url | string | The public Vinted item page. |
item.title | string | The listing title. |
item.market | string | The country market code. |
item.askingPrice | object | An amount in its stated currency. |
item.askingPrice.amount | number | The money amount. |
item.askingPrice.currency | string | The currency code. |
item.description | string | The listing text supplied by the seller. |
item.brand | string | The source brand name. |
item.size | string | The source size label. |
item.condition | string | The source item condition. |
item.categoryPath | array of strings | The source category path, from broad to specific. |
item.colours | array of strings | Colours stated by the seller. |
item.imageUrls | array of strings | Source-hosted listing image links. |
item.buyerProtectionFee | object | An amount in its stated currency. |
item.buyerProtectionFee.amount | number | The money amount. |
item.buyerProtectionFee.currency | string | The currency code. |
item.cheapestShippingEstimate | object | The cheapest shipping amount advertised by the source. Actual checkout costs can differ. |
item.cheapestShippingEstimate.amount | number | The money amount. |
item.cheapestShippingEstimate.currency | string | The currency code. |
item.availability | string | The source availability of a public listing that was read successfully. Omitted when not shown. |
item.favourites | integer | The source favourite count. |
item.views | integer | The source view count. |
item.promoted | boolean | Whether the source marks the listing as promoted. |
item.businessSeller | boolean | Whether the source identifies a business seller. |
item.language | object | A best-effort listing language with its basis. |
item.language.code | string | The language code. |
item.language.basis | string | How the language was chosen. |
item.originalRetailPrice | object | The original retail price explicitly shown by the source. |
item.originalRetailPrice.amount | number | The money amount. |
item.originalRetailPrice.currency | string | The currency code. |
item.dominantPhotoColour | string | The main photo colour reported by the source. Omitted when not shown. |
item.seller | object | Public seller identity shown with the listing. |
item.seller.sellerId | string | Vinted seller ID for joining listing and profile records. |
item.seller.username | string | The seller name shown by the source. |
observations | array of objects | Successful asking-price observations across runs. |
observations[].observedAt | string | When this price was observed. |
observations[].askingPrice | object | An amount in its stated currency. |
observations[].askingPrice.amount | number | The money amount. |
observations[].askingPrice.currency | string | The currency code. |
This complete row comes from a successful run of the current beta build:
{"resultType": "priceHistory","item": {"itemId": "10193529995","url": "https://www.vinted.fr/items/10193529995-nike-air-max-exosence","market": "FR","title": "Nike Air max exosence","askingPrice": {"amount": 22,"currency": "EUR"},"description": "Bon état (voir photos)\nPas de boîte d'origine","categoryPath": ["Femmes","Chaussures","Baskets"],"colours": ["Blanc","Vert"],"brand": "Nike Air","size": "36","condition": "Bon état","availability": "active","imageUrls": ["https://images1.vinted.net/t/02_01091_sfXH6rrecuW4jfaZFqBJwt8h/f800/d7659903.webp?s=c1a05966d6279551947537f26f1169344982f229","https://images1.vinted.net/t/03_0241a_QRTKa8GZJJNS75gHEgfPE7nE/f800/7d605900.webp?s=3ea97a47c5d90ecad04e6fb2e546d87cb855a1c0","https://images1.vinted.net/t/04_016d4_NTTBTDAT5UxDNzT7jFCzkP3E/f800/317c4007.webp?s=6e2ef7b82d6d4cf8a4c10867b08ed2775989758d","https://images1.vinted.net/t/01_00c41_LzrMUuhGY7dZrhTDFdmo4ESq/f800/f629a2ec.webp?s=e2fe625aa4fbe5fb8698ff3f2226d5d9b092f9d7","https://images1.vinted.net/t/02_022b7_ynSAN81qFwx46Y2yKsFNfH8B/f800/d2add02b.webp?s=f7ac7b813c65258757818760af0a53d407d58b13","https://images1.vinted.net/t/06_02284_oPPc5wzsV4xs4j5GurGYRPUH/f800/71fe710c.webp?s=020451e7aa145c1ba2ceafdae793fb4095292b16","https://images1.vinted.net/t/06_0027c_2vR4iBeG2xXdRjjGLDUWshvt/f800/3e7a3735.webp?s=321dfe26b3dca77e060da140e570567bcd8df464","https://images1.vinted.net/t/02_002c5_yJXyrizJVhHJ8ompMRDHDEPi/f800/4188d464.webp?s=3190673b929d2f9e7b100291adaf5fda1ab5e7ec","https://images1.vinted.net/t/04_01b80_GdNjHa2pzFRibuxULvyuLedR/f800/6d76e473.webp?s=c3058e02b74085b1f8bd5edf46af2405cfe014a6","https://images1.vinted.net/t/06_00f38_wH6jx96akSuchStKggCytmWx/f800/7bb11baa.webp?s=c300b4fd3b798dff16349b6fc0d38f6879e8102a"],"favourites": 21,"seller": {"sellerId": "37470874","username": "ccpad48"},"businessSeller": false,"language": {"code": "fr","basis": "marketFallback"},"views": 0,"promoted": false,"dominantPhotoColour": "#919597","buyerProtectionFee": {"amount": 1.8,"currency": "EUR"},"cheapestShippingEstimate": {"amount": 2.88,"currency": "EUR"}},"observations": [{"observedAt": "2026-10-02T19:12:13.973Z","askingPrice": {"amount": 22,"currency": "EUR"}},{"observedAt": "2026-10-02T19:14:59.334Z","askingPrice": {"amount": 22,"currency": "EUR"}},{"observedAt": "2026-10-02T20:07:03.580Z","askingPrice": {"amount": 22,"currency": "EUR"}},{"observedAt": "2026-10-02T20:10:11.501Z","askingPrice": {"amount": 22,"currency": "EUR"}}]}
Sell-through tracking
Saved presence checks cover listings read successfully before. Failed or incomplete checks are excluded. A missing listing does not prove a sale. Only explicit source availability can mark it sold.
| Field | Type | What it does |
|---|---|---|
resultType | string | The user-selected result type. |
trackedItems | array of objects | Items with successful saved observations and their tracked states. |
trackedItems[].itemId | string | Vinted item ID for joining observations. |
trackedItems[].url | string | The item page. |
trackedItems[].title | string | The last successfully read title. |
trackedItems[].market | string | The country market code. |
trackedItems[].lastAskingPrice | object | An amount in its stated currency. |
trackedItems[].lastAskingPrice.amount | number | The money amount. |
trackedItems[].lastAskingPrice.currency | string | The currency code. |
trackedItems[].presenceObservations | array of objects | Dated presence checks across runs. Failed or incomplete checks are excluded. |
trackedItems[].presenceObservations[].observedAt | string | When this presence check was completed. |
trackedItems[].presenceObservations[].present | boolean | Whether the item was found in this complete source check. |
trackedItems[].presenceObservations[].availability | string | The source availability when the item was read successfully. |
This complete row comes from a successful run of the current beta build:
{"resultType": "sellThrough","trackedItems": [{"itemId": "10193529995","url": "https://www.vinted.fr/items/10193529995-nike-air-max-exosence","title": "Nike Air max exosence","market": "FR","lastAskingPrice": {"amount": 22,"currency": "EUR"},"presenceObservations": [{"observedAt": "2026-10-02T19:12:10.237Z","present": true,"availability": "active"},{"observedAt": "2026-10-02T19:15:01.462Z","present": true,"availability": "active"},{"observedAt": "2026-10-02T20:05:09.986Z","present": true,"availability": "active"},{"observedAt": "2026-10-02T20:09:34.687Z","present": true,"availability": "active"}]}]}
💳 Pricing
This Actor uses pay-per-event pricing.
- Listing: one public listing read and delivered to you.
- Price summary: one market's sampled prices in a successful comparison with at least two usable markets.
The Store pricing panel shows current prices and tiers. Listing charges also apply to listings read for comparisons and seller inventory. Empty searches, failed reads, and setup work do not count as these paid outcomes.
🔌 Integrations
Start runs and read dataset rows through the Apify API. Use Apify schedules for repeat checks, download dataset exports for spreadsheets, or send finished-run data to webhooks.
❓ FAQ
Does a missing listing mean it sold?
No. A listing may be hidden or removed. Presence tracking keeps dated checks separate from explicit sold status. Failed or incomplete checks do not become absence evidence.
Do comparison prices include buyer protection and shipping?
Asking-price statistics describe the listed asking price. medianBuyerPrice, when available, gives the source buyer price before shipping. Listings can include buyer-protection fees and source-advertised shipping estimates. Actual checkout costs can differ.
Are results available in every selected market?
Only where public data is available. You can choose up to 23 markets, including the United States. Access can differ by country or listing. A comparison requires usable samples from at least two markets.
Can I compare prices in another currency?
Yes. Choose a supported comparison currency. Original amounts and currencies remain in the output. Search price filters still use each market's local currency.
Does a tracking name schedule future runs?
No. Run the Actor again with the same tracking name and inputs to collect new observations. You can use an Apify schedule to start repeat runs.
Why did I get fewer listings than my limit?
The limit is a cap. The source may have fewer public matches, or some links may be unavailable. Leave the limit empty to collect all available results until the source is exhausted.
Does this buy items or guarantee resale profit?
No. It returns public marketplace data for your research. It does not buy, sell, or message sellers. Asking-price differences do not prove a profit after fees, shipping, and other costs.
Do I need to share my Vinted login?
No. You do not need to supply Vinted account credentials for the public data this Actor returns.
📝 Changelog
v0.0 (03-10-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- eBay Seller Scraper. Review public seller profiles, listing snippets, and feedback for resale research.
- Facebook Marketplace Listings Scraper. Compare local second-hand offers by price, location, and availability.
- Whatnot Seller Scraper. Research public resale listings, seller profiles, and live shows.
- Vinted Scraper: Search, Items, Prices & Profiles. Collect Vinted search, item, and profile data for listing research.
- Vinted Demand & Sell-Through Scraper. Explore another Vinted tool for demand and listing-presence research.
Made with ❤️ by Maxime Dupré