eBay Product API
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.003 per delivered product · $2 free every month · Failed runs never billed
$ 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.003 }
# 1 product × $0.003 · nothing delivered, nothing charged
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.
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.
| Field | Type | What it holds |
|---|---|---|
item_id | string | eBay item id. |
url | string | Item URL. |
title | string | Item title. |
subtitle | string · nullable | Subtitle when present. |
price | string · nullable | Price as shown ("US $98.00"). |
price_value | number · nullable | Parsed price. |
currency | string · nullable | Price currency (best-effort). |
condition | string · nullable | Item condition. |
seller | string · nullable | Seller name. |
seller_feedback_pct | number · nullable | Seller positive feedback %. |
availability | string · nullable | Quantity/availability line. |
images | string[] | Item photos (up to 6). |
specifics | object | Item specifics (label → value). |
categories | string[] | Category breadcrumb. |
Inputs
The whole request. Anything you leave out falls back to the default shown in the catalog.
| Input | Type | Required | What it does |
|---|---|---|---|
items | array | yes | eBay item ids or /itm/ URLs (ebay_search returns both). |
country | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
max_results | integer | no | How many products to deliver at most (1–20). You pay only for delivered products. |
Pricing
eBay Product API pricing
$0.003 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 666 products before you spend anything.
Pay as you go
- $2 free credit / month
- 60 requests / min
- List unit prices
Starter
- $15 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
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.
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/.
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}'
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 scraper | This collector | |
|---|---|---|
| Input | A view-item URL you assemble | A bare item id or any /itm/ URL |
| Ended listings | A blank or stale row | Reported under failed, never billed |
| Item specifics | Ignored or flattened | Returned as label→value pairs |
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 666 delivered products on this endpoint at $0.003 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.003. A run capped at 20 products — the maximum for this collector — costs $0.06 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.