# Vinted Scraper (`lowlanddata/vinted-scraper`) Actor

Vinted is Europe's largest fashion resale marketplace, and pricing on it means seeing the whole shelf: every live listing for a brand and size across all 23 national sites. Rows give brand, size, condition, asking price and the buyer-protection total a buyer pays. No seller usernames collected.

- **URL**: https://apify.com/lowlanddata/vinted-scraper.md
- **Developed by:** [Lowland Data](https://apify.com/lowlanddata) (community)
- **Categories:** E-commerce, Social media, Automation
- **Features:** Limited permissions
- **Stats:** 6 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Vinted Scraper

Pricing on Vinted, Europe's largest fashion resale marketplace, is guesswork unless you can see the whole shelf: every live listing for your brand and size, across all 23 national sites, at once. The search box shows you a page at a time and forgets it when you close the tab.

This gives you the shelf as a table. Brand, size, condition, the asking price, and the total a buyer actually pays once buyer protection is added, so you price against the real number instead of the sticker. Run the same query against de, fr and co.uk to see where an item is cheap to buy and dear to sell.

**Live health record:** [lowlanddata.com/status/vinted-scraper](https://lowlanddata.com/status/vinted-scraper/) - 30-day success rate and daily canary results, failures included. Full input/output reference: [tool page](https://lowlanddata.com/tools/vinted-scraper/).

**No seller personal data, ever.** This scraper is built privacy-first: seller usernames, user IDs and profile links never appear in the output, not as an option you have to remember to switch off, but by design. Only the business-vs-private flag survives.

### Quick start (30 seconds)

1. Put what you'd type in the Vinted search box into **searchQuery**, e.g. `nike air max`.
2. Pick your **domain**: `fr`, `de`, `co.uk`, `be`... (23 country sites).
3. Click **Start**. When the run finishes, open the dataset's **Overview** tab for a clean table, or **Export** it as CSV/Excel/JSON.

Optional knobs: a price band and newest-first sorting for monitoring, and any input works on a daily Schedule.

### What you can build with it

- **Price a resale inventory.** Search your brand and model, and get every live listing with `priceCents`, the buyer-protection fee and the total price: the real market price, not the sticker.
- **Watch a niche for underpriced drops.** Run `searchQuery: "arc'teryx"` with `sortBy: "newest"` hourly; every new listing arrives with brand, size and condition parsed.
- **Compare markets across countries.** The same query against `de`, `fr` and `co.uk` shows where an item is cheap to buy and dear to sell.
- **Feed an AI agent clean data.** Every field is structured, predictable and free of personal data, so an assistant or pipeline can consume it directly: no scrubbing, no compliance review before you store it.

### What you get

Each item is one dataset item:

```json
{
  "itemId": "9720000001",
  "url": "https://www.vinted.fr/items/9720000001-t-shirt-de-foot",
  "title": "T-shirt de foot",
  "brand": "Nike",
  "size": "12 ans / 152 cm",
  "condition": "Très bon état",
  "priceCents": 500,
  "currency": "EUR",
  "serviceFeeCents": 95,
  "totalPriceCents": 595,
  "businessSeller": false,
  "promoted": false,
  "favouriteCount": 2,
  "viewCount": 7,
  "imageUrls": ["https://images1.vinted.net/t/example/f800/1.webp"],
  "description": "Très bon état, porté deux fois. Taille un peu grand.",
  "color": "Noir"
}
```

Field notes, so you know exactly what you are buying:

- `priceCents` is the asking price in minor units (cents, pence); `totalPriceCents` includes Vinted's buyer-protection fee, the price a buyer actually pays.
- `currency` follows the site you searched: EUR, GBP, PLN, SEK, ...
- `condition` and `size` come in the site's language, exactly as displayed.
- `description` and `color` appear only when **Fetch descriptions** (`scrapeDetails`) is on - the search results carry neither. `description` is the seller's own text, read from the item's own page; seller identity is never read.
- `favouriteCount` is a live demand signal: high favourites at a low price means it will sell fast.
- `businessSeller` separates professional sellers from private ones. Seller identity is never collected.

### AI analysis: comparable fields across free-form listings (optional)

Sellers type titles, brands and conditions however they like, in 23 languages. With `aiAnalysis: true`, every item additionally carries four AI-computed fields with a fixed, comparable vocabulary:

- `normalizedBrand`: canonical brand name ("nike air" → `Nike`), `unbranded` when there is none.
- `normalizedCategory`: one of a fixed set (`tops`, `shoes`, `bags`, `dresses`, ...), so you can group across sellers.
- `conditionScore`: the stated condition mapped to `1` (heavily worn) – `5` (new), language-independent.
- `listingQuality` (`excellent`/`good`/`fair`/`poor`): how complete and consistent the listing looks.

Analysis costs $3.00 per 1,000 analyzed items on top of the result price and is available on paid Apify plans. You are only charged for items that were actually analyzed and delivered. An item the analysis could not process ships normally and costs nothing extra. The model receives only the fields already in your dataset (title, brand, size, condition), classifies them into the fixed vocabulary above, and can output nothing else: the same whitelist principle that keeps seller identity out of this scraper applies to the AI output too.

### How much does it cost to scrape Vinted?

$3.00 per 1,000 items delivered, pay-as-you-go, no subscription, and you pay per result rather than per hour. A run that finds nothing still costs the $0.005 actor start. In plain euros:

- **100 items ≈ $0.30**, a daily niche watch.
- **500 items ≈ $1.50**, a solid brand snapshot.

The price is all-inclusive: your runs' platform usage is covered by it, with no separate compute or proxy charges. Datacenter proxies are sufficient. No residential proxy surcharge needed.

Free-plan runs are limited to a sample of 5 items, enough to evaluate the output format against your real query.

### Not technical? Let your AI assistant set it up

Copy this into ChatGPT, Claude or any AI assistant, fill in the one line, and follow the conversation:

```text
Help me set up the "Vinted Scraper" actor on Apify
(https://apify.com/lowlanddata/vinted-scraper). Guide me one step at a time.

What I want to watch: [E.G. "Nike Air Max under 40 euros on vinted.fr"]

Guide me to:
1. Propose my input values: searchQuery (what I'd type in the Vinted search box),
   domain (fr, de, co.uk, be, ...), an optional priceMin/priceMax band, sortBy
   "newest" for monitoring, maxItems, and whether I want aiAnalysis (adds
   normalized brand/category and a 1-5 condition score, $3.00 per 1,000 items).
2. Create a free Apify account (apify.com), open the actor page, paste the values
   into the Input form, and start a run.
3. Set up a daily Schedule in the Apify Console with the same input, plus an email
   or Slack integration so new results reach me automatically.
4. Show me how to export results as CSV/Excel, or read them from the API if I code.
5. If the results are what I wanted, remind me at the end to leave a quick rating on the actor page, and to report anything broken or missing on its Issues tab.
```

### Input

| Field                | Description                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `searchQuery`        | What you'd type in the Vinted search box. Required, unless you only re-check items through `listingIds`.                                                                                                                                                                                                                                                                                                                           |
| `listingIds`         | Re-check items you already know instead of searching: item IDs (the number after `/items/` in every Vinted address, the `itemId` of every row) or the items' full addresses, one per line. Each is read from its own page with the full description, every photo and the site's own `status`. An item that is gone from the site is skipped, named in the log and not billed. When given, the search fields are ignored. Up to 50. |
| `domain`             | National site: `fr` (default), `be`, `de`, `nl`, `es`, `it`, `co.uk`, `pl`, `at`, `pt`, `cz`, `sk`, `lt`, `se`, `dk`, `fi`, `ie`, `lu`, `hu`, `ro`, `gr`, `hr`, `com`.                                                                                                                                                                                                                                                             |
| `priceMin`           | Only items costing at least this much (site currency).                                                                                                                                                                                                                                                                                                                                                                             |
| `priceMax`           | Only items costing at most this much (site currency).                                                                                                                                                                                                                                                                                                                                                                              |
| `sortBy`             | `newest` (default), `price_asc`, `price_desc`, or `relevance`.                                                                                                                                                                                                                                                                                                                                                                     |
| `aiAnalysis`         | `true` adds four AI-computed fields per item (see below). $3.00/1,000 analyzed items on top; paid Apify plans only. Default `false`.                                                                                                                                                                                                                                                                                               |
| `scrapeDetails`      | `true` reads each item's own page for the seller's full `description` and the item `color` (default off). One extra request per item.                                                                                                                                                                                                                                                                                              |
| `maxItems`           | Stop after this many items (default 500).                                                                                                                                                                                                                                                                                                                                                                                          |
| `proxyConfiguration` | Proxy settings; keep Apify proxy enabled.                                                                                                                                                                                                                                                                                                                                                                                          |

A run minimally needs a `searchQuery` or a list of `listingIds`; invalid combinations (like an inverted price band) fail immediately with the reason in the run's status message.

#### Re-checking items you already have

Put their IDs (or their addresses) into `listingIds` and nothing else: the run reads each item's own page on the national site chosen in `domain` and returns it in the usual shape - `itemId`, `url`, `title`, `brand`, `size`, `condition`, `priceCents`, `currency`, `businessSeller`, `favouriteCount`, `imageUrls` - plus the full `description`, the `color` and the site's own `status` (`active`, `reserved`, `hidden`), whether or not `scrapeDetails` is on. A price change shows up as a new `priceCents`; an item that has been sold or deleted is not on the site any more - the run skips it, says so in the log and the status, and does not bill it. The item page computes the buyer-protection fee on the fly and shows no placement or view counter, so `serviceFeeCents`, `totalPriceCents`, `promoted` and `viewCount` are absent on a row read this way. AI analysis applies to search results only.

### Use it from your code

Run the actor and get items straight back with one HTTP call (fine for scoped runs up to ~5 minutes):

```bash
curl "https://api.apify.com/v2/acts/lowlanddata~vinted-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
  -X POST -H "Content-Type: application/json" \
  -d '{"searchQuery": "nike air max", "domain": "fr", "maxItems": 100}'
```

Node.js:

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('lowlanddata/vinted-scraper').call({
  searchQuery: 'nike air max',
  domain: 'fr',
  maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lowlanddata/vinted-scraper").call(
    run_input={"searchQuery": "nike air max", "domain": "fr", "maxItems": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

Schedules, webhooks and the Make/Zapier/n8n integrations all work out of the box: this is a standard Apify actor.

### Use it with AI agents (MCP)

Claude, Cursor and other MCP-capable agents can run this scraper as a tool through Apify's hosted MCP server: the agent fills in the search itself, starts the run and reads the results, no glue code.

Claude Code:

```bash
claude mcp add apify --transport http "https://mcp.apify.com?actors=lowlanddata/vinted-scraper"
```

Cursor or Claude Desktop (add a custom connector / MCP server with this URL):

```text
https://mcp.apify.com?actors=lowlanddata/vinted-scraper
```

**Want the whole family at once?** Point one connector at every tool in the EU Marketplaces bundle:

```text
https://mcp.apify.com?actors=lowlanddata/kleinanzeigen-scraper,lowlanddata/marktplaats-scraper,lowlanddata/tweedehands-scraper,lowlanddata/olx-pl-scraper,lowlanddata/olx-ro-scraper,lowlanddata/olx-pt-scraper,lowlanddata/willhaben-scraper,lowlanddata/finn-no-scraper,lowlanddata/tori-fi-scraper,lowlanddata/blocket-se-scraper,lowlanddata/dba-dk-scraper,lowlanddata/gumtree-uk-scraper,lowlanddata/vinted-scraper,lowlanddata/bol-com-scraper,lowlanddata/subito-scraper,lowlanddata/bazos-cz-scraper,lowlanddata/bazos-sk-scraper,lowlanddata/olx-bg-scraper,lowlanddata/olx-ua-scraper,lowlanddata/willhaben-car-scraper,lowlanddata/kleinanzeigen-free-finds,lowlanddata/olx-listing-watch,lowlanddata/marktplaats-new-listing-alerts,lowlanddata/tweedehands-new-listing-alerts,lowlanddata/kleinanzeigen-deal-radar
```

**Want the whole family at once?** Point one connector at every tool in the Resale & Secondhand bundle:

```text
https://mcp.apify.com?actors=lowlanddata/poshmark-scraper,lowlanddata/poshmark-sold-comps,lowlanddata/vinted-scraper,lowlanddata/kijiji-ca-scraper,lowlanddata/vinted-arbitrage-scanner,lowlanddata/vinted-sold-detector,lowlanddata/vinted-deal-monitor,lowlanddata/poshmark-brand-analytics
```

Sign in with your Apify account when prompted; runs are billed to it. Setup details per client: [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

Prompts that work once connected:

- "Search vinted.fr for 'nike air max' under 40 euros and list the newest ten with total buyer price."
- "Compare 'levis 501' prices between vinted.de and vinted.co.uk and summarize the spread."
- "Watch Vinted for 'arc'teryx' and flag anything with more than 10 favourites."

### Is it legal to scrape Vinted?

Public listing data (prices, brands, sizes, conditions) is public commercial information, and this scraper is built so that the hard part of the question never arises: **no personal data enters your dataset in the first place.** The GDPR sets strict rules on personal data; an output that carries no usernames, no user IDs and no profile links is the point of this actor, not an afterthought.

Structurally, the extractor maps a fixed whitelist of fields out of the page's data. Seller identity and tracking parameters are never read into the output. Requests are paced, load on the site is kept negligible, and no anti-bot protection is bypassed; a blocked request is reported honestly, never fought.

One honest limit: item titles are the seller's own words, delivered as-is. If a seller chooses to type contact details into their title, that text is not rewritten: the guarantee covers the data fields, not the content sellers publish about themselves.

This actor is an independent tool. It is not affiliated with, endorsed by or sponsored by Vinted or its owners, and trademarks belong to their respective holders.

### Is there a Vinted API alternative?

Vinted publishes no public API. This actor is the practical alternative: the same items as structured JSON through one HTTP call (`run-sync-get-dataset-items`), on a schedule, or as an MCP tool for AI agents, with the privacy question already answered in the data itself.

### Does Vinted block scrapers?

Vinted protects some routes aggressively, and this actor deliberately stays on the openly served pages: paced requests, standard datacenter proxies, load kept negligible, no anti-bot bypassing. If the site does block a run mid-way, the items already collected are delivered with an honest note in the run status: you are never charged for what didn't arrive.

### How do I monitor Vinted prices?

Set `sortBy: "newest"` with your query, cap `maxItems` to a page or two, and add a daily (or hourly) Schedule in the Apify Console with an email/Slack integration on the runs. Every new item lands in your inbox with the price already parsed to cents. The AI-assistant prompt above walks a non-technical user through exactly this setup.

### FAQ

**Can I get seller names or profiles?** No, by design. That is the product: data you can store, share and process without a privacy review.

**How deep does one search go?** Vinted serves at most 10 pages (~960 items) per search. Narrow by price band to see everything in busy categories.

**Which countries are covered?** 23 national sites, from France to the US: one `domain` value each.

**How fresh is the data?** Live at run time: every run queries Vinted directly. For continuous freshness, schedule the actor.

**Can I export to Excel or CSV?** Yes, every dataset exports as CSV, Excel, JSON or XML from the Apify Console or API.

**Does it work with Make, Zapier or n8n?** Yes, it is a standard Apify actor; all platform integrations, webhooks and schedules apply.

**Does Vinted have a public API?** No, Vinted publishes none. This actor is the practical substitute: the same items as structured JSON through one HTTP call, a schedule, or an MCP tool for AI agents.

**Do I need a Vinted account or API key?** No. The actor reads the openly served listing pages, so the only account involved is your Apify account: the free plan is enough to test with.

**How much does scraping Vinted cost?** $3.00 per 1,000 items delivered, pay-as-you-go. No subscription, and empty or failed runs cost nothing.

**Do I need residential proxies for Vinted?** No. Standard datacenter proxies through the default Apify proxy setting are sufficient; there is no residential surcharge to pay.

**What is the difference between priceCents and totalPriceCents?** `priceCents` is the seller's asking price; `totalPriceCents` adds Vinted's buyer-protection fee, which is what a buyer actually pays at checkout.

**Why are size and condition not in English?** They arrive exactly as the site displays them, in the site's language. Turn on `aiAnalysis` if you need a language-independent `conditionScore` from 1 to 5.

**What does the aiAnalysis option add?** Four comparable fields per item: normalized brand, normalized category, a 1–5 condition score and a listing-quality grade. It costs $3.00 per 1,000 analyzed items on top and needs a paid Apify plan.

**What happens if Vinted blocks my run?** Everything collected up to that point is delivered, the run status says so honestly, and you are not charged for items that didn't arrive. A retry a few minutes later usually lands on a clean proxy session.

**Why did my run stop at 5 items?** That is the free-plan sample cap, there to let you evaluate the output format. Paid Apify plans get full results up to your `maxItems`.

**Can I use this without writing any code?** Yes. Fill in the input form on the actor page and click Start, or paste the AI-assistant prompt above into ChatGPT or Claude and let it walk you through setup, scheduling included.

**How do I call it from my own code?** One HTTP POST to the `run-sync-get-dataset-items` endpoint returns the items directly for scoped runs up to about 5 minutes; the `apify-client` packages for Node.js and Python are shown above.

**Is it legal to scrape Vinted?** Public listing data (prices, brands, sizes, conditions) is public commercial information, and this actor's output carries no usernames, user IDs or profile links, so the personal-data question never enters your dataset.

**Can I track how prices change over time?** Each run is a live snapshot. Put the same input on a daily Schedule and your datasets accumulate into a price history you can chart.

**How do I tell professional sellers from private ones?** The `businessSeller` flag. That is the only seller-related signal in the output: identity is never collected.

**Is there a version of this for other marketplaces?** Yes, the Kleinanzeigen.de, Marktplaats.nl and 2dehands/2ememain scrapers linked below share the same clean-output guarantee.

### Related scrapers

The same clean-output guarantee across Europe's biggest marketplaces:

- [Kleinanzeigen.de Scraper](https://apify.com/lowlanddata/kleinanzeigen-scraper): Germany's biggest classifieds site.
- [Marktplaats.nl Scraper](https://apify.com/lowlanddata/marktplaats-scraper): the Netherlands' biggest marketplace.
- [2dehands / 2ememain Scraper](https://apify.com/lowlanddata/tweedehands-scraper): Belgium's biggest classifieds site.

### Troubleshooting

The actor fails fast with the reason in the run's status message:

- **"priceMin must not be higher than priceMax."**: swap the two values.
- **"Vinted blocked the run before any results could be fetched. This is usually temporary - retry in a few minutes."**: a temporary block on the first request; a retry usually lands on a clean proxy session.
- **Fewer items than requested on a free plan**: the 5-item free sample cap; run on a paid Apify plan for full results.

### Support

Found an issue or missing a field you need? The fastest route is the actor's **Issues tab** - it is monitored and reports get fixed. For anything private, email **contact@lowlanddata.com**. This actor is actively maintained.

Working well for you? A **rating on this page** takes ten seconds and helps other buyers find a privacy-clean option among the lookalikes; it is also the clearest signal of what we should build next.

# Actor input Schema

## `searchQuery` (type: `string`):

What to search for on Vinted, exactly as you would type it in the site's search box, e.g. "nike air max" or "zara dress". Leave it out when you only re-check items through <b>listingIds</b>.

## `listingIds` (type: `array`):

Re-check items you already know instead of searching: one item ID per line (the number after <code>/items/</code> in every Vinted address, and the <code>itemId</code> of every dataset item), or the item's full address. Each one is read from its own page on the national site chosen in <b>Domain</b> - title, brand, size, condition, colour, price, every photo, the full description, the favourite count and the site's own <code>status</code> (active, reserved, hidden). An item that is gone from the site (sold, deleted) is skipped, named in the log and not billed. <b>When given, the search fields of this form are ignored</b> and the run status says which. Up to 50.

## `domain` (type: `string`):

Which national Vinted site to search. Prices come in that site's currency.

## `priceMin` (type: `integer`):

Only include items costing at least this much, in the selected site's currency.

## `priceMax` (type: `integer`):

Only include items costing at most this much, in the selected site's currency.

## `sortBy` (type: `string`):

Order of results: newest (best for monitoring), price_asc, price_desc, or relevance.

## `aiAnalysis` (type: `boolean`):

Add AI-computed fields to every item: normalizedBrand, normalizedCategory, conditionScore (1-5) and listingQuality - directly comparable across sellers' free-form listings. Billed $0.50 per 1,000 analyzed items on top of the result price. Paid Apify plans only.

## `scrapeDetails` (type: `boolean`):

Read each item's own page for the seller's full description and the item colour, neither of which the search results carry. This makes one extra request per item, so a run is slower and costs one more page fetch each. Seller identity is never read - only the description text and colour reach the output. Leave off for a fast search-only sweep.

## `maxItems` (type: `integer`):

Stop after this many items. Free-plan runs are capped at 5 items. The form starts at 25 for a cheap first run - that is the form's prefill, not a cap on your plan; clear it to use the default of 500.

## `proxyConfiguration` (type: `object`):

Proxy settings. Keep Apify proxy enabled.

## `reportFailures` (type: `boolean`):

When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. <b>Your input itself, your results and your identity are never sent, and successful runs send nothing at all.</b> Switch this off and the actor behaves exactly the same.

## Actor input object example

```json
{
  "searchQuery": "nike",
  "listingIds": [],
  "domain": "fr",
  "sortBy": "newest",
  "aiAnalysis": false,
  "scrapeDetails": false,
  "maxItems": 25,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "reportFailures": true
}
```

# Actor output Schema

## `items` (type: `string`):

Scraped Vinted items, one JSON object per item.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "nike",
    "listingIds": [],
    "domain": "fr",
    "sortBy": "newest",
    "aiAnalysis": false,
    "scrapeDetails": false,
    "maxItems": 25,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lowlanddata/vinted-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "nike",
    "listingIds": [],
    "domain": "fr",
    "sortBy": "newest",
    "aiAnalysis": False,
    "scrapeDetails": False,
    "maxItems": 25,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("lowlanddata/vinted-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "nike",
  "listingIds": [],
  "domain": "fr",
  "sortBy": "newest",
  "aiAnalysis": false,
  "scrapeDetails": false,
  "maxItems": 25,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call lowlanddata/vinted-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lowlanddata/vinted-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/yM87i8l8fCLGqijvf/builds/iNJi6OtkufVPIZ4xO/openapi.json
