Depop Listings Scraper
Pricing
from $3.99 / 1,000 results
Depop Listings Scraper
The Depop Listings Scraper extracts product listings from depop.com category and search pages, capturing prices, original prices, sizes, brands, currency, product images, and category paths for resale market analysis, price tracking, and vintage fashion research.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Depop public listings scraper
This Actor extracts publicly visible Depop marketplace listings over bounded direct HTTPS requests. It captures public listing identifiers and slugs, titles, descriptions, current and original prices, currency, size, brand, product images, category paths, listing URLs, source provenance, and scrape timestamps when those fields are published.
What it is useful for
Use it for small, respectful resale-market snapshots, vintage-fashion research, assortment discovery, and public price checks. Provide official Depop category, search, or product URLs, or supply search phrases that are converted into public search URLs.
Access boundary
Requests use direct HTTPS only. The Actor does not use a browser, stealth automation, proxy, login, Jina Reader or other external-reader fallback, CAPTCHA solving, or access-control bypass. Redirects must remain on depop.com. Access barriers, bot checks, challenges, oversized responses, and empty public pages become minimal diagnostics rather than fabricated listing rows.
Input
Use categoryUrls, startUrls, sourceUrls, urls, or url for official public pages. Use searchQueries or query for public search phrases. maxPages defaults to 10 and is bounded from 1 to 25. maxItems defaults to 100 and is bounded from 1 to 500; legacy 0 is converted to the safe cap. timeoutMs, maxRetries, and requestDelayMs provide bounded network controls. includeDiagnostics defaults to true.
Example:
{"searchQueries": ["vintage shirt"],"maxPages": 2,"maxItems": 25,"requestDelayMs": 250}
For local QA, pass fixture or a repository-relative fixturePath. Fixture files are used only when explicitly supplied and must remain inside the Actor directory and outside node_modules. The legacy proxyConfiguration field is accepted for stored-input compatibility but is ignored.
Dataset output
Normal rows contain business and public-source fields: listingId, slug, title, description, price, originalPrice, currency, size, brand, images, categoryPath, url, sourceUrl, sourceDomain, and scrapedAt. Missing public fields are omitted.
Normal rows do not contain internal record IDs, access status, HTTP status, retry attempts, fetch method, actor identity, or debug details. When diagnostics are enabled, a diagnostic row has exactly recordType: "diagnostic", diagnosticType, url, error, errorCode, and scrapedAt. Operational counters and completion status are stored in OUTPUT_SUMMARY.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Local development
Run the contract suite with node --test test/contract.regression.test.js, syntax checks with npm run check, and dataset-boundary checks with node validate-datasets.js after setting APIFY_LOCAL_STORAGE_DIR. The Actor targets Node.js 20 or newer.
Responsible use and cost
Collect only public information you are permitted to use. Follow Depop’s terms, applicable marketplace rules, copyright and privacy requirements, and reasonable request-rate limits. Do not use this Actor to evade access controls or collect sensitive personal information. Direct HTTPS requests generally avoid proxy charges, but Apify compute, storage, and other platform resources can still incur costs; begin with small limits and inspect the output before expanding.