Vinted API Guide 2025: How to Extract Data Safely

Shehriar Awan
25 Sept 2025

14 min read

TLDR

  1. I walked you through 3 Vinted API options in this article: Official, Internal, and Third party.
  2. Vinted has an official API called Vinted Pro Integrations but it’s locked to Pro accounts, half baked, and not useful for bulk data collection.
  3. There’s also a not so hidden internal API I discovered in this article but it’s heavily guarded by an anti-bot system and scaling it is too costly and painful to maintain.
  4. The only option that actually works is a third party API. The one I broke down for you is Lobstr.io’s Vinted Product Scraper API. Safe, affordable, and well-maintained.

My last article about building a Vinted bot blew up.

And because I’m a hopeless attention junkie, I couldn’t resist milking it.

I started lurking in Reddit threads and Discord servers where Vinted sellers and devs hang out. That’s when I noticed a problem nobody’s really addressing online.

TLDR

People keep asking the same thing: is there a Vinted API? And if yes, how do you actually get access to it?

So here I am again, acting as the smartest guy on the internet. 🤓

In this guide, I’ll cover the official Vinted API, the hidden internal one, and the 3rd-party APIs that actually work.

But first, why would you even need a Vinted API?

Why might you need a Vinted API?

Obviously, you want data. Product listings, seller info, or both. Without it, you can’t analyze, compare, or build anything useful.

Why might you need a Vinted API?

Then comes automation.

Price tracking, competitor monitoring, product hunting, and alerts when something new matches your filters. All of that depends on having reliable data to work with.

And who actually needs the Vinted API?

Sellers and resellers who want to scale their workflow. And devs who want to build tools or apps for those sellers and resellers.

So the real question is, does Vinted even offer an API?

Does Vinted offer an official API?

Yes, it does. It’s called Vinted Pro Integrations. It’s built for professional sellers who want to keep things in sync with Vinted.
Does Vinted offer an official API?

Vinted Pro Integrations basically has 3 APIs.

  1. Items API
  2. Webhooks API
  3. Orders API

Items API lets you manage your inventory programmatically.

You can create, update, or delete items in your Vinted store. It also gives you ways to fetch your existing items.

Webhooks API is for notifications.

Instead of checking for changes all the time, you can register webhooks and get notified automatically when something happens to your items.

For example, when an item gets sold or updated, you get the event right away.

Orders API gives you details about your sales.

You can pull info on sold items and also grab shipment details like labels.

How to access it?

You need a Vinted Pro account and you must be on the allowlist. Without both, you cannot even open the portal. If you qualify, here’s the process:

Does Vinted offer an official API? - How to access it?
  1. Register for a Vinted Pro account
  2. Apply for allowlist access
  3. Once approved, log into the Pro Integrations portal
  4. Generate an access token

How to use Vinted Pro Integrations API?

After generating an access token, you split it into 2 parts. One is the access key, the other is the signing key.

The access key goes into the X-Vpi-Access-Key header. The signing key is used to create a request signature.

Both must be included with every request.

All requests have to be signed with HMAC-SHA256. To build the signing payload, join these values together.
  1. Current timestamp in UNIX seconds
  2. Request method in caps, like POST or GET
  3. Path including query params. Example: /api/v1/foo?bar=baz
  4. Access key
  5. Request body, or an empty string if there is none

The header should like this:

X-Vpi-Hmac-Sha256: t={timestamp},v1={hash}
f

Example request:

curl -X POST "https://pro.svc.vinted.com/api/v1/{endpoint}" \ -H "Content-Type: application/json" \ -H "X-Vpi-Access-Key: YOUR_ACCESS_KEY" \ -H "X-Vpi-Hmac-Sha256: t=1704067200,v1=cf3872ca3c2537690aaee0eb4b00c9a2d5591389d1932cd282aa6414869efa19" \ -d '{}'
f

How to use items API?

Endpoint:
https://pro.svc.vinted.com/api/v1/items

The items API can be used to manage inventory inside Vinted. It lets you create, update, delete, or fetch items.

Does Vinted offer an official API? - How to use items API?

You can do things like:

  1. DeleteItems – delete a batch of items
  2. GetItems – list items you’ve already created
  3. CreateItems – create new items in bulk
  4. UpdateItems – update existing items
  5. GetItemStatus – check the current status of an item
  6. GetImportedItems – see which items were imported
  7. UpdateItemReferences – set or update item references
  8. GetOntologies – fetch the category and attribute mappings needed to create valid items

Here’s a sample request to create items in Vinted.

curl -X POST "https://pro.svc.vinted.com/api/v1/items" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Vpi-Access-Key: YOUR_ACCESS_KEY" \ -H "X-Vpi-Hmac-Sha256: t=1704067200,v1=YOUR_HASH" \ -d '{ "items": [ { "brand": "Levi’s", "catalog_id": 123, "color_ids": [1], "currency": "EUR", "description": "Vintage denim jacket, size M", "is_unisex": true, "item_attributes": [ { "item_attribute_id": "fit", "item_attribute_option_ids": [2] } ], "manufacturer": "Levi’s", "measurement_length": 70, "measurement_width": 50, "package_size_id": 2, "photo_urls": ["http://example.com/jacket.jpg"], "price": 45, "size_id": 5, "status_id": 1, "title": "Vintage Levi’s Jacket", "item_reference": "SKU-12345", "is_draft": false } ] }'
f

How to use WebhooksAPI?

Endpoint:
https://pro.svc.vinted.com/api/v1/webhooks/

The webhooks API is used to get real-time updates from Vinted. Instead of checking the API again and again, Vinted will call your URL when events happen.

Does Vinted offer an official API? - How to use WebhooksAPI?

You can do:

  1. GetWebhooks – list your registered webhooks
  2. CreateWebhook – register a new webhook for selected events
  3. DeleteWebhook – remove an existing webhook
  4. UpdateWebhook – change the URL or event types
  5. GetWebhookDeliveryResults – see the last 100 delivery attempts and their status

Here’s a sample request for registering a webhook for the CREATEITEMSUCCESS event.

curl -X POST "https://pro.svc.vinted.com/api/v1/webhooks" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "X-Vpi-Access-Key: YOUR_ACCESS_KEY" \ -H "X-Vpi-Hmac-Sha256: t=1704067200,v1=YOUR_HASH" \ -d '{ "event_types": ["CREATE_ITEM_SUCCESS"], "url": "https://yourapp.example.com/vinted/webhook" }'
f

How to use orders API?

Endpoint:
https://pro.svc.vinted.com//api/v1/orders

The orders API is used to fetch details about sales and shipments.

Does Vinted offer an official API? - How to use orders API?

You can do:

  1. GetOrders – list all your orders
  2. GetOrder – fetch a specific order by ID
  3. GetOrderShipment – get shipment details for a specific order
  4. GetOrderShipmentLabel – retrieve the shipment label by order ID

Here’s a sample request for fetching the details of a specific order using its ID.

curl -X GET "https://pro.svc.vinted.com/api/v1/orders/{id}" \ -H "Accept: application/json" \ -H "X-Vpi-Access-Key: YOUR_ACCESS_KEY" \ -H "X-Vpi-Hmac-Sha256: t=1704067200,v1=YOUR_HASH"
f

What are the limitations of the official Vinted API?

Access is the first joke. You need a Pro account and then beg your way onto their allowlist. If Vinted doesn’t pick you, you don’t even get in.

Does Vinted offer an official API? - What are the limitations of the official Vinted API? image8

And even if you are one of the chosen ones, what you get is half-baked.

The docs are vague, the endpoints feel unfinished, and the whole thing feels more like beta testing than using a real product.

The bigger joke is on anyone expecting scraping or bulk data.

There is no search, no catalog, no product listings. If you came here dreaming of mass data collection, this API will slap you awake real quick.

Finally, the slot system.

Vinted hands you 500 active items and then makes you wait 30 days before you can ask for more.

Does Vinted offer an official API? - What are the limitations of the official Vinted API? image9

They’ll “assess your performance” and decide if you deserve an upgrade.

So in short, if you’re the chosen one, just want to add items and get alerts programmatically, and have the patience of a saint, you can try your luck with this API.

Now people familiar with web scraping would ask... what about internal APIs?

How to use Vinted’s internal API for data collection?

Every app has hidden APIs it uses to talk to itself, and Vinted is no different.

These internal endpoints aren’t official or documented, but they run the site and app behind the scenes.

They’re what load listings, profiles, and searches in real time.

The easiest way to spot Vinted’s internal API is through your browser’s developer tools.

Open the network tab, click around the site, and watch the requests being fired.

How to use Vinted’s internal API for data collection? image10

Each action you take like searching, browsing, or opening a product shows you another internal endpoint.

For example, I needed to get search results, so I looked at the network tab and found this endpoint:

https://www.vinted.co.uk/api/v2/catalog/items?search_text={keyword}
f

It gave me all product listings for my search along with pagination logic.

How to use Vinted’s internal API for data collection? image11
You can also tweak it with a category ID to get listings for a specific category, or use the /wardrobe/ endpoint to pull all listings from a single user.
How to use Vinted’s internal API for data collection? image12

Dig deeper and you will find endpoints for product details, profile details, and more. Like I also found the user reviews endpoint.

How to use Vinted’s internal API for data collection? image13

But the internal API also has major limitations…

Problems with internal Vinted API

Not all data is easy to grab.

Something as simple as full listing details turns into extra reverse engineering work. You end up chasing fields and decoding payloads just to get the basics.

Then comes the real killer. Vinted uses Datadome anti-bot system.

Send too many requests and your IP is blocked.

How to use Vinted’s internal API for data collection? - Problems with internal Vinted API

Bot mitigation itself is a headache. Proxy rotation, throttling, retries… it’s a constant cat-and-mouse game that costs time and money.

And remember, this is undocumented. Endpoints can change any time, with zero warning. One day your setup works, the next day it breaks.

So yes, the internal API works but it’s fragile, expensive, and hard to maintain at scale.

Which is why I recommend 3rd-party APIs like Lobstr.io.

Why third party APIs?

  1. They are affordable
  2. They handle bot mitigation for you and stay within fair limits so you do not get IP bans
  3. They are scalable
  4. They are well-maintained, which means no extra work on your side

But what’s the best Vinted API?

Well… drum rolls… you won’t find anything coming close to Lobstr.io’s Vinted API.

Lobstr.io Vinted Product Scraper API

Lobstr.io is a cloud-based scraping platform with 20+ scrapers, and one of them is a Vinted Products Scraper.

Lobstr.io Vinted Product Scraper API

You can use it with a simple no-code UI or hit it directly through the API.

Features

  1. Works on all Vinted domains
  2. Scrapes products and seller data from search or catalog
  3. Collects 30+ attributes including product details and profile info
  4. Download data as JSON or CSV
  5. Export results to Google Sheets, S3, or receive them by email
  6. Webhook integrations for real time alerts
  7. Runs cloud-based so your IP never gets exposed
  8. Schedule feature for automated data collection, monitoring, and alerts
  9. No extra cost for proxies, captcha solving, or infrastructure

Pricing

Lobstr.io Vinted Product Scraper API - Pricing
  1. 100 free results per month
  2. Starts at $1 per 1k results (from $10 per month)
  3. At scale, pricing goes down to $0.5 per 1k results

Lobstr.io is a great product but since I’m cursed with brutal honesty, it’s important to highlight the limitations too.

Limitations

It does have 2 drawbacks.

First, you only get data from search results and catalog pages.

Lobstr.io Vinted Product Scraper API - Limitations image17

It doesn’t go to the product page to collect additional details.

But those already give you everything you need about a product like item name, item photos, item price, and other item data plus seller information too.

Second, the API is asynchronous.

Lobstr.io Vinted Product Scraper API - Limitations image18

Which basically means you can’t fire a request and get instant data back. You send the job, wait for it to finish, and then pull the results.

Now let me give you a quick walkthrough of Lobstr.io’s Vinted API.

How to use Lobstr.io’s Vinted Product Scraper API?

Since Lobstr.io’s API is asynchronous, you don’t just fire one request and get data back instantly. You follow a flow.

This is a really quick walkthrough. If you want to understand the API properly, read the documentation.

So let me walk you through it.

Authentication

The only thing you need is your API key. No tokens, no signing, no allowlists. Just log in to your Lobstr.io dashboard, grab your key, and you’re good to go.

How to use Lobstr.io’s Vinted Product Scraper API? - Authentication

Here’s how to test it with cURL:

curl --location 'https://api.lobstr.io/v1/me' \ --header 'Authorization: Token <api_key>'
f

Setting up a squid

First you need a squid. A squid is just an instance of the scraper.

Create a squid

You don’t create one every time… only when you want to monitor something new like a catalog, a keyword, or run a separate workflow.

Otherwise you reuse the same one.

Lobstr.io has 20+ crawlers and each one has its own hash. You can pull the list from:

https://api.lobstr.io/v1/crawlers
f
How to use Lobstr.io’s Vinted Product Scraper API? - Create a squid image20

But here’s the one you care about. Vinted Products Scraper hash:

ffd34f9b42a79b7323a048f09fc158e6
f

Now, to create a squid, you need to send a POST request to this endpoint:

POST https://api.lobstr.io/v1/squids
f

Your request body only needs one thing: the crawler hash.

{ "crawler": "ffd34f9b42a79b7323a048f09fc158e6" }
f

Let me demonstrate it in a sample cURL:

curl --location 'https://api.lobstr.io/v1/squids' \ --header 'Authorization: Token <your_api_key>' \ --header 'Content-Type: application/json' \ --data '{ "crawler": "ffd34f9b42a79b7323a048f09fc158e6" }'
f
The response gives you an id in response. That's your Squid ID/hash. Save it because everything else depends on it.
How to use Lobstr.io’s Vinted Product Scraper API? - Create a squid image21

Adding tasks

Now that you’ve got a squid, you need to feed it tasks. A task is just the URL you want scraped. Could be a search page, could be a catalog page.

To add tasks, hit:

POST https://api.lobstr.io/v1/tasks
f
The body needs 2 things: your squid_hash and the task URLs. You can pass one or multiple URLs inside an array.
{ "squid": "<squid_hash>", "tasks": [ { "url": "<vinted_search_or_catalog_url>" } ] }
f
In case of a long list of URLs, you can use the v1/tasks/upload endpoint to upload the list as a CSV, TXT, or TSV file.
How to use Lobstr.io’s Vinted Product Scraper API? - Adding tasks

Update settings

If you want to tweak how your crawler behaves, this is where you do it. For the full list of parameters you can mess with, check this endpoint:

/v1/crawlers/<crawler_hash>/params
f
How to use Lobstr.io’s Vinted Product Scraper API? - Update settings image23

I’m not going to walk through all of them. The ones you’ll actually want to tweak are:

  1. max_pages — how many pages the scraper should crawl. Max is 32
  2. max_unique_results_per_run — total number of unique results you want in one run
  3. concurrency — how many bots run at the same time on your squid

To update Squid settings, hit:

PUT https://api.lobstr.io/v1/squids/<squid_hash>
f
How to use Lobstr.io’s Vinted Product Scraper API? - Update settings image24

Running the Vinted Product Scraper

Once your squid is ready, it’s time to actually run it. You start a run by hitting:

POST https://api.lobstr.io/v1/runs
f
You’ll need to pass the Squid ID in the body.
POST https://api.lobstr.io/v1/runs
f
How to use Lobstr.io’s Vinted Product Scraper API? - Running the Vinted Product Scraper image25
The response gives you a run id. Save it because you’ll need it to track progress and fetch results later.
To check run progress, you can poll v1/runs/<run_hash>/stats.
How to use Lobstr.io’s Vinted Product Scraper API? - Running the Vinted Product Scraper image26

Or you can do what I prefer… set up a webhook listener instead.

How to use Lobstr.io’s Vinted Product Scraper API? - Running the Vinted Product Scraper image27

Getting results

If you want the data in JSON, hit:

GET https://api.lobstr.io/v1/results?run=<run_hash>
f

That will give you the full dataset back in JSON format.

How to use Lobstr.io’s Vinted Product Scraper API? - Getting results image28

If you’d rather download it as a file, you can get CSV with:

GET https://api.lobstr.io/v1/runs/<run_hash>/download
f

It generates a temporary download link you can use to fetch the file.

How to use Lobstr.io’s Vinted Product Scraper API? - Getting results image29

You can simply download the file via this link and view it in Excel or Google Sheets.

How to use Lobstr.io’s Vinted Product Scraper API? - Getting results image30

If you don’t want to manually fetch results every time, you can automate it. Lobstr lets you export directly to Google Sheets, S3, or SFTP.

You can get the API references and all the information about exporting data in the Delivery section of Lobstr’s docs.

How to use Lobstr.io’s Vinted Product Scraper API? - Getting results image31

And that’s it. Now before wrapping this up, let’s hit some FAQs.

FAQs

What are the rate limits of Lobstr.io’s Vinted API?

Each endpoint has its own cap. For example, /v1/squids allows 120 api calls per minute, /v1/tasks 90 per minute, and /v1/results 2 per second.
You can track usage with request header fields like X-RateLimit-Limit, X-RateLimit-Remaining, and Retry-After in any programming language.

Does Lobstr.io’s API work on other Vinted domains like Vinted.it and Vinted.pl?

Yes, it works across all Vinted domains, so you can scrape data from the entire Vinted platform for your e-commerce workflows.

Conclusion

That’s a wrap on my complete guide to Vinted API, if you want me to do a complete tutorial on how to automate Vinted with Python and Lobstr.io API, ping me on LinkedIn.

Related Articles

Related Squids