Swedish auctions as JSON, where a lot with no bids does not pretend to have one
Tradera API returns live Tradera data as clean JSON for tradera The primary endpoint, search, returns {query, status, total_available, page, page_count, currency, results[]} — each result has item_id, url, title, listing_type, is_auction,….
4 active endpoints. Every call is 1 credit.
- POST/tradera/v1/search
- POST/tradera/v1/detail
- POST/tradera/v1/categories
- POST/tradera/v1/seller
What Tradera endpoints does ReefAPI ship?
4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Tradera API
4 of 4 endpoints, ready to run
Search Tradera's live lots or its archive by keyword, category, county, seller type and listing type. Auctions and fixed-price listings are returned as two clearly different shapes: an auction carries starting bid, current bid and bid count, a buy-now listing carries a buy-now price and nulls the auction fields. Measured 2026-10-01: query=rolex returns 423 live lots, 553 sold and 402 unsold.
{ "ok": true, "data": { "query": "rolex", "status": "sold", "sort": "relevance", "filters": { "category_id": null, "listing_type": "any", "seller_type": "any", "county": null, "min_price": null, "max_price": null }, "total_available": 554, "total_is_capped": false, "page": 1, "page_count": 80, "currency": "SEK", "listing_types": { "auction": 44, "auction_with_buy_now": 5, "fixed_price": 31 }, "amounts_note": "All amounts are in SEK. On an auction with no bids the figure is the STARTING price (`starting_bid`), not a bid — `current_bid` is null until someone bids.", "results": [ { "item_id": 744723410, "url": "https://www.tradera.com/item/1000984/744723410/rolex-oyster-precision", "title": "Rolex Oyster Precision", "listing_type": "auction", "listing_type_raw": "Auction", "is_auction": true, "is_buy_now": false, "currency": "SEK", "starting_bid": null, "current_bid": 29325, "bid_count": 1, "reserve_met": null, "buy_now_price": null, "price_before_discount": null, "discount_percent": null, "is_ended": true, "is_sold": true, "final_price": 29325, "starts_at": "2026-08-11T07:37:07Z", "ends_at": "2026-08-18T17:37:07Z", "category_id": 1000984, "condition": "Gott skick", "is_authenticated_item": false, "accepts_offers": false, "is_promoted": true, "free_shipping": false, "shipping_options": [ { "provider": "AlternativeDenmark", "cost": 116 }, { "provider": "Takeaway", "cost": 0 } ], "shipping_cost_min": 0, "image": "https://img.tradera.net/images/249/655552249_86aca15b-6ade-4d0e-8bfb-4cf82a6ff46d.jpg", "images": [ "https://img.tradera.net/images/249/655552249_86aca15b-6ade-4d0e-8bfb-4cf82a6ff46d.jpg", "https://img.tradera.net/images/249/655552249_451327b4-9bef-4aaf-acba-92c861570b04.jpg" ], "thumbnail": "https://img.tradera.net/multithumb/249/655552249_86aca15b-6ade-4d0e-8bfb-4cf82a6ff46d.jpg" }, { "item_id": 735429525, "url": "https://www.tradera.com/item/191504/735429525/rolex-ask-med-rolex-planbok", "title": "Rolex-ask med Rolex-plånbok", "listing_type": "auction", "listing_type_raw": "Auction", "is_auction": true, "is_buy_now": false, "currency": "SEK", "starting_bid": null, "current_bid": 457, "bid_count": 2, "reserve_met": null, "buy_now_price": null, "price_before_discount": null, "discount_percent": null, "is_ended": true, "is_sold": true, "final_price": 457, "starts_at": "2026-06-08T08:01:08Z", "ends_at": "2026-06-15T18:01:08Z", "category_id": 191504, "condition": "Oanvänt", "is_authenticated_item": false, "accepts_offers": false, "is_promoted": false, "free_shipping": false, "shipping_options": [ { "provider": "BringDenmark", "cost": 49 } ], "shipping_cost_min": 49, "image": "https://img.tradera.net/images/913/648448913_a8a27350-fc5a-4115-9421-5476e9b5eeb8.jpg", "images": [ "https://img.tradera.net/images/913/648448913_a8a27350-fc5a-4115-9421-5476e9b5eeb8.jpg", "https://img.tradera.net/images/913/648448913_17e153b0-a741-4736-8e37-494ecf3b8713.jpg" ], "thumbnail": "https://img.tradera.net/multithumb/913/648448913_a8a27350-fc5a-4115-9421-5476e9b5eeb8.jpg" }, { "item_id": 749962810, "url": "https://www.tradera.com/item/191506/749962810/rolex-broschyrer", "title": "Rolex Broschyrer", "listing_type": "auction_with_buy_now", "listing_type_raw": "AuctionBin", "is_auction": true, "is_buy_now": true, "currency": "SEK", "starting_bid": 699, "current_bid": null, "bid_count": 0, "reserve_met": null, "buy_now_price": 700, "price_before_discount": null, "discount_percent": null, "is_ended": true, "is_sold": true, "final_price": 699, "starts_at": "2026-09-12T09:11:50Z", "ends_at": "2026-09-12T09:16:51Z", "category_id": 191506, "condition": "Gott skick", "is_authenticated_item": false, "accepts_offers": false, "is_promoted": false, "free_shipping": false, "shipping_options": [ { "provider": "DHL", "cost": 49 }, { "provider": "SchenkerPrivpak", "cost": 49 }, { "provider": "PostNordParcel", "cost": 56 } ], "shipping_cost_min": 49, "image": "https://img.tradera.net/images/365/659611365_4b5f2e7b-5085-461f-90ff-1a9df1deed92.jpg", "images": [ "https://img.tradera.net/images/365/659611365_4b5f2e7b-5085-461f-90ff-1a9df1deed92.jpg" ], "thumbnail": "https://img.tradera.net/multithumb/365/659611365_4b5f2e7b-5085-461f-90ff-1a9df1deed92.jpg" } ] } }
How the Tradera API works
Tradera is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 321 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
A bold number on an auction is the starting bid until somebody bids
Two lots, measured on the same day: one showed 60,000 SEK with zero bids and the listing's own opening bid was also 60,000, so nobody had bid; another showed 18,500 with 48 bids and an opening bid of 500, so that figure was the live bid. Publishing the first as a current bid would have been wrong on 61 of the 80 auction rows in that sample. Here current_bid is filled only when bid_count is above zero, and the figure otherwise appears as starting_bid.
{"query": "rolex"}The categories that actually carry the thing you are after, with their ids.
{"query": "rolex", "status": "sold"}The archive is where price history lives. sold and unsold are separate statuses; the verdict is read from each row, so a dropped filter cannot turn an unsold lot into a sale.
{"item": 752099400}One lot in full. Its own opening bid and leading bid are what the search row was checked against.
{"member_id": 2499738}Everything one seller has listed.
Swedish auction and buy-now listings in one feed, each with the fields its own sale type actually has, prices in SEK, and the sold/unsold verdict taken from the row rather than from the filter that was asked for.
curl -X POST https://api.reefapi.com/tradera/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"rolex","max_results":10}'{
"ok": true,
"data": { … },
"meta": {
"api": "tradera",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Sweden only, in kronor, and every column below 100% is a field that sale type does not have
Measured 2026-10-01 against the live gateway: 38 fixed cases run twice at 38/38, 400 rows for the field counts with the promoted and first-page rows deliberately included. One of these lines goes against us.
Sweden, prices in SEK. Tradera does not publish a per-row currency, and nothing is converted.
item_id, url, title, listing_type, currency, starts_at, ends_at, category_id, image, is_ended, free_shipping and shipping_cost_min on 100% of 400 rows. condition on 92%.
buy_now_price 60% = exactly the buy-now rows; bid_count 55.8% = exactly the auction rows; starting_bid and current_bid split by whether a bid exists; is_sold and final_price only on closed rows. A pure auction has no buy-now price and Tradera prints zero there, which comes back null.
24 rows were re-read from their own listing pages and compared on opening bid, leading bid and fixed price: 24 of 24 matched. That check is what caught a buy-now price being dropped on one listing type.
An unrecognised item type, sort or county is accepted with HTTP 200 and simply ignored, and asking for Ended silently returns the sold set. Every enum is therefore validated against Tradera's own published options before the call, and the returned rows are checked afterwards.
80 rows a page, 10,000 lots per query, last page 125. Measured, and enforced instead of returning a page that looks empty.
What people build with Tradera
The jobs this data is most often used for.
endpoints
credit per call
Pricing and assortment teams use Tradera to search Tradera.
Brand-protection teams use Tradera to get one Tradera listing in full.
Retail analysts use Tradera to get tradera's category tree with a live listing count per category.
Catalog enrichment teams use Tradera to get a Tradera seller's public profile.
What Tradera data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 321 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/tradera/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"rolex","max_results":10}'import requests
r = requests.post(
"https://api.reefapi.com/tradera/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "rolex",
"max_results": 10
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Tradera.
Get a free key →What is the Tradera API?▾
Tradera API is a ReefAPI endpoint group for tradera It returns live JSON through POST requests under /tradera/v1.
Is the Tradera API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Tradera calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Tradera login or account?▾
No login to Tradera is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Tradera data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Tradera API use?▾
Tradera actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Tradera from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call tradera actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Tradera API a Tradera scraper?▾
It is the managed alternative to a DIY Tradera scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same tradera back as clean JSON.
Why does my Tradera scraper keep getting blocked?▾
Most Tradera scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.
26 More APIs APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Tradera, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 320 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-01.