Depop Listings Scraper avatar

Depop Listings Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Depop Listings Scraper

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

Coding Frontned

Maintained by Community

Actor 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.