{
  "openapi": "3.0.1",
  "info": {
    "title": "Vinted Price Intelligence — Listings & Market Value",
    "description": "Scrape Vinted listings in 26 countries and get the market value of any item: median, quartiles, min and max price per country. No seller data. Pay only for the listings you get.",
    "version": "0.1",
    "x-build-id": "JGLxCaAI6UXKEvl2L"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximacion~vinted-price-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximacion-vinted-price-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/maximacion~vinted-price-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-maximacion-vinted-price-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/maximacion~vinted-price-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-maximacion-vinted-price-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "title": "Search keyword",
            "type": "string",
            "description": "What to search for, exactly as you would type it on Vinted (e.g. <code>levis 501</code>, <code>nike air force 1</code>). Leave empty to use only search URLs, or to browse a brand or a category."
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Vinted marketplaces to search with the keyword and filters. Each country is scraped separately and keeps its own currency (EUR, GBP, PLN, CZK, SEK…). Search URLs always run on their own domain.",
            "items": {
              "type": "string",
              "enum": [
                "fr",
                "de",
                "es",
                "it",
                "nl",
                "be",
                "at",
                "pt",
                "lu",
                "ie",
                "uk",
                "pl",
                "cz",
                "sk",
                "hu",
                "ro",
                "lt",
                "lv",
                "ee",
                "fi",
                "se",
                "dk",
                "gr",
                "hr",
                "si",
                "us"
              ],
              "enumTitles": [
                "France (vinted.fr, EUR)",
                "Germany (vinted.de, EUR)",
                "Spain (vinted.es, EUR)",
                "Italy (vinted.it, EUR)",
                "Netherlands (vinted.nl, EUR)",
                "Belgium (vinted.be, EUR)",
                "Austria (vinted.at, EUR)",
                "Portugal (vinted.pt, EUR)",
                "Luxembourg (vinted.lu, EUR)",
                "Ireland (vinted.ie, EUR)",
                "United Kingdom (vinted.co.uk, GBP)",
                "Poland (vinted.pl, PLN)",
                "Czech Republic (vinted.cz, CZK)",
                "Slovakia (vinted.sk, EUR)",
                "Hungary (vinted.hu, HUF)",
                "Romania (vinted.ro, RON)",
                "Lithuania (vinted.lt, EUR)",
                "Latvia (vinted.lv, EUR)",
                "Estonia (vinted.ee, EUR)",
                "Finland (vinted.fi, EUR)",
                "Sweden (vinted.se, SEK)",
                "Denmark (vinted.dk, DKK)",
                "Greece (vinted.gr, EUR)",
                "Croatia (vinted.hr, EUR)",
                "Slovenia (vinted.si, EUR)",
                "United States (vinted.com, USD)"
              ]
            },
            "default": [
              "fr"
            ]
          },
          "maxItems": {
            "title": "Max listings per country",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of listings saved for each country (and for each search URL). Vinted shows at most 960 results per search: beyond that, the actor automatically splits the search by price to go further.",
            "default": 100
          },
          "priceReport": {
            "title": "Price report (market value)",
            "type": "boolean",
            "description": "Adds one summary item per country with the median, quartiles, min, max and mean asking price of the listings found, outliers excluded. Charged as a separate event.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order in which Vinted returns listings. With a price sort, the collected listings are the cheapest (or most expensive) ones.",
            "default": "newest"
          },
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "Brand name as written on Vinted, e.g. <code>Nike</code>. Several brands: comma-separated (<code>Nike, Adidas</code>)."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "Category name in English, French, German, Spanish, Italian, Dutch or Polish (e.g. <code>jeans</code>, <code>dresses</code>, <code>sneakers</code>), a path to be precise (<code>Women > Jeans</code>), or a Vinted category id (<code>183</code>). A name matching several categories selects all of them."
          },
          "size": {
            "title": "Size",
            "type": "string",
            "description": "Size as displayed on Vinted, e.g. <code>M</code>, <code>38</code>, <code>W32</code>. Several sizes: comma-separated. Applied as Vinted's own size filter; with a category, only that category's sizes are used (e.g. <code>M</code> in men's clothing)."
          },
          "condition": {
            "title": "Condition",
            "type": "array",
            "description": "Keep only listings in these conditions.",
            "items": {
              "type": "string",
              "enum": [
                "new_with_tags",
                "new_without_tags",
                "very_good",
                "good",
                "satisfactory"
              ],
              "enumTitles": [
                "New with tags",
                "New without tags",
                "Very good",
                "Good",
                "Satisfactory"
              ]
            }
          },
          "priceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "In the local currency of each country (EUR on vinted.fr, PLN on vinted.pl, GBP on vinted.co.uk…)."
          },
          "priceMax": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "In the local currency of each country."
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Search, category or brand pages of any Vinted domain, e.g. <code>https://www.vinted.fr/catalog?search_text=levis%20501&brand_ids[]=10</code>. Each URL runs on its own domain. Member and item pages are not supported.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Vinted blocks datacenter IPs: residential proxies are needed. By default each Vinted domain is visited through an IP of its own country. Keep the default unless you use your own proxies.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}