extractr docs
Vinted

Search listings

GET
/vinted/search

Keyword search across active Vinted listings on any of 23 country sites, with the site's own filters — price range, condition, brand, category — and sort order. Each listing carries its asking price, the total with buyer protection, brand, size, condition, main photo and seller. Vinted serves 96 listings per page and caps a search at 10 pages. No Vinted account or session is needed.

Costs 3 credits per request.

Authorization

ApiKeyAuth
X-API-Key<token>

API key created in the extractr dashboard (ext_live_...). Also accepted as Authorization: Bearer.

In: header

Query Parameters

query*string

Search keywords, exactly as typed into Vinted.

Length1 <= length <= 300
marketplace?string

Vinted site to use. One of: uk, us, fr, de, es, it, nl, be, at, pt, ie, lu, lt, sk, fi, gr, hr, pl, cz, hu, ro, se, dk.

Default"uk"

Value in

  • "uk"
  • "us"
  • "fr"
  • "de"
  • "es"
  • "it"
  • "nl"
  • "be"
  • "at"
  • "pt"
  • "ie"
  • "lu"
  • "lt"
  • "sk"
  • "fi"
  • "gr"
  • "hr"
  • "pl"
  • "cz"
  • "hu"
  • "ro"
  • "se"
  • "dk"
page?integer

Result page (1–10 — Vinted stops at 10).

Range1 <= value <= 10
Default1
limit?integer

Listings to return (1–96). Vinted always renders a full page; a smaller value only trims the response.

Range1 <= value <= 96
Default96
order?string

Sort order. One of: relevance, newest_first, price_low_to_high, price_high_to_low.

Default"relevance"

Value in

  • "relevance"
  • "newest_first"
  • "price_low_to_high"
  • "price_high_to_low"
price_from?|

Minimum asking price, in the marketplace currency.

Range0 <= value
price_to?|

Maximum asking price, in the marketplace currency.

Range0 <= value
condition?string

Item condition. One of: new_with_tags, new_without_tags, very_good, good, satisfactory.

Value in

  • "new_with_tags"
  • "new_without_tags"
  • "very_good"
  • "good"
  • "satisfactory"
brand_id?string

Vinted brand id (from get_listing or a vinted.* /brand/{id} URL).

Match^\d+$
category_id?string

Vinted catalog id (from get_listing or a vinted.* /catalog/{id} URL).

Match^\d+$
currency?string

Currency to price results in. Defaults to the marketplace currency.

Match^[A-Z]{3}$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/vinted/search?query=pokemon+charizard"
{  "query": "pokemon charizard",  "marketplace": "uk",  "currency": "GBP",  "page": 1,  "per_page": 96,  "count": 96,  "total_results": 960,  "total_pages": 10,  "has_more": true,  "listings": [    {      "listing_id": "10005094745",      "title": "Charizard card binder",      "url": "https://www.vinted.co.uk/items/10005094745-charizard-card-binder",      "price": 10,      "currency": "GBP",      "total_price": 11.2,      "service_fee": 1.2,      "discounted_price": null,      "brand": "Pokémon",      "size": "M",      "condition": "Very good",      "image": "https://images1.vinted.net/t/05_0173f_DZ918GgFP9JiXucyYiEB47z8/f800/e606b76b.webp",      "thumbnail": "string",      "favourite_count": 26,      "is_promoted": false,      "seller": {        "id": "144538812",        "is_business": false,        "photo": "string"      }    }  ]}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}
{  "error": {    "code": "invalid_api_key",    "message": "The provided API key is invalid or has been revoked."  }}