Skip to content
scrapeatlas.Dashboard

Get a Depop shop profile

Try in Playground

Read a public seller profile from Depop's shop endpoint: identity, name, bio, verification, website, avatar sizes, follower and following counts, review rating and count, seller and buyer rating counts, last activity and items sold, plus the shop's inventory facet counts from the aggregates endpoint.

GET/v1/depop/shopx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
handlestringquery

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.

Exampleexamplecloset
urlstringquery

Full shop URL: https://www.depop.com/{handle}/.

max 2048 chars

Response fields
45
requestIdstring

Request correlation UUID.

Upstream request count, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable public data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

The public Depop API URL the response describes (fixed origins, validated parameters).

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Retrieval coverage and warning codes for this response.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

Always included.

shop.idinteger

Always included.

≥ 0

shop.usernamestring

Always included.

shop.urlstring

Always included.

absolute HTTPS URL

shop.namestringnullable

Always included.

shop.firstNamestringnullable

Always included.

shop.lastNamestringnullable

Always included.

shop.initialsstringnullable

Always included.

shop.biostringnullable

Always included.

shop.verifiedboolean

Always included.

shop.websitestringnullable

Always included.

shop.picturestringnullable

Always included.

shop.pictureSizesobject

Always included.

shop.followersintegernullable

Always included.

shop.followingintegernullable

Always included.

Always included.

shop.reviews.averagenumbernullable

Always included.

shop.reviews.countintegernullable

Always included.

shop.sellerRatingsintegernullable

Always included.

shop.buyerRatingsintegernullable

Always included.

shop.lastSeenstringnullable

Always included.

shop.itemsSoldintegernullable

Always included.

Facet counts of the shop's listed items from the aggregates endpoint: total, department, brand id, colour, condition and size counts. Null with inventory_unavailable when that read fails.

shop.inventory.totalinteger

Always included.

≥ 0

shop.inventory.departmentsobject

Always included.

Inventory counts at each category path, including nested categories.

up to 500 items

shop.inventory.categoryBreakdown.pathstring[]

Always included.

up to 6 items

shop.inventory.categoryBreakdown.countinteger

Always included.

≥ 0

shop.inventory.brandsobject

Always included.

shop.inventory.coloursobject

Always included.

shop.inventory.conditionsobject

Always included.

shop.inventory.sizesobject

Always included.

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.

Error codes
12
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, sorts, markets, filter ids or cursors (Depop rejects a malformed cursor with HTTP 400).
401unauthorizedInvalid API key.
403restrictedDepop requires an account session for the data (its API answered 401).
404not_foundUnknown shop, product or slug.
429upstream_rate_limitedDepop rate limited the request.
502upstream_challengedDepop's edge answered 403 or a Cloudflare challenge did not clear (status challenged).
502unsupported_pageLayout or identity checks failed, or a non-JSON document was served.
502response_too_largeA response exceeded 3 MiB.
502request_limitThe upstream read budget was exhausted.
502upstream_errorNetwork failure or an unexpected upstream status after one retry.
503busyBoth retrieval slots are occupied.
504timeoutThe 45-second deadline elapsed.