# Vinted Listing Scraper

> Vinted Listing Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Searches and retrieves structured second-hand clothing and item listings from Vinted by keyword or catalog URL

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/vinted?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vinted-listing-scraper-2fb36702
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__YjO8BYsVjuIOrCXlVd8S

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vinted-listing-scraper-2fb36702 -d '<json body>'
```

Example prompt: Search Vinted in the UK for 'Levi jeans' and 'vintage leather jacket', only show listings priced between £10 and £80, sorted by newest first, and give me up to 50 results per search.

## When to prefer this

Choose this endpoint when you need structured, machine-readable Vinted listing data across multiple keywords or catalog URLs simultaneously, especially with price filters and sort control. It is pay-per-successful-call so failed or empty runs are free, making it safe for exploratory searches. Prefer it over manual scraping or generic web crawlers when you specifically need Vinted second-hand marketplace data in a clean JSON format.

## Known failure modes

- No listings found for keyword returns empty items array (not charged)
- Invalid or non-catalog Vinted URL returns error or empty result
- Unsupported country code causes validation error
- maxProducts exceeding 960 is rejected by schema validation
- Vinted anti-bot measures may intermittently block scraping requests
- Price filter outside market currency range returns no results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object containing a count of returned listings and an array of items, each with fields for id, url, title, brand, size, price, currency, and condition, plus a product identifier confirming the Vinted source.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "newest_first",
    "relevance",
    "price_low_to_high",
    "price_high_to_low"
   ],
   "type": "string",
   "default": "newest_first",
   "description": "Listing order for keyword searches. Catalog URLs keep their own order."
  },
  "country": {
   "enum": [
    "us",
    "gb",
    "it",
    "fr",
    "de",
    "es",
    "nl",
    "be",
    "at",
    "pt",
    "ie",
    "pl",
    "cz",
    "dk",
    "se",
    "fi",
    "hr",
    "ee",
    "gr",
    "hu",
    "lv",
    "lt",
    "lu",
    "ro",
    "sk",
    "si"
   ],
   "type": "string",
   "default": "us",
   "description": "Country site used for keyword searches. Catalog URLs keep their own country."
  },
  "keywords": {
   "type": "array",
   "items": {
    "type": "string",
    "minLength": 1
   },
   "description": "Search each keyword separately in the selected country."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Hard cap on saved listings across all searches. Zero means no additional total cap."
  },
  "maxPrice": {
   "type": "number",
   "minimum": 0,
   "description": "Highest asking price for keyword searches, in the selected market currency."
  },
  "minPrice": {
   "type": "number",
   "minimum": 0,
   "description": "Lowest asking price for keyword searches, in the selected market currency."
  },
  "startUrls": {
   "type": "array",
   "description": "Filtered HTTPS catalog URLs. Each URL is a separate search; its filters and country take precedence."
  },
  "maxProducts": {
   "type": "integer",
   "default": 50,
   "maximum": 960,
   "minimum": 1,
   "description": "Maximum listings collected from each keyword or URL, up to the public page limit."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "size": null,
    "brand": null,
    "price": null,
    "title": null,
    "currency": null,
    "condition": null
   }
  ],
  "product": "vinted"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vinted-listing-scraper-2fb36702/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
