Skip to content
scrapeatlas.Dashboard

Search Vinted brands

Try in Playground

Find brand ids by keyword, with follower and listing counts and luxury/authenticity flags, for use as brand_ids in search.

GET/v1/vinted/brandsx-api-key
x-api-keystringrequiredheader

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

Query parameters
2
keywordstringrequiredquery

Brand name fragment (1–100 characters).

min 1 chars · max 100 chars

Examplenike
domainenumquery

Marketplace domain suffix the data was read from (com, fr, de, co.uk, …).

one of: com, at, be, com.au, cz, de, dk, ee, es, fi, fr, gr, hr, hu, ie, it, lt, lu, lv, nl, pl, pt, ro, se, si, sk, co.uk

Examplefr
Response fields
32
requestIdstring

Random operational correlation ID.

Upstream requests (the anonymous token HEAD counts as one), 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 was retrieved.

statusenum

success, partial, failed or challenged. Inspect coverage even for HTTP 200.

one of: success, partial

sourceUrlstring

Public www.vinted.<domain> URL the data belongs to.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Complete means this bounded read had no known omissions; warnings name each omission.

coverage.sourceenum

public_api for the JSON web API, public_page for the item page.

one of: public_api, public_page

coverage.completeboolean

False when any warning is present.

coverage.warningsstring[]

Machine-readable coverage information for this response.

domainenum

Marketplace domain suffix the data was read from (com, fr, de, co.uk, …).

one of: com, at, be, com.au, cz, de, dk, ee, es, fi, fr, gr, hr, hu, ie, it, lt, lu, lv, nl, pl, pt, ro, se, si, sk, co.uk

keywordstring

Brand name fragment (1–100 characters).

Matching brands in source order.

up to 96 items

brands.idstring

Brand id.

brands.titlestringnullable

Brand name.

brands.slugstringnullable

URL slug.

brands.urlstringnullable

Public brand page URL.

brands.favouriteCountintegernullable

Members following the brand.

brands.itemCountintegernullable

Listings the source counts for the brand.

brands.isLuxurybooleannullable

Luxury brand flag.

brands.isHvfbooleannullable

High-value fashion flag.

brands.requiresAuthenticityCheckbooleannullable

Listings may go through authenticity checks.

brands.isVisibleInListingsbooleannullable

Brand is shown on listings.

Source page state (the brand search answers one page).

pagination.pageintegernullable

Current page.

pagination.perPageintegernullable

Records per page.

pagination.totalPagesintegernullable

Total pages.

pagination.totalEntriesintegernullable

Total brands matched.

pagination.hasMoreboolean

Whether page + 1 exists.

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
9
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, unsupported or invalid parameters, more than one selector, a domain that does not match the URL host, or a page beyond what the source accepts.
401unauthorizedMissing or invalid service key.
404not_foundUnknown item or member.
429upstream_rate_limitedVinted rate limited the request; no automatic retry.
502upstream_challengedDataDome/Cloudflare challenge, HTTP 401/403/503, or no anonymous token issued.
502unsupported_page unsafe_redirect response_too_large request_limit upstream_errorBounded retrieval failed, the page belongs to another item, or the response no longer matches the expected structure.
503busyAll worker slots occupied.
504timeoutDeadline exceeded.
200partialCoverage warnings such as pricing_missing, photos_missing or pagination_missing.