Depop Sold Comps — Sold Items & Last Ask
Pricing
from $6.00 / 1,000 sold comps
Depop Sold Comps — Sold Items & Last Ask
Scrape depop sold items and depop sold comps: itemId, title, last ask, status sold or removed. For resellers who want depop shop sold in a spreadsheet — not a live listings dump. Last ask is not an invented hammer. RESIDENTIAL GB.
Pricing
from $6.00 / 1,000 sold comps
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Depop Sold — Sold Items & Price Comps
depop sold comps from depop.com: items that sold or left a shop, with itemId, title, lastPrice (last ask) and status. Built for resellers who need depop sold items and depop comps in a spreadsheet, not another live listings dump.
Depop does not publish a sold search. The public search API is 410 (deprecated). Search HTML is live ads only. This Actor reads depop shop sold (
sold=true/PURCHASEDon the shop products API) and watches a keyword universe so scheduled runs emit sold / removed when a listing disappears. First search-only run seeds the universe. Last ask is not an invented hammer price (priceKind=last_ask).
Table of contents
- What you get
- How it works
- Input
- Output
- Example input
- Use cases
- Proxy
- API quick start
- FAQ
- Limitations
- Keywords
What you get
Sold / removed comp
itemId,slug,url(depop.com/products/…)title,brand,sizestatus:sold|removed| (optional)activelastPrice,soldPrice,priceKind(last_ask),currencyfirstSeenAt,lastSeenAt,sellerId,sellerUsername,scrapedAt
This is depop sold, depop sold items, depop sold comps, and depop shop sold. It is not a third Depop live-search scraper.
How it works
| Step | Action |
|---|---|
| 1 | Optional: open a shop URL. Shop JSON includes PURCHASED items with last ask. Those rows are sold comps on the first run. |
| 2 | Optional: open Depop search HTML for your keyword (e.g. Nike). Live cards seed the watched universe in Actor storage. They are not pushed as sold. |
| 3 | Check listingUrls / itemIds / watchItems and IDs that vanished since the last snapshot. |
| 4 | Product page: InStock = still active. SoldOut / PURCHASED = sold. HTTP 404 = removed. |
| 5 | Push only sold / removed rows unless you turn includeActive on. |
There is no working ?sold=true search filter (query params are ignored). Search API v2 is gone (410).
Input
| Field | Required | Default | Notes |
|---|---|---|---|
keyword | One of keyword / URL / shop / IDs | Nike | Brand as buyers type it |
searchUrl | One of keyword / URL / shop / IDs | — | Full search URL |
shopUrl | One of keyword / URL / shop / IDs | — | https://www.depop.com/{username}/ for shop sold |
listingUrls | One of keyword / URL / shop / IDs | — | Product URLs a reseller would paste |
itemIds | One of keyword / URL / shop / IDs | — | Numeric IDs |
watchItems | No | — | Last-known cards |
maxItems | No | 20 | 1–80 |
lookbackHours | No | 168 | Keep IDs between scheduled runs |
includeActive | No | false | Off = sold/removed only |
proxyConfiguration | No | RESIDENTIAL + GB | Keep GB (or your market) aligned |
Output
One row per sold or removed item. A hard block pushes one row with error: true and a message that names RESIDENTIAL + GB. A first keyword-only run with no disappearances yet pushes one honest empty row (error: false) and stores the universe.
{"itemId": "925467575","url": "https://www.depop.com/products/kewin7500-women-nay-blue-gap-long-c467/","title": "Women Nay blue Gap long sleeve 100% cotton shirt","status": "sold","lastPrice": 12.0,"soldPrice": 12.0,"priceKind": "last_ask","currency": "USD","scrapedAt": "2026-09-25T00:00:00Z"}
priceKind=last_ask means the number is the last public asking price, not a Depop hammer.
Example input
{"keyword": "Nike","shopUrl": "https://www.depop.com/kewin_500/","maxItems": 15,"includeActive": false,"listingUrls": ["https://www.depop.com/products/kewin7500-women-nay-blue-gap-long-c467/"],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "GB"}}
Use cases
- Resellers dumping depop sold listings into a sourcing spreadsheet (brand, style, last ask)
- depop shop sold counts / comps on a watched seller
- Closed-sale checks on product URLs you already track (schedule 6–12h)
Proxy
Depop can challenge datacenter IPs. Default is Apify RESIDENTIAL, country GB. Use a market-aligned country if you need local currency.
API quick start
apify call noahadler/depop-sold-comps --input '{"keyword": "Nike","shopUrl": "https://www.depop.com/kewin_500/","maxItems": 15,"includeActive": false}'
FAQ
Why didn’t the first keyword-only run return sold rows?
Public search has no sold tab (API 410). The first run saves live IDs; the next scheduled run emits comps when those IDs leave. Pass shopUrl / listingUrls to get depop shop sold now.
Is soldPrice the hammer?
No. Public HTML and shop JSON expose last ask. priceKind=last_ask. This Actor does not invent hammer prices.
Can I dump live listings?
Not with the default input. Use a listings Actor for that. includeActive is off on purpose.
Limitations
- Search API deprecated (410)
- Search
soldquery params ignored - Disappeared listing =
removed(sold or withdrawn) unless the shop/page marks PURCHASED / SoldOut - Do not invent hammer prices
Keywords
depop sold · depop sold items · depop comps · depop shop sold · depop scraper · depop sold comps