List a Depop shop's items for sale
List a seller's items for sale, newest first, with cursor pagination. Identify the seller by handle, URL or user_id.
/v1/depop/shop/productsx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Depop username as it appears in depop.com/{handle}/ (letters, digits, underscore, full stop; matched in lowercase); provide exactly one of handle, url or user_id.
exampleclosetFull shop URL: https://www.depop.com/{handle}/.
max 2048 chars
Numeric seller ID (skips the profile read; shop.username is then null).
Items per page, 1-100 (default 24).
default: 24 · 1 – 100
Opaque caller-carried cursor from a previous nextCursor.
Request correlation UUID.
Upstream request count, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable public data is returned; inspect status and coverage for omissions.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
The public Depop API URL the response describes (fixed origins, validated parameters).
absolute HTTPS URL
UTC retrieval timestamp.
Retrieval coverage and warning codes for this response.
Always included.
Always included.
Always included.
Numeric seller ID and username (null when user_id was given).
Always included.
≥ 0
Always included.
Always included.
up to 100 items
Always included.
≥ 0
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
up to 20 items
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, sorts, markets, filter ids or cursors (Depop rejects a malformed cursor with HTTP 400). |
| 401 | unauthorized | Invalid API key. |
| 403 | restricted | Depop requires an account session for the data (its API answered 401). |
| 404 | not_found | Unknown shop, product or slug. |
| 429 | upstream_rate_limited | Depop rate limited the request. |
| 502 | upstream_challenged | Depop's edge answered 403 or a Cloudflare challenge did not clear (status challenged). |
| 502 | unsupported_page | Layout or identity checks failed, or a non-JSON document was served. |
| 502 | response_too_large | A response exceeded 3 MiB. |
| 502 | request_limit | The upstream read budget was exhausted. |
| 502 | upstream_error | Network failure or an unexpected upstream status after one retry. |
| 503 | busy | Both retrieval slots are occupied. |
| 504 | timeout | The 45-second deadline elapsed. |