Skip to main content
POST
Search active listings by image. This is what the camera icon in eBay’s own search bar does: the picture is uploaded to eBay, eBay answers with a handle for it, and that handle is searched like a keyword. What comes back is ordinary listings, in exactly the same shape as /v1/ebay/search, with query set to null. Every filter below behaves the way it does there. Credits: 10 — twice a keyword search, because each call is two round trips to eBay: one to upload the image, one to fetch the results.

Body Parameters

Send exactly one of image_url or image_base64. Sending both, or neither, is a 422.
string
Public http(s) URL of the image to search with. We download it for you.The URL is fetched through the same egress-isolated path that serves the Web Scraping API, so private addresses, cloud metadata endpoints and non-HTTP schemes are refused.
string
The image itself, base64-encoded — use this when the picture is on your own disk and has no public URL.A bare base64 payload and a data:image/jpeg;base64,... URL are both accepted, so you can paste one straight out of a browser. JPEG and PNG are verified; the decoded image must be at most 10 MB.
string
default:"com"
eBay marketplace domain TLD or alias. See /v1/ebay/markets for all supported values.Examples: com, co.uk, de, fr, com.au
string
Restrict results to an eBay category id. Use /v1/ebay/categories to look up ids.
integer
default:1
Page number for paginated results. Range: 1 - 1000.Use pagination.has_more to know when to stop.
integer
Results per page. Clamped to one of 60, 120, or 240.
string
Item condition filter.
string
Buying format filter: auction, buy_it_now or best_offer.
number
Minimum price, in the marketplace’s own currency.
number
Maximum price, in the marketplace’s own currency.
boolean
default:false
Only return listings with free shipping.
string
Item location. domestic keeps only items located in that marketplace’s own country; worldwide widens to every country.
string
Filter by the item’s Language aspect: english, japanese, chinese or korean. Resolved to each marketplace’s own localized aspect name, so one value works on all 18.

There is no sort_by

eBay ignores sorting on a visual results page — asking for price_low_to_high returns the same first row as best match. Rather than accept a parameter that quietly does nothing, this endpoint does not have one. To order by price, use min_price / max_price to narrow the band and sort the returned rows yourself.

Errors

A picture eBay cannot read is an error, never an empty result list — so a bad upload is always distinguishable from a genuine no-match.

Examples

Response

Identical to /v1/ebay/search: results, facets, pagination, domain and the scrape timestamps. query is null, since the search was made from a picture rather than words.

Authorizations

x-api-key
string
header
required

Body

application/json
image_url
string<uri>

Public http(s) URL of the image to search with. Exactly one of image_url or image_base64 is required.

image_base64
string

The image itself, base64-encoded. A bare payload or a data:image/jpeg;base64,... URL are both accepted. JPEG and PNG are verified; the decoded image must be at most 10 MB.

domain
string
default:com

eBay marketplace domain TLD or alias (com, co.uk, de, fr, ...).

category_id
string

Restrict results to a category id.

page
integer
default:1

Page number for paginated results.

Required range: 1 <= x <= 1000
per_page
integer

Results per page. Clamped to 60, 120 or 240.

Required range: 1 <= x <= 240
condition
enum<string>

Item condition. graded / ungraded are eBay's trading-card conditions — slabbed (PSA/BGS/CGC) vs raw — so a card can be priced separately from its slabs.

Available options:
new,
open_box,
refurbished,
used,
for_parts,
graded,
ungraded
buying_format
enum<string>

Buying format filter.

Available options:
auction,
buy_it_now,
best_offer
min_price
number

Minimum price filter in the marketplace's local currency.

Required range: x >= 0
max_price
number

Maximum price filter in the marketplace's local currency.

Required range: x >= 0
free_shipping
boolean
default:false

Only return listings with free shipping.

location
enum<string>

Item location. domestic returns only items located in this marketplace's own country (domain=fr → France only); worldwide widens to every country. Foreign listings are priced in the marketplace's currency after eBay CONVERTS them, so domestic is also how you get untouched native sale prices.

Available options:
domestic,
worldwide
language
enum<string>

Filter by the item's Language aspect, resolved to each marketplace's own localized aspect name. Measured on ebay.com books: 11.0M results unfiltered, 7.8M english, 99k japanese.

Available options:
english,
japanese,
chinese,
korean

Response

200 - application/json

Listings matching the image

query
string | null
domain
string
category_id
string | null
sold
boolean
results
object[]
facets
object
pagination
object
scraped_utc
number | null
scraped_at
string | null