Depop Scraper — search & extract listings avatar

Depop Scraper — search & extract listings

Pricing

Pay per usage

Go to Apify Store
Depop Scraper — search & extract listings

Depop Scraper — search & extract listings

Scrape Depop marketplace listings across 9 countries. Extract prices, brands, sizes, condition, seller data, images, and more from the peer-to-peer fashion marketplace.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Steven Bennett

Steven Bennett

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Depop Scraper

Extract listings from Depop — the global peer-to-peer marketplace for vintage, streetwear, and second-hand fashion with 30M+ registered users across 9 countries.

First Depop scraper on Apify Store. No competition in this niche.

Depop Scraper demo


Features

  • 🔍 Search anything — keyword, category, price range filters
  • 🌍 9 country domains — US, UK, France, Italy, Spain, Germany, Australia, New Zealand, Canada
  • 📊 Rich data — price, brand, size, condition, category, photos, seller info, likes count, views
  • 🔄 Smart sorting — newest, oldest, price low→high, price high→low
  • 🛡️ Anti-bot resistant — headless browser with stealth plugins handles Depop blocking
  • 📦 Multi-strategy extraction — API interception, __NEXT_DATA__ parsing, DOM fallback
  • 💰 Pay-per-event — you only pay for what you use

Pricing

EventPrice
Start$0.50 per run
Per item$0.0020 per listing ($2.00 / 1,000 items)

A typical search for "vintage dress" (960 results) would cost **$2.42**. A small search (50 results) costs ~$0.60.

Quick Start

Via Apify Console

  1. Go to Depop Scraper in Apify Console
  2. Click Run and fill in the fields:
    • search — what to look for (e.g. "Levi's 501")
    • country — Depop domain (e.g. com, co.uk, fr)
    • maxItems — how many listings to scrape
  3. Wait for the run to complete
  4. Download results as JSON, CSV, or Excel

Via API

curl -X POST "https://api.apify.com/v2/acts/serene_trombone~depop-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"search": "vintage dress",
"country": "com",
"maxItems": 100,
"order": "price_low_to_high"
}'

Via Apify SDK (Node.js)

import { Actor } from 'apify';
const run = await Actor.call('serene_trombone/depop-scraper', {
search: 'Nike Air Max',
country: 'co.uk',
maxItems: 50,
});
const { items } = await Actor.openDataset(run.defaultDatasetId);
console.log(items);

Via Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("serene_trombone/depop-scraper").call(
run_input={
"search": "Levi's jeans",
"country": "com",
"maxItems": 100,
}
)
dataset = client.dataset(run["defaultDatasetId"])
items = dataset.list_items().items
print(items)

Input Parameters

ParameterTypeDefaultDescription
searchstringrequiredSearch keyword or phrase
countrystringcomDepop domain: com, co.uk, fr, it, es, de, au, nz, ca
maxItemsnumber100Max listings to scrape (1–100,000)
categorystringCategory filter (e.g. tops, dresses, shoes)
minPricenumberMinimum price in local currency
maxPricenumberMaximum price in local currency
orderstringnewestSort: newest, oldest, price_low_to_high, price_high_to_low
proxyConfigurationobjectApify proxyProxy configuration (recommended)

Output Schema

Each scraped listing returns the following fields:

#FieldTypeDescription
1idstring | numberUnique Depop item ID
2titlestring | nullListing title
3brandstring | nullBrand name (e.g. Levi's, Nike, Zara)
4pricenumber | nullItem price
5currencystring | nullCurrency code (USD, GBP, EUR, etc.)
6sizestring | nullSize label (e.g. "M", "UK 8", "One Size")
7conditionstring | nullItem condition (e.g. "New", "Used - Good")
8categorystring | nullProduct category
9descriptionstring | nullFull item description (detail mode)
10materialstring | nullMaterial composition (when available)
11colourstring | nullItem colour (when available)
12imagestring | nullMain photo URL
13imagesstring[]All photo URLs
14urlstring | nullDirect link to the listing on Depop
15likesCountnumberNumber of likes
16viewCountnumberNumber of views (detail mode)
17sellerIdnumber | nullDepop user ID of the seller
18sellerUsernamestring | nullSeller's username
19sellerAvatarstring | nullSeller's profile picture URL
20sellerBiostring | nullSeller's bio text (detail mode)
21countrystringCountry code (e.g. com, co.uk)
22domainstringDomain scraped (e.g. www.depop.com)
23scrapedAtstringISO 8601 timestamp of when the item was scraped

Sample Output

{
"id": 123456789,
"title": "Vintage 90s Levi's 501 Jeans",
"brand": "Levi's",
"price": 45.00,
"currency": "USD",
"size": "W30 L32",
"condition": "Used - Good",
"category": "Jeans",
"image": "https://media.depop.com/products/.../image.jpg",
"images": [
"https://media.depop.com/products/.../image1.jpg",
"https://media.depop.com/products/.../image2.jpg"
],
"url": "https://www.depop.com/products/seller123-vintage-501/",
"likesCount": 12,
"viewCount": 234,
"sellerId": 987654,
"sellerUsername": "vintage_seller",
"sellerAvatar": "https://media.depop.com/users/.../avatar.jpg",
"sellerBio": "curating vintage since 2020",
"country": "com",
"domain": "www.depop.com",
"scrapedAt": "2026-07-04T12:00:00.000Z"
}

Use Cases

  • Reseller research — find underpriced items, track trending styles
  • Brand monitoring — track second-hand value of brands over time
  • Market analysis — fashion economics, pricing trends, vintage market research
  • Competitive intelligence — monitor competitor listings and pricing
  • Data collection — AI/ML training datasets for fashion models, size recommender systems
  • Price tracking — monitor price drops and newly listed items

Rate Limits & Anti-Bot

Depop uses bot detection and may block aggressive scraping. This Actor handles it with:

  • ✅ Headless Playwright browser (full JS rendering)
  • ✅ Session rotation with Apify proxy
  • ✅ Retry logic with backoff
  • ✅ Stealth plugin to avoid detection
  • ✅ API interception for efficient data extraction
  • ✅ Multi-strategy fallback (API → __NEXT_DATA__ → DOM)

Using the Actor without Apify proxy may result in blocking.

Technical Details

The scraper uses a three-layer extraction strategy:

  1. API Interception — Captures JSON responses from Depop's internal API as the page loads
  2. __NEXT_DATA__ parsing — Extracts Next.js server-rendered data payload
  3. DOM fallback — Parses product cards from the rendered HTML as last resort

Stack: Crawlee (PlaywrightCrawler) · Node.js 20 · Apify SDK

Changelog

v1.0 — 2026-07-04

  • Initial release
  • 9 country domain support
  • Full search/filter pipeline
  • Multi-strategy data extraction
  • API response interception
  • Deduplication by item ID

Built with 🛠️ by Meester Bot · Not affiliated with Depop