Skip to main content
POST /v1/vinted/search_by_image runs Vinted’s native image search and returns ordinary active listings with prices, photos and URLs. No Vinted login is needed. A successful request costs 10 credits; failed requests are free.

Image input

Supply exactly one of:
  • image_url: a public HTTP(S) URL that returns an image.
  • image_base64: the image encoded as base64, either a bare payload or a data:image/jpeg;base64,... URL.
JPEG, PNG and WebP are supported, up to 5 MiB decoded. Use a clear photo of one item. The playground also accepts a local file under Search → Search by Image.
Replace the example URL with your photo. An inaccessible URL, malformed base64, unsupported image or oversized decoded image returns an error, not a text-search fallback. Invalid parameter combinations return 422; invalid image input returns 400; an upstream failure returns 502.

Filters

Send ID filters as comma-separated positive integers, such as "53,14". Image search uses Vinted’s visual ranking; it has no order or query parameter. Resend the same image with the next page and the preceding response’s pagination.time. Image search does not offer seller-country enrichment.

Clients

Use Python/Node SDK 0.47.0+ or CLI 0.15.0+.

Results and limits

The response uses the same items, pagination and market envelope as text search. Prices, photos, listing URLs and available size/condition labels are included. Structured brand_title may be null; display_title is a display label, not a guaranteed brand identifier. Each item carries a similarity_score: Vinted’s own measure of visual similarity to the query image. Vinted returns a ranking on only some calls; on the rest similarity_score is null on every item. A null says nothing about the item — only that Vinted sent no score — so do not treat a missing score as a weak match. Filter on the score when it is present, and fall back to your own ranking when it is not.
The score is ordinal, not absolute. It sits on an unbounded, undocumented scale that Vinted changes without notice — it read 0–1 in September 2026 and roughly 36–44 afterwards. Rank items against the others in the same response; never compare a score to a fixed threshold, and never compare scores between two responses.
Whether a given photo gets scored is close to fixed for that photo within a session — repeated calls on one image tend to be all scored or all unscored — so retrying to obtain a score is not worth the credits. An unscored response is billed the same as a scored one. Searching with a listing’s own photo usually returns that listing at or near the top, but nothing guarantees it is first. Drop it by id before computing a median, or it will bias the result toward its own asking price. The result set is largely but not perfectly stable across repeated calls on the same photo. These are active asking prices, not completed sale prices. For valuation, combine the matching listings with sold comparables and price suggestions.