Search ebay.es for completed sales
Create a free CompSniper account, set your key as COMPSNIPER_API_KEY and send the marketplace in ebaySite. eBay's own ID EBAY_ES works too.
This tested request asks for five recently ended, used Nintendo Switch OLED sales on ebay.es.
curl --get --fail-with-body --max-time 75 "https://api.compsniper.com/v1/scrape" \
--header "Authorization: Bearer $COMPSNIPER_API_KEY" \
--data-urlencode 'keyword=Nintendo Switch OLED' \
--data-urlencode 'ebaySite=ebay.es' \
--data-urlencode 'count=5' \
--data-urlencode 'itemCondition=used' \
--data-urlencode 'sortOrder=endedRecently' \
--data-urlencode 'sold=true'A real ebay.es response in EUR
We ran the request above on . It returned HTTP 200 and five listings. This excerpt shows selected fields from one of those five rows; the other rows and top-level fields are omitted. Values are unchanged.
{
"keyword": "Nintendo Switch OLED",
"totalItems": 5,
"items": [
{
"itemId": "278418946271",
"title": "CONSOLA NINTENDO SWITCH OLED ZELDA TEARS OF THE KINGDOM EDITION COMPLETA CIB",
"condition": "Usado | Vendedor profesional",
"conditionId": 3000,
"soldPrice": "235.64",
"soldCurrency": "EUR",
"shippingPrice": null,
"shippingCurrency": null,
"shippingType": "unknown",
"totalPrice": "235.64",
"endedAt": "2026-10-03",
"scrapedAt": "2026-10-03T04:46:07.161388+00:00",
"itemLocation": null,
"sellerType": "business",
"bestOfferAccepted": null,
"url": "https://www.ebay.es/itm/278418946271?nordt=true"
}
]
}endedAt is the reported sale date; scrapedAt is the collection timestamp. Repeating the request can return different listings. totalItems: 5 describes the original response, not the one-row excerpt.
This row is a complete Zelda Tears of the Kingdom edition (CIB, complete in box) that sold for EUR 235.64 on October 3, 2026 from a professional seller (sellerType: "business").
Read Spanish condition and seller labels
| Label | How to read it |
|---|---|
| Usado | Used. Check what is included. |
| Nuevo | New, not comparable with a used console. |
| Reacondicionado | Refurbished; keep it in its own group. |
| Para piezas o no funciona | For parts or not working. |
| Vendedor particular / profesional | Private or professional seller, not a condition grade. |
curl --get --fail-with-body --max-time 75 "https://api.compsniper.com/v1/scrape" \
--header "Authorization: Bearer $COMPSNIPER_API_KEY" \
--data-urlencode 'keyword=Nintendo Switch OLED' \
--data-urlencode 'ebaySite=ebay.es' \
--data-urlencode 'count=5' \
--data-urlencode 'itemCondition=used' \
--data-urlencode 'sortOrder=endedRecently' \
--data-urlencode 'sold=true' \
--data-urlencode 'sellerType=business'Price the console you actually have
The five sales in this sample show why bundle contents matter more than the model name:
- Complete consoles with dock and Joy-Con: about EUR 170 to EUR 187.
- A complete special edition (Zelda, in box): EUR 235.64.
- The tablet only (Solo), no dock or controllers: EUR 129.13.
The default AI cleanup removes accessories and wrong models, but a console-only unit is still a Switch OLED, so decide yourself whether it belongs in your comparison. Use relevance=false when you want every raw result to filter with your own rules.
Keep EUR and unknown postage honest
shippingPrice: null, shippingType: "unknown"), so totalPrice equals the item price. Keep item-only and delivered prices in separate comparisons.For a bigger sample, raise count up to 240, and keep ebaySite, soldCurrency and endedAt with every stored row.
Common questions about eBay Spain sold listings
How do I get eBay Spain sold listings through an API?
Call CompSniper GET /v1/scrape with ebaySite=ebay.es (or the eBay marketplace ID EBAY_ES), a product keyword and your CompSniper Bearer API key. It returns up to 240 sold listings as JSON. The example in this guide returned EUR prices and the Spanish label Usado | Vendedor profesional.
Do I need a Spanish eBay account?
No. Use your CompSniper key and the same endpoint as every other marketplace. You never supply eBay cookies or an eBay login. Set ebaySite=ebay.es explicitly.
Can I filter by particular or profesional sellers?
Yes. sellerType=private or sellerType=business filters recognized seller labels on ebay.es. Rows without a recognized label are excluded while the filter is active.
Why did one Nintendo Switch OLED sell for much less?
In the recorded sample, a listing described as the tablet only (Solo) sold for EUR 129.13, while complete consoles with dock and Joy-Con sold for about EUR 170 to EUR 236. Console-only listings, bundles and special editions are different products for pricing.
Is shipping free when shippingPrice is null?
No. Postage was unknown in this sample, so totalPrice equals the item price. That is an incomplete delivered total, not proof of free delivery.
Can I get the raw ebay.es results?
Yes. Add relevance=false for the sold results exactly as eBay lists them. With the default cleanup on, rawMedian and rawSampleCount still report the numbers from before cleanup.
Continue your integration
Keep each marketplace and currency attached to its own sold comps. These guides use the same endpoint and API key:
- How to Get eBay Australia Sold Listings with an API
- How to Get eBay Germany Sold Listings with an API
- How to Get eBay UK Sold Listings with an API
- How to Get eBay France Sold Listings with an API
- How to Get eBay Canada Sold Listings with an API
For the full contract, see the API reference. The eBay sold listings API overview covers the product, and the CSV and Excel guide covers spreadsheet exports.
Written by the CompSniper team. The examples are dated observations, not current valuations or evidence of complete market coverage. CompSniper is an independent service, not an official eBay API.