Vinted Cross-Country Arbitrage Scanner avatar

Vinted Cross-Country Arbitrage Scanner

Pricing

from $2.35 / 1,000 price summaries

Go to Apify Store
Vinted Cross-Country Arbitrage Scanner

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

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.

📊 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

  1. Choose a result type.
  2. For a search, enter one product query and choose markets. A comparison needs at least two markets with usable priced samples.
  3. For item details or price history, add item links. For seller profiles, add seller links.
  4. For Sell-through tracking, use either a search or item links. Add a tracking name to keep observations across runs.
  5. 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

FieldTypeWhat it does
resultTypestringChoose the results to return.
currencystringConvert sampled market prices to this currency. Original prices and currencies are also kept.
sellerUrlsarray of objectsVinted seller profile links to inspect. Returns public profile data and visible inventory.
querystringOne 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.
marketsarray of stringsMarkets 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.
itemUrlsarray of objectsVinted 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.
trackingKeystringA 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.
minPricenumberLowest 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.
maxPricenumberHighest asking price to include, in each market’s local currency. Applies to all product searches.
brandsarray of stringsBrand names or known Vinted brand IDs. Applies to all product searches.
categoriesarray of stringsDepartment or category names, or known Vinted category IDs. Applies to all product searches.
conditionsarray of stringsItem conditions, such as New with tags or Very good. Applies to all product searches.
sizesarray of stringsClothing, shoe, or children’s sizes, or known Vinted size IDs. Applies to all product searches.
coloursarray of stringsColour names or known Vinted colour IDs. Applies to all product searches.
sortstringOrder 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.
maxItemsintegerStop 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

FieldTypeWhat it does
resultsstringLinks 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.

FieldTypeWhat it does
resultTypestringThe user-selected result type.
currencystringThe currency used to compare market prices.
marketsarray of objectsMarkets with usable samples. At least two are needed.
markets[].marketstringThe country market code.
markets[].currencystringThe original currency code.
markets[].pricedSampleCountintegerThe number of listings with usable asking prices.
markets[].matchingListingCountintegerThe matching listing count reported by the source.
markets[].askingPricesobjectSampled asking-price statistics. These are not completed sale prices.
markets[].askingPrices.averagenumberThe mean sampled asking price.
markets[].askingPrices.mediannumberThe median sampled asking price.
markets[].askingPrices.lowerQuartilenumberThe lower quartile of sampled asking prices.
markets[].askingPrices.upperQuartilenumberThe upper quartile of sampled asking prices.
markets[].askingPrices.minimumnumberThe lowest sampled asking price.
markets[].askingPrices.maximumnumberThe highest sampled asking price.
markets[].comparisonAskingPricesobjectThe median sampled asking price in the comparison currency.
markets[].comparisonAskingPrices.mediannumberThe median sampled asking price.
markets[].medianBuyerPricenumberThe 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.

FieldTypeWhat it does
resultTypestringThe user-selected result type.
itemIdstringVinted item ID. Use it to join observations for the same item.
urlstringThe public Vinted item page.
titlestringThe listing title.
marketstringThe country market code.
askingPriceobjectAn amount in its stated currency.
askingPrice.amountnumberThe money amount.
askingPrice.currencystringThe currency code.
descriptionstringThe listing text supplied by the seller.
brandstringThe source brand name.
sizestringThe source size label.
conditionstringThe source item condition.
categoryPatharray of stringsThe source category path, from broad to specific.
coloursarray of stringsColours stated by the seller.
imageUrlsarray of stringsSource-hosted listing image links.
buyerProtectionFeeobjectAn amount in its stated currency.
buyerProtectionFee.amountnumberThe money amount.
buyerProtectionFee.currencystringThe currency code.
cheapestShippingEstimateobjectThe cheapest shipping amount advertised by the source. Actual checkout costs can differ.
cheapestShippingEstimate.amountnumberThe money amount.
cheapestShippingEstimate.currencystringThe currency code.
availabilitystringThe source availability of a public listing that was read successfully. Omitted when not shown.
favouritesintegerThe source favourite count.
viewsintegerThe source view count.
promotedbooleanWhether the source marks the listing as promoted.
businessSellerbooleanWhether the source identifies a business seller.
languageobjectA best-effort listing language with its basis.
language.codestringThe language code.
language.basisstringHow the language was chosen.
originalRetailPriceobjectThe original retail price explicitly shown by the source.
originalRetailPrice.amountnumberThe money amount.
originalRetailPrice.currencystringThe currency code.
dominantPhotoColourstringThe main photo colour reported by the source. Omitted when not shown.
sellerobjectPublic seller identity shown with the listing.
seller.sellerIdstringVinted seller ID for joining listing and profile records.
seller.usernamestringThe seller name shown by the source.
engagementObservationsarray of objectsSaved engagement observations across runs when tracking is used.
engagementObservations[].observedAtstringWhen these engagement values were read.
engagementObservations[].favouritesintegerThe source favourite count.
engagementObservations[].viewsintegerThe 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.

FieldTypeWhat it does
resultTypestringThe user-selected result type.
sellerobjectA public seller profile read successfully.
seller.sellerIdstringVinted seller ID for joining profile records.
seller.urlstringThe public seller profile page.
seller.usernamestringThe source seller name.
seller.marketstringThe country market code.
seller.ratingnumberThe seller rating shown by the source.
seller.reviewCountintegerThe source review count.
seller.verificationobjectVerification signals shown by the source.
seller.verification.emailVerifiedbooleanWhether the source reports verified email.
seller.verification.identityVerifiedbooleanWhether the source reports verified identity.
seller.inventoryCountintegerThe full inventory count reported by the source, not the size of the returned listing sample.
seller.soldItemCountintegerThe sold-item count reported by the source.
seller.followerCountintegerThe source follower count.
seller.followingCountintegerThe source following count.
seller.listingsarray of objectsPublic inventory listings read successfully.
seller.listings[].itemIdstringVinted item ID. Use it to join observations for the same item.
seller.listings[].urlstringThe public Vinted item page.
seller.listings[].titlestringThe listing title.
seller.listings[].marketstringThe country market code.
seller.listings[].askingPriceobjectAn amount in its stated currency.
seller.listings[].askingPrice.amountnumberThe money amount.
seller.listings[].askingPrice.currencystringThe currency code.
seller.listings[].descriptionstringThe listing text supplied by the seller.
seller.listings[].brandstringThe source brand name.
seller.listings[].sizestringThe source size label.
seller.listings[].conditionstringThe source item condition.
seller.listings[].categoryPatharray of stringsThe source category path, from broad to specific.
seller.listings[].coloursarray of stringsColours stated by the seller.
seller.listings[].imageUrlsarray of stringsSource-hosted listing image links.
seller.listings[].buyerProtectionFeeobjectAn amount in its stated currency.
seller.listings[].buyerProtectionFee.amountnumberThe money amount.
seller.listings[].buyerProtectionFee.currencystringThe currency code.
seller.listings[].cheapestShippingEstimateobjectThe cheapest shipping amount advertised by the source. Actual checkout costs can differ.
seller.listings[].cheapestShippingEstimate.amountnumberThe money amount.
seller.listings[].cheapestShippingEstimate.currencystringThe currency code.
seller.listings[].availabilitystringThe source availability of a public listing that was read successfully. Omitted when not shown.
seller.listings[].favouritesintegerThe source favourite count.
seller.listings[].viewsintegerThe source view count.
seller.listings[].promotedbooleanWhether the source marks the listing as promoted.
seller.listings[].businessSellerbooleanWhether the source identifies a business seller.
seller.listings[].languageobjectA best-effort listing language with its basis.
seller.listings[].language.codestringThe language code.
seller.listings[].language.basisstringHow the language was chosen.
seller.listings[].originalRetailPriceobjectThe original retail price explicitly shown by the source.
seller.listings[].originalRetailPrice.amountnumberThe money amount.
seller.listings[].originalRetailPrice.currencystringThe currency code.
seller.listings[].dominantPhotoColourstringThe main photo colour reported by the source. Omitted when not shown.
seller.listings[].sellerobjectPublic seller identity shown with the listing.
seller.listings[].seller.sellerIdstringVinted seller ID for joining listing and profile records.
seller.listings[].seller.usernamestringThe seller name shown by the source.
seller.locationobjectThe public location shown by the seller profile.
seller.location.countrystringThe country shown by the source.
seller.location.citystringThe city shown by the source.
seller.lastSeenAtstringThe last activity time shown by the source.
seller.reviewsarray of objectsPublic seller reviews read from the source.
seller.reviews[].textstringThe review text.
seller.reviews[].ratingnumberThe rating supplied with the review.
seller.reviews[].createdAtstringThe review date shown by the source.
seller.reviews[].reviewerUsernamestringThe 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.

FieldTypeWhat it does
resultTypestringThe user-selected result type.
itemobjectA public listing read successfully. Missing extra details do not invalidate it.
item.itemIdstringVinted item ID. Use it to join observations for the same item.
item.urlstringThe public Vinted item page.
item.titlestringThe listing title.
item.marketstringThe country market code.
item.askingPriceobjectAn amount in its stated currency.
item.askingPrice.amountnumberThe money amount.
item.askingPrice.currencystringThe currency code.
item.descriptionstringThe listing text supplied by the seller.
item.brandstringThe source brand name.
item.sizestringThe source size label.
item.conditionstringThe source item condition.
item.categoryPatharray of stringsThe source category path, from broad to specific.
item.coloursarray of stringsColours stated by the seller.
item.imageUrlsarray of stringsSource-hosted listing image links.
item.buyerProtectionFeeobjectAn amount in its stated currency.
item.buyerProtectionFee.amountnumberThe money amount.
item.buyerProtectionFee.currencystringThe currency code.
item.cheapestShippingEstimateobjectThe cheapest shipping amount advertised by the source. Actual checkout costs can differ.
item.cheapestShippingEstimate.amountnumberThe money amount.
item.cheapestShippingEstimate.currencystringThe currency code.
item.availabilitystringThe source availability of a public listing that was read successfully. Omitted when not shown.
item.favouritesintegerThe source favourite count.
item.viewsintegerThe source view count.
item.promotedbooleanWhether the source marks the listing as promoted.
item.businessSellerbooleanWhether the source identifies a business seller.
item.languageobjectA best-effort listing language with its basis.
item.language.codestringThe language code.
item.language.basisstringHow the language was chosen.
item.originalRetailPriceobjectThe original retail price explicitly shown by the source.
item.originalRetailPrice.amountnumberThe money amount.
item.originalRetailPrice.currencystringThe currency code.
item.dominantPhotoColourstringThe main photo colour reported by the source. Omitted when not shown.
item.sellerobjectPublic seller identity shown with the listing.
item.seller.sellerIdstringVinted seller ID for joining listing and profile records.
item.seller.usernamestringThe seller name shown by the source.
observationsarray of objectsSuccessful asking-price observations across runs.
observations[].observedAtstringWhen this price was observed.
observations[].askingPriceobjectAn amount in its stated currency.
observations[].askingPrice.amountnumberThe money amount.
observations[].askingPrice.currencystringThe 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.

FieldTypeWhat it does
resultTypestringThe user-selected result type.
trackedItemsarray of objectsItems with successful saved observations and their tracked states.
trackedItems[].itemIdstringVinted item ID for joining observations.
trackedItems[].urlstringThe item page.
trackedItems[].titlestringThe last successfully read title.
trackedItems[].marketstringThe country market code.
trackedItems[].lastAskingPriceobjectAn amount in its stated currency.
trackedItems[].lastAskingPrice.amountnumberThe money amount.
trackedItems[].lastAskingPrice.currencystringThe currency code.
trackedItems[].presenceObservationsarray of objectsDated presence checks across runs. Failed or incomplete checks are excluded.
trackedItems[].presenceObservations[].observedAtstringWhen this presence check was completed.
trackedItems[].presenceObservations[].presentbooleanWhether the item was found in this complete source check.
trackedItems[].presenceObservations[].availabilitystringThe 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 🫡

Made with ❤️ by Maxime Dupré