Depop Scraper icon

Depop Scraper

From $1/1K. Scrape Depop search results, listings, shops, and reviews to JSON, CSV, or Excel. Extract titles, prices, shipping, brands, conditions,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Depop Scraper at a glance

Depop Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes photo, title, url, price and currency, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Ecommerce, Automation, Developer Tools
Pricing
$1.80 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
26 options
Run success
97.7% of completed public runs in the last 30 days

From $1/1K. Scrape Depop search results, listings, shops, and reviews to JSON, CSV, or Excel. Extract titles, prices, shipping, brands, conditions, colours, sizes, photos, descriptions, and seller profiles.

What Depop Scraper can do

  • Three ways in. Keyword search with filters, URL input (product, search, or a whole shop, walked item by item), or a seller's reviews.
  • Rich product records. Title, description, price and shipping breakdown, brand, condition, colours, sizes, every photo, like count, and seller profile.
  • Seller reviews on demand. One row per review, with rating, text, date, reviewer, and the product the review is about.
  • Source-side filters. Brand, category, colour, condition, department group, gender, price range, and sort order, so you never post-filter a huge dataset yourself.
  • 12 marketplaces. US, UK, Australia, Ireland, Italy, France, Germany, Spain, Netherlands, Belgium, New Zealand and Canada, each in its local currency.
  • Depth on demand. Switch on detail enrichment for seller profile, full description, colours, material and condition, and pay the enrichment charge only when you use it.

Choose what to collect

These inputs let you configure Depop Scraper - Listings, Shops, Sellers & Reviews. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredHow to find data to scrape. 'search' and 'url' return items; 'reviews' returns one row per review left for the listed sellers.

Choices: search, url, reviews

queriesarrayKeywords to search for (Search mode only). Multi-keyword supported. Each keyword runs its own paginated search; results are combined.
sortBystringResult ordering (Search mode only). Default = relevance. Depop has removed the 'Newly listed' sort; choosing it runs the search by relevance.

Choices: relevance, newest, price-asc, price-desc

minPriceintegerMinimum price in the marketplace currency. Leave empty for no minimum.
maxPriceintegerMaximum price in the marketplace currency. Leave empty for no maximum.
genderstringFilter by department (Search mode only).

Choices: any, female, male, unisex

brandsarrayNumeric brand IDs (Search mode only). E.g. 270 = Nike. Multiple selectable. Leave empty for all brands.
Show 19 more inputs
More input fields
InputWhat it controls
categoriesarrayNumeric category IDs (Search mode only). E.g. 231 = Shoes. Multiple selectable.
coloursarrayColour slugs (Search mode only). E.g. black, white, pink, blue, red, green, multi. Multiple selectable.
conditionsarrayCondition slugs (Search mode only). One or more of: brand_new, used_like_new, used_excellent, used_good, used_fair.
groupsarrayDepartment group slugs (Search mode only). E.g. tops, bottoms, footwear, accessories, coats-jackets. Multiple selectable.
sizesarrayNumeric size IDs (Search mode only, advanced). Size IDs are category-specific (the same number means a different size for shoes vs. dresses), find one on a real listing's size selector. Leave empty unless you know them. Matching is done against each result's own size data, since the site's own size filter does not reliably narrow results upstream.
urlsarrayDirect Depop URLs (URL mode only). Multi-URL supported. Accepts product URLs (/products//), search URLs (/search/?q=...), shop URLs (//, which walk every item the seller has listed), and category URLs (/category//) for womens, mens, kids, home and beauty, including women's and men's sub-pages such as /category/womens/tops/ or /category/mens/tops/tshirts/. Category pages that Depop itself shows empty (e.g. luxury, plus-size, petite, pets, brand, electronics) and other category paths are skipped with a warning rather than guessed. The search filters above are ignored in URL mode; if the pasted URL doesn't name a country, the marketplace region below is used.
sellersarraySeller usernames, shop URLs, or numeric user IDs (Reviews mode only). Multi-seller supported; each seller's reviews are surfaced as separate rows.
reviewRolestringWhether to fetch reviews the user received as a seller or as a buyer (Reviews mode only).

Choices: seller, buyer

maxPagesintegerMaximum pages to walk per keyword / URL / shop / seller. ~24 items per page; up to 20 reviews per page. Set 0 for unlimited (the walk still stops naturally at the end of results; bounded by Max Items).
maxListingsintegerCap across all keywords / URLs / shops / sellers combined. Default 20. Set 0 for unlimited (capped only by Max Pages and the natural end of results).
fetchDetailsbooleanIf on (Search and URL modes, including shop URLs), the actor opens each item's detail page to add the seller (username, ID, verified badge, photo), full description, all photos, colours, material, style, condition, category and seller rating / items-sold stats. Charged as a detail-enrichment event per item. Off by default (faster, cheaper runs that return search-card fields only); turn on when you need seller and full item details. Not used in Reviews mode.
resumeFromRunIdstringOptional. ID of a previous run of this actor (or a dataset ID). Items already in that dataset are skipped, so this run returns only NEW items (a delta). Combine both runs' datasets for the full set. For recurring/scheduled monitoring of the same search, use Incremental mode below instead.
incrementalModebooleanTurn this on for daily/recurring monitoring of the same search, URLs, or sellers. The first run returns everything as NEW. Later runs return only NEW, UPDATED, and REAPPEARED items, items unchanged since the last run are suppressed (not returned, not billed). State is kept separately per search/URL/seller and filter setup; use State key below to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the search/URL/seller and filter settings, different setups then never mix state with each other.
emitExpiredbooleanOff by default. Turn on to also return items that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search (Max Pages Per Search and Max Items both set to 0/unlimited, and Resume not used), this returns and bills extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayOutput field names that should NOT make an item count as UPDATED. Always ignored: likeCount, sellerLastSeen, the seller stats (sellerItemsSold, sellerReviewsTotal, sellerReviewsRating, sellerAverageShippingDays, sellerFollowers, sellerFollowing) and the raw / sellerRaw passthrough. They describe the seller or shopper activity rather than the listing, and change on almost every run. Add fields such as description or pictures here if changes to them are not relevant to you. Ignored fields are still returned in the output.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

mainPicturePhoto (image)
titleTitle (text)
urlURL (link)
pricePrice (number)
currencyCurrency (text)
brandNameBrand (text)
conditionNameCondition (text)
statusStatus (text)
sellerUsernameSeller (text)
kindKind (text)
ratingRating (number)
textReview (text)
Show 43 more fields
authorUsernameReviewer (text)
dateDate (text)
changeTypeChange (incremental mode) (text)
idID (text)
isReducedReduced (boolean)
originalPriceBeforeDiscountOriginal price (number)
sizesSizes (array)
isSoldSold (boolean)
likeCountLikes (number)
countryCodeCountry (text)
descriptionDescription (text)
totalPriceTotal price (number)
shippingCostShipping (number)
hasFreeShippingFree shipping (boolean)
categoryNameCategory (text)
groupNameGroup (text)
productTypeNameProduct type (text)
genderGender (text)
coloursColours (array)
materialMaterial (array)
styleStyle (array)
ageAge (array)
quantityQuantity (number)
skuSKU (text)
isBoostedBoosted (boolean)
picturesPhotos (array)
pictureCountPhoto count (number)
addressLocation (text)
sellerReviewsRatingSeller rating (number)
sellerReviewsTotalSeller reviews (number)
sellerItemsSoldSeller items sold (number)
sellerLastSeenSeller last seen (text)
sellerAverageShippingDaysSeller avg shipping days (number)
sellerUrlSeller URL (link)
roleRole (text)
authorVerifiedReviewer verified (boolean)
productPictureProduct photo (image)
productIdProduct ID (text)
sellerFollowersSeller followers (number)
transactionIdTransaction ID (text)
changedFieldsChanged fields (array)
firstSeenAtFirst seen (date)
lastSeenAtLast seen (date)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "000000001",
  "slug": "sampleseller-sample-vintage-jacket-0000",
  "url": "https://www.depop.com/products/sampleseller-sample-vintage-jacket-0000/",
  "title": "Sample Vintage Jacket",
  "description": "Full item description appears here when fetchDetails is on.",
  "price": 30,
  "totalPrice": 30,
  "shippingCost": 5,
  "currency": "USD",
  "isReduced": false,
  "status": "ONSALE",
  "brandName": "Sample Brand",
  "brandId": "0000",
  "conditionName": "Like new condition",
  "colours": [
    "black"
  ],
  "categoryName": "Coats & Jackets",
  "gender": "unisex",
  "sizes": [
    {
      "id": 0,
      "name": "M",
      "quantity": 1
    }
  ],
  "likeCount": 0,
  "pictures": [
    "https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg"
  ],
  "mainPicture": "https://media-photos.depop.com/b1/00000000/0000000000_0000/P0.jpg",
  "sellerId": "00000000",
  "sellerUsername": "sampleseller",
  "sellerVerified": false,
  "sellerItemsSold": 0,
  "sellerReviewsRating": 5,
  "sellerReviewsTotal": 0,
  "countryCode": "US"
}

Ways to use this data

  • Resale and vintage sourcing: track new listings for specific brands, keywords, or price ranges before they sell.
  • Price and market research: compare prices, discounts, and shipping costs across brands and categories.
  • Seller due diligence: pull a shop's reviews and rating history before buying from or partnering with them.
  • Trend and demand tracking: monitor a category or keyword over time with scheduled, incremental runs.
  • Marketplace analytics: build datasets of condition, brand, and size distribution for research or reporting.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Depop Scraper return?

The documented output for Depop Scraper includes photo, title, url, price, currency, brand, condition and status. Availability of each field depends on the source page and the selected mode.

How much does Depop Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed items on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only NEW, UPDATED, and REAPPEARED items for the same search, URLs, or sellers, and unchanged items are not billed. Use stateKey to keep separate monitoring campaigns apart.

What is the difference between Resume and Incremental mode?

resumeFromRunId continues one specific interrupted or previous run and returns only the items that run doesn't already have. Incremental mode is for running the same search, URLs, or sellers again and again on a schedule and getting only what changed since last time. Combining both on a search that already has incremental state is rejected with a clear message; use one or the other.

Why did my run return an empty dataset instead of failing?

This actor treats "nothing usable came back" as a completed run with zero items, not an error: it retries and switches connections automatically when a request is rejected. The run stops outright only when a resumeFromRunId you provided cannot be resolved, or when Incremental mode and Resume are combined in a way that would corrupt an existing monitoring campaign. Any other empty result is a completed run with 0 items and a "No results returned for the given criteria." status message. The most common causes are search filters that match nothing, or an invalid username, slug, or URL; check the run log for details.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear, or Airtable.

Ready to collect with Depop Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.