eBay API — Search Live Listings by Keyword
Documentation menu
FetchLayer FetchLayer API

Search live listings

Search eBay's live listings by keyword, category or seller, as a US buyer sees them. Each listing comes back with its item number, title, condition, price in US dollars, struck-through original price, auction or fixed price, bid count and time left, shipping cost to the United States, where it ships from, units sold, watchers, and the seller's username, feedback score and positive percentage. Filter by condition, buying format, price range, free shipping, returns or offers, and sort by best match, price plus shipping, ending soonest or newly listed. At least one of query, categoryId or seller is required. Only active listings are searchable: sold and completed listings are shown by eBay to signed-in members only, and are not available here.

POST /search-listings Listings
https://api.fetchlayer.dev/ebay/search-listings
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

query string optional

Keywords to search for, 1-350 characters. Required unless categoryId or seller is given.

categoryId string optional

Restrict to one eBay category by its numeric id, for example "112529" for headphones.

seller string optional

Restrict to one seller's listings, by username.

condition string[] optional

Any of new, open_box, refurbished, used, for_parts.

buyingFormat string optional

all, auction or buy_it_now. (default: all)

acceptsOffers boolean optional

Only listings that accept offers. (default: false)

minPrice number optional

Minimum price in US dollars.

maxPrice number optional

Maximum price in US dollars.

freeShipping boolean optional

Only listings with free shipping to the United States. (default: false)

returnsAccepted boolean optional

Only listings that accept returns. (default: false)

sort string optional

best_match, price_lowest, price_highest, ending_soonest or newly_listed. The two price orders sort on price plus shipping, as eBay does. (default: best_match)

limit number optional

Maximum listings returned (max 1000), or -1 for the maximum. (default: 60)

pages number optional

Pages to collect in one request (max 50), or -1 for the maximum allowed. Defaults to as many as limit needs. Each page counts as one request.

cursor string optional

Resume from a previous response's nextCursor. A cursor is bound to the request that produced it, so send the same filters with it — a cursor replayed against different filters is a 400.

delayMs number optional

Milliseconds to wait between pages (max 30000).

format string optional

json or markdown. Markdown returns the same result rendered for a model to read. (default: json)

timeoutMs number optional

Time limit for each eBay page read, in milliseconds (max 120000).

Response Fields

search-listings

Search live listings

resultType string

Which shape this response is: search-listings, listing-details, price-check, seller-feedback or product-reviews.

requestedUrl string

The eBay page this result corresponds to.

scrapedAt string

ISO 8601 timestamp of when the data was read.

transport string

The upstream source. Always "ebay".

notes string[]

Caveats about this particular result — converted prices, a walk that stopped early, a continuation that may repeat listings. Read it on every call: it is where an incomplete answer announces itself.

query string

The keywords searched, or null.

totalResults number

eBay's displayed result count, for example 2500.

totalResultsIsLowerBound boolean

True when eBay shows the count with a plus, as in "2,500+".

listings object[]

The listings, in the order eBay returned them.

listings[].itemId string

The item number — what listing-details and price-check take.

listings[].title string

Listing title.

listings[].url string

Listing URL.

listings[].imageUrl string

Main image URL.

listings[].condition string

Condition as eBay shows it, for example "Pre-Owned" or "Brand New".

listings[].price object

Price as { amount, currency }, in US dollars.

listings[].priceMax object

Upper bound for a listing with variations at different prices, or null.

listings[].originalPrice object

A struck-through earlier or list price, or null.

listings[].buyingFormat string

fixed_price or auction.

listings[].acceptsOffers boolean

Whether the listing accepts offers.

listings[].buyItNowPrice object

An auction's Buy It Now price, or null.

listings[].bidCount number

Bids on an auction, or null.

listings[].timeLeft string

Time left as shown, for example "2d 22h left", or null.

listings[].shippingCost object

Shipping cost to the United States, or null when free or not stated.

listings[].freeShipping boolean

Whether shipping is free.

listings[].shippingText string

The shipping line as shown.

listings[].location string

Country or region the listing ships from.

listings[].soldCount number

Units sold, where eBay shows it.

listings[].watcherCount number

Watchers, where eBay shows it.

listings[].seller object

username, feedbackScore and positivePercent. On search results feedbackScore is eBay's rounded figure ("282K" becomes 282000); listing-details returns the exact one.

listingCount number

Length of listings.

pagesScraped number

Pages actually collected. Each page counts as one request against your plan.

pagesRequested number

Pages this request asked for.

nextCursor string

Pass back as cursor to continue, or null when there is nothing further.

hasNextPage boolean

Whether more results are available beyond this response.

Request

curl -X POST "https://api.fetchlayer.dev/ebay/search-listings" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"query":"anker usb c charger","condition":["new"],"limit":20}'

Response

{
  "resultType": "search-listings",
  "requestedUrl": "https://www.ebay.com/sch/i.html?_nkw=anker+usb+c+charger&LH_ItemCondition=1000&_fcid=1&_ul=US",
  "transport": "ebay",
  "notes": [],
  "query": "anker usb c charger",
  "totalResults": 4600,
  "totalResultsIsLowerBound": true,
  "listings": [
    {
      "itemId": "334140575100",
      "title": "Anker Nano Pro 20W USB C Charger PIQ 3.0 Fast Charging for iPhone 14 13 iPad Pro",
      "url": "https://www.ebay.com/itm/334140575100",
      "imageUrl": "https://i.ebayimg.com/images/g/n4AAAOSwsOthODVm/s-l500.jpg",
      "condition": "Brand New",
      "price": {
        "amount": 11.99,
        "currency": "USD"
      },
      "priceMax": null,
      "originalPrice": null,
      "buyingFormat": "fixed_price",
      "acceptsOffers": false,
      "bidCount": null,
      "timeLeft": null,
      "shippingCost": null,
      "freeShipping": true,
      "shippingText": "Free delivery",
      "location": "United States",
      "soldCount": 405,
      "watcherCount": null,
      "seller": {
        "username": "ankerdirect",
        "positivePercent": 99.8,
        "feedbackScore": 282000
      }
    }
  ],
  "listingCount": 20,
  "pagesScraped": 1,
  "pagesRequested": 1,
  "nextCursor": "eyJ2IjoxLCJwIjoxLCJvIjoyMCwicyI6NjAsImIiOiIyZjRiZGY1MzkxZWMifQ",
  "hasNextPage": true
}