ParseForge Scrapers

Vinted Scraper

parseforge/vinted-scraper

E-commerceLead generation

Scrapes Vinted product listings from a keyword search. Returns each item as a flat row with price, brand, size, photo URLs, and seller info. Export to CSV, JSON, Excel, or XML.

Run this scraper See the API call
Total users
4
Monthly active
0
Total runs
121
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Vinted Scraper

Scrape secondhand fashion listings from Vinted by keyword, up to a million per run. Every item comes with its price, brand, size, photo URLs, and seller info. No login or API key. Export to CSV, JSON, Excel, or XML.

Vinted's official API is closed to the public, and manual browsing across its many country domains is slow. This actor reads the public search feeds directly, so you can pull thousands of listings for a keyword like 'vintage jacket' or 'Nike sneakers' in one structured dataset. It filters by price, sort order, brand ID, and size ID as it runs, returning only the matches you need.

Who uses it What they scrape Vinted for
Resellers Spotting undervalued items to flip for a profit.
Market researchers Tracking which brands and styles are saturating the secondhand market.
Data journalists Analyzing pricing trends in circular fashion across different countries.
E-commerce managers Monitoring competitor pricing on pre-owned inventory.

What it does

This Actor collects Vinted product listings from a keyword search and returns each one as a flat row with price, brand, size, photo, and seller details.

  • πŸ” Keyword search: feed it any term like 'leather boots' or 'Zara dress' and get every matching listing.
  • πŸ’° Price range filter: set a minimum and maximum price to isolate items within your budget or margin.
  • 🏷️ Brand and size IDs: pass comma-separated Vinted brand or size IDs to narrow results to specific catalogs.
  • πŸ“Š Sort control: order results by newest first, price low-to-high, price high-to-low, or relevance.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Vinted data

πŸ“ˆ Monitor resale prices.

A vintage reseller runs the actor daily for 'Carhartt jacket' with a max price filter to find new bargains before they sell.

🧡 Analyze fashion trends.

A market researcher scrapes thousands of listings for 'Y2K dress' to report which colors and sizes are most listed this quarter.

πŸ›’ Feed a niche shop.

An e-commerce manager pulls all listings for a set of brand IDs and imports the structured data into their own storefront.

πŸ“° Investigate circular economy.

A data journalist collects pricing data across multiple Vinted country domains to compare secondhand inflation rates.

Why choose this scraper

What you get
No API key needed Reads public search pages, so you skip OAuth and rate-limit headaches.
Flat, predictable schema Every listing arrives as one row with the same columns, ready for your spreadsheet or database.
Up to 1M listings One long run can pull a deep catalog for a keyword, limited only by what Vinted shows.
Multi-format export Download as CSV, JSON, Excel, or XML directly from your Apify dataset.

How it compares

This actor focuses on high-volume keyword search with direct price and ID filters, while competitors add profile scraping or pay-per-result pricing.

Feature ParseForge Vinted Scraper: Search, Items, Prices & Profiles ⚑ Vinted Turbo Scraper Vinted Scraper Ppr
Keyword search input Yes Yes Not listed Yes
Price range filter Yes Yes Not listed Yes
Brand ID filter Yes Yes Not listed Yes
Size ID filter Yes Not listed Not listed Yes
User profile scraping Not listed Yes Not listed Not listed
Pay-per-result pricing Not listed Not listed Not listed Yes

Configure the run

Drive the Actor from a single search keyword, and optionally narrow results with price range, sort order, and brand or size IDs so only the listings you want land in your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "searchText": "vintage jacket",
  "maxItems": 10
}

A larger pull:

{
  "searchText": "vintage jacket",
  "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Vinted Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Vinted through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/vinted-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your search term is spelled correctly and that the price range or brand/size IDs are not too restrictive. Try running with only the search text first, then add filters one by one.

The actor returns fewer listings than my maxItems setting.

Vinted only shows a finite number of pages for any search. If your filters are narrow or the keyword is uncommon, the total available listings may be less than your requested maximum.

I get blocked or see captcha errors.

Increase the run's memory to 4096 MB and enable Apify's residential proxies in the actor's advanced settings. This rotates IP addresses and reduces the chance of being flagged.

The price filter does not seem to work.

Make sure you are entering the price in the currency of the Vinted domain you are targeting. A price of 10 on the French site means 10 EUR, while on the Polish site it means 10 PLN.

My brand ID filter is ignored.

Brand IDs are integers separated by commas with no spaces, like '53,14'. Verify the IDs by checking the URL on Vinted after applying a brand filter manually.

FAQ

Question Answer
Can I scrape Vinted without an account? Yes. This actor reads the public search pages that anyone can see in a browser. No login, cookies, or API registration is required.
How do I find the brand ID or size ID for a filter? Go to Vinted in your browser, apply a brand or size filter, and look at the URL. The number after 'brand_id[]=' or 'size_id[]=' is the ID you paste into the actor input.
Which Vinted country sites does this support? The actor hits the domain you configure in the run. You can target any Vinted country marketplace by setting the correct base URL in the actor's advanced options.
What data fields do I get for each listing? You get the title, price, currency, brand, size, condition, photo URLs, seller username, and the listing URL. The exact field list is shown in the sample output on the actor's page.
Can I scrape multiple search terms in one run? The input takes one search term per run. To scrape multiple keywords, run the actor in parallel for each term or use an array of runs from a scheduler.
Is there a limit on how many listings I can collect? You set the maximum in the input, up to 1,000,000. The actual number depends on how many results Vinted returns for your search and filters.
Does this actor handle Vinted's anti-bot measures? It runs on Apify's infrastructure with rotating proxies and browser-like headers to reduce blocking. For very large runs, consider using Apify's residential proxy option.
Can I get the seller's full profile information? This actor focuses on listing data. It returns the seller's username and a link to their profile, but it does not scrape the full profile page.
How fresh is the data? The actor reads live search results at the moment you run it. There is no cache, so every run reflects what is currently listed on Vinted.
Can I filter by item condition or color? The current input schema supports price, sort order, brand ID, and size ID. Condition and color filters are not yet exposed as direct inputs, but you can pass them via the search URL in advanced mode.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Vinted, UAB. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
searchText required string Keyword to search for (e.g. 'vintage jacket', 'Nike sneakers') vintage jacket
maxItems integer How many listings to collect per run. 10
priceFrom number Minimum price filter (in the site's local currency) not set
priceTo number Maximum price filter (in the site's local currency) not set
order string (4 options) Sort order for results newest_first
brandIds string Comma-separated Vinted brand IDs to filter by (e.g. '53,14'). Find IDs via Vinted's brand filter URL params. not set
sizeIds string Comma-separated Vinted size IDs to filter by (e.g. '1,2,3'). Find IDs via Vinted's size filter URL params. not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~vinted-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchText": "vintage jacket",
    "maxItems": 3,
    "order": "newest_first"
  }'

Examples

Input that runs as-is.

input.json
{
  "searchText": "vintage jacket",
  "maxItems": 3,
  "order": "newest_first"
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Vinted Scraper on Apify All scrapers