Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in
All collectors

eBay Product API

E-commerce · v1.2.0 · ebay_product

$0.006 / product

$6.00 / 1K · pay per delivered product

An eBay product API for a list of item ids: title, subtitle, price as shown and parsed, currency, condition, seller with positive-feedback percent, availability line, the item-specifics grid and the category breadcrumb, plus up to six photos. Pass numeric item ids or /itm/ URLs and get one row per item.

$0.006 per delivered product · $2 free every month · Failed runs never billed

What it does

What an eBay product API does

A search card tells you a listing exists; the item page tells you what it is. This collector fetches one eBay view-item page per id and returns the fields a card never carries: the full specifics grid (brand, model, size… as label→value pairs), the seller's positive-feedback percent, and the exact condition string as eBay writes it.

Two things are handled that trip a naive fetch. Prices come back both as eBay prints them (price, e.g. "US $98.00") and as a parsed price_value with a best-effort currency, so a comma-grouped or foreign-symbol amount is still a number. And a listing that has ended or been pulled is reported under failed rather than billed or turned into a half-empty row.

Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

InputTypeRequiredWhat it does
itemsarrayyeseBay item ids or /itm/ URLs (ebay_search returns both).
countrystringnoISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool.
max_resultsintegernoHow many products to deliver at most (1–20). You pay only for delivered products.

Outputs — 31 fields, one row per product

What one product looks like

Every delivered product carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

FieldTypeWhat it holds
item_idstringeBay item id.
urlstringItem URL.
titlestringItem title.
subtitlestring · nullableSubtitle when present.
pricestring · nullablePrice as shown ("US $98.00").
price_valuenumber · nullableParsed price.
currencystring · nullablePrice currency (best-effort).
conditionstring · nullableItem condition.
sellerstring · nullableSeller name.
seller_feedback_pctnumber · nullableSeller positive feedback %.
availabilitystring · nullableQuantity/availability line.
imagesstring[]Item photos (up to 12).
specificsobjectItem specifics (label → value).
categoriesstring[]Category breadcrumb.
brandstring · nullableBrand.
list_price_valuenumber · nullableList price when the seller states one.
discount_percentinteger · nullableDiscount off the list price as shown.
in_stockboolean · nullableWhether the listing can be bought now.
quantity_availableinteger · nullableUnits available when shown.
sold_countinteger · nullableUnits sold.
shippingstring · nullableShipping line.
shipping_costnumber · nullableShipping cost to the US (0 when free).
item_locationstring · nullableWhere the item is located.
deliverystring · nullableDelivery estimate line.
returnsstring · nullableReturns policy line.
listed_atstring · nullableWhen the listing started (ISO 8601).
seller_feedback_countinteger · nullableSeller feedback score.
seller_items_soldstring · nullableSeller's items sold as shown ("12.9M").
seller_joinedstring · nullableSeller's join month ("Sep 2016").
gtinstring · nullableGTIN/UPC/EAN when published.
mpnstring · nullableManufacturer part number when published.

Integration

One POST, typed rows

Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/scraper/collectors/ebay_product/run.

curl -X POST https://api.quanticdata.io/v1/scraper/collectors/ebay_product/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["158070397228"],"max_results":1}'

Example response

POST /v1/scraper/collectors/ebay_product/run
$ curl $QD/ebay_product/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"items": ["158070397228"], "max_results": 1}'
{ "status": "done", "count": 1,
  "results": [
    {
      "item_id": "…",
      "url": "…",
      "title": "…",
      "subtitle": "…" } ],
  "cost": 0.006 }
# 1 product × $0.006 · nothing delivered, nothing charged

Try it

eBay item details, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

Get my free API key
eBay Product API: from items, QuanticData reads the eBay item page and returns one row per product with title, subtitle and price, at $0.006 per delivered product.
You send items and country; the run goes out through a residential exit and comes back as products with item_id, title and subtitle — 31 fields on every row — and you are billed $0.006 for each product actually delivered, nothing for a run that delivers none.
$0.006 / product333 products on the free $2 every month
Semantic inputitems, country, max_results — no URL lists
Up to 20products per run, pagination handled for you
No browserread over HTTP/TLS — cheaper and faster than rendering

Pricing

eBay Product API pricing

$0.006 per delivered product. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 333 products before you spend anything.

$0.006per delivered product$6 per 1,000 delivered products
333 productson the free allowance$2 every month, no card
Zero rowszero chargeblocks, captchas and retries are on us
−30%on volume tiersthe catalog returns your key's price

Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.

What people build with the eBay product API

Three shapes of work this endpoint was designed around.

Condition-priced comps

Read the same model across several item ids and line up price against the exact condition string and seller feedback.

Item-specifics enrichment

Pull the brand/model/attribute grid from a listing into your own catalogue without opening the page by hand.

Listing verification

Resolve item ids from the eBay search collector to confirm they are still live and read their current price.

eBay Product API versus rolling your own

The differences that actually cost time when you build this in-house.

DIY scraperThis collector
InputA view-item URL you assembleA bare item id or any /itm/ URL
Ended listingsA blank or stale rowReported under failed, never billed
Item specificsIgnored or flattenedReturned as label→value pairs

What people search for

Live autocomplete demand around eBay item details, pulled with our own Keyword ideas collector.

eBay Product API: the POST to the ebay_product collector, 1 product delivered and the bill, 1 × $0.006 = $0.006 in usage.cost_usd; zero products would cost $0.
The same call you would paste into a terminal: a Bearer key, items and country in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many products arrived and usage.cost_usd is $0.006, which is 1 × $0.006. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

FAQ

Questions we get about the eBay product API.

Something else? Ask us

What do I pass — an item id or a URL?

Either. A numeric eBay item id or a full /itm/ URL; the collector reads the id out of the URL. The eBay search collector returns both forms, so its output feeds straight in.

Does eBay have an official product API?

It has developer APIs that need an account, keys and OAuth. This collector reads the public view-item page instead, so there is no application to register and no token to keep alive — you pass ids and get rows.

Do I get sold-price history?

No. The page publishes the current listing — price, condition, seller, specifics — not an item's sold archive, so that is where this collector stops rather than guessing a history.

Is there a free eBay product API?

Every account gets $2 of credit every month with no card, which is about 333 delivered products on this endpoint at $0.006 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

How much does one run cost?

Multiply the rows you actually receive by $0.006. A run capped at 20 products — the maximum for this collector — costs $0.12 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.

Run the eBay product API now

$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.

Run in dashboard
Illustration: three coloured zones of the page that is read (eBay item page) turn into clean JSON with the fields title, subtitle and price; 31 fields on every row.