Depop Scraper
Pricing
from $1.50 / 1,000 results
Depop Scraper
Search and extract Depop product listings with prices, brands, sizes, condition, seller info, and images. Filter by price and region. Fast, reliable, pay per result.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Tommi Sullivan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Depop Scraper — Export Depop Search, Shop & Product Data (Unofficial Depop API)
The fastest way to scrape Depop and turn it into structured data. Point this actor at search keywords, search/category URLs, shop usernames or product URLs and get back clean JSON/CSV/Excel with prices, brands, sizes, conditions, seller ratings, sold status and photos — ready for reseller tools, price research and brand monitoring. No coding required; works as a plug-and-play Depop API replacement for data export.
Pay per result: $1.00 / 1,000 items. No browser, no bloated proxy bills — see What changed in v2 below.
Why this Depop scraper
- Search scraping — any keyword, with price range, condition, sort and marketplace country filters.
- Paste-a-URL mode — copy a filtered Depop search or category URL from your browser; all filters in the URL are applied automatically.
- Full shop exports — pull a seller's entire inventory (including sold listings) with their rating attached.
- Product detail lookups — full description, condition, all photos, timestamps.
- Sold-listings analysis — every item carries a
soldflag, so you can compute real sell-through rates and market prices, not asking prices. - Deduplicated, capped, flattened output — one row per product, ready for a spreadsheet.
Use cases
| Use case | How |
|---|---|
| Reseller sourcing | Run "Newest first" searches for your niche brands daily; filter by max price; get pinged (via integrations) when underpriced items appear. |
| Price research | Scrape 1,000 comps for an item, split by sold flag, and price against actual sold prices instead of wishful asking prices. |
| Brand monitoring | Track how much of your brand's product is resold, at what discount to retail, and in which condition bands. |
| Sold-listings analysis | Export a category, group by brand × condition, compute sell-through and median sold price. |
| Competitor shop tracking | Scrape rival sellers' shops weekly; watch their pricing, stock depth and what actually sells. |
Input
All fields are optional, but you need at least one source (searchQueries, searchUrls, shopUsernames or productUrls).
{"searchQueries": ["carhartt detroit jacket", "vintage levis 501"],"searchUrls": [{ "url": "https://www.depop.com/search/?q=nike+dunk&priceMax=80&sort=newlyListed" }],"shopUsernames": ["vintagefinds_uk"],"productUrls": [{ "url": "https://www.depop.com/products/vintagefinds_uk-vintage-nike-hoodie/" }],"maxItems": 500,"priceFrom": 10,"priceTo": 120,"condition": "used_excellent","sortBy": "newest","country": "us","fullItemDetails": false,"proxyConfiguration": { "useApifyProxy": true },"useResidentialFallback": true}
| Field | Type | Default | Notes |
|---|---|---|---|
searchQueries | array of strings | — | Keywords, one per entry. |
searchUrls | array of {url} | — | depop.com search/category URLs; URL filters win over the global filters below. |
shopUsernames | array of strings | — | Usernames or full shop URLs. |
productUrls | array of {url} | — | Individual listings; always fetched with full details. |
maxItems | integer | 500 | Hard cap on results = hard cap on what you pay. |
priceFrom / priceTo | integer | — | Price window for searches. |
condition | enum | any | brand_new, used_like_new, used_excellent, used_good, used_fair. |
sortBy | enum | relevance | newest, price_low_to_high, price_high_to_low. |
country | enum | us | Marketplace: us, gb, au, ca, de, fr, it, ie, nl, es, nz. |
fullItemDetails | boolean | false | Adds one detail request per result to fill description, condition, seller rating and timestamps. |
proxyConfiguration | object | Apify datacenter | Datacenter is the cheap default and usually sufficient. |
useResidentialFallback | boolean | true | Auto-escalate to residential proxies only if datacenter gets blocked. |
Inputs from v0.1 (search, startUrls, sellers, minPrice, maxPrice) still work — see ./MIGRATION.md.
Output
One flattened record per product:
{"id": 987654321,"slug": "vintagefinds_uk-vintage-nike-hoodie","title": "Vintage Nike hoodie in grey, size M","description": "Vintage Nike hoodie in grey, size M\nGreat condition, small mark on cuff...","price": 34.0,"currency": "USD","discounted_price": 28.0,"on_sale": true,"brand": "Nike","size": "M","sizes": ["M"],"condition": "used_excellent","seller_id": 1234567,"seller_username": "vintagefinds_uk","seller_rating": 4.9,"seller_reviews_total": 812,"sold": false,"photos": ["https://media-photos.depop.com/b1/.../P0.jpg"],"main_photo": "https://media-photos.depop.com/b1/.../P0.jpg","url": "https://www.depop.com/products/vintagefinds_uk-vintage-nike-hoodie/","category": "Hoodies","date_created": "2026-05-12T09:31:00Z","date_updated": "2026-06-02T14:05:00Z","source": "search:vintage nike hoodie","scraped_at": "2026-07-04T12:00:00+00:00"}
| Field | Description |
|---|---|
id | Depop's numeric product id (dedup key). |
title | First line of the description (Depop has no title field), or derived from the slug on list pages. |
price / currency / discounted_price / on_sale | Asking price, its currency, and sale price when discounted. |
brand, size, sizes, condition | Listing attributes (condition needs fullItemDetails for search/shop results). |
seller_username, seller_rating, seller_reviews_total | Seller identity and reputation. |
sold | true for sold listings — the key field for real price research. |
photos, main_photo | Largest-rendition image URLs. |
url, slug, category, country | Listing location and taxonomy. |
date_created, date_updated | Listing timestamps where the API exposes them. |
source, scraped_at | Provenance: which query/shop produced the row and when. |
Download as JSON, CSV, Excel or XML from the run's Dataset tab, or via the Apify API.
v2: what changed
v2 is a ground-up browserless rewrite. v1 drove a headless browser through Depop with residential proxies; v2 calls the same internal JSON API the Depop web app uses, over a TLS-fingerprint-matched HTTP client.
| v1 (browser) | v2 (browserless) | |
|---|---|---|
| Engine | Headless Chromium | Direct HTTPS to Depop's web API |
| Memory | 1–4 GB | 256 MB |
| Proxy traffic per item | full page + assets (residential) | ~5–15 KB JSON (datacenter) |
| Platform usage cost per 1k results | ~$5.81 | ~4–5× lower |
| Speed | seconds per page | dozens of items per second |
Same data, same fields, dramatically lower total cost per result — which is why the price also dropped to $1.00/1,000 (see the actor's pricing tab).
Integrations
- Make / Zapier / n8n — use the Apify app: trigger a run, wait, fetch dataset items, push to Sheets/Airtable/Slack.
- LangChain / LlamaIndex — load the dataset with the Apify loaders to feed listings into an LLM pipeline (e.g. "flag mispriced grails").
- MCP agents — via the Apify MCP server, agents (Claude, etc.) can call this actor as a tool: "find sold prices for Carhartt Detroit jackets under $100".
- API / SDKs — run and fetch results with the Apify REST API,
apify-client(JS/Python), or schedule daily runs in Apify Console. - Webhooks — fire a webhook on run completion to feed your own backend.
FAQ
Is scraping Depop legal? This actor only accesses publicly available listing data — no logins, no private data. You are responsible for complying with applicable laws and Depop's terms in your jurisdiction; for guidance see Apify's articles on web-scraping legality.
Does it get sold listings?
Yes — sold items appear in shop inventories and searches with "sold": true. That makes real sell-through and sold-price analysis possible.
Why are condition, description or seller_rating empty on search results?
Depop's list endpoints return compact objects. Turn on fullItemDetails to fetch the detail endpoint per item (one extra request each), or scrape via productUrls which always returns full detail.
How fresh is the data? Live — every run hits Depop's API in real time. Schedule the actor for continuous monitoring.
Do I need my own proxies?
No. Apify datacenter proxies are the default; if Depop blocks them mid-run the actor escalates to residential automatically (toggleable via useResidentialFallback).
What does it cost?
$1.00 per 1,000 results (pay-per-result) plus modest platform usage — the browserless engine keeps that overhead ~4–5× lower than browser-based Depop scrapers. maxItems gives you a hard spend cap.
Something broke / fields look wrong? Depop occasionally changes its internal API. Open an issue on the actor page — the endpoint layer is isolated so fixes ship fast.
Keywords: depop scraper, depop api, depop data export, depop price research, reseller tools, depop sold listings, scrape depop shop, depop product data.