Make your first ebay.com.au request
Create a free CompSniper account and copy your full cs_live_ key from the dashboard. Set it as the COMPSNIPER_API_KEY environment variable on your backend or in your terminal. You do not need an eBay developer API key to call CompSniper.
This request searches for used Nintendo Switch OLED consoles, ordered by recently ended listings. It explicitly selects the Australian marketplace instead of the default US site.
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.com.au' \
--data-urlencode 'count=5' \
--data-urlencode 'itemCondition=used' \
--data-urlencode 'sortOrder=endedRecently' \
--data-urlencode 'sold=true'In Postman, choose GET and put keyword, ebaySite and the other search options under Params. Put your API key under Authorization as a Bearer Token. A header called keyword will not supply the required search parameter.
A real Australian-marketplace response
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": "800696832694",
"title": "New listing Nintendo Switch OLED Model Console Black Neon Blue/Red Joy-Con w/ Original Box",
"condition": "Pre-owned",
"conditionId": 3000,
"soldPrice": "247.26",
"soldCurrency": "AUD",
"shippingPrice": "94.44",
"shippingCurrency": "AUD",
"shippingType": "paid",
"totalPrice": "341.70",
"endedAt": "2026-09-22",
"scrapedAt": "2026-09-22T05:47:45.491625+00:00",
"itemLocation": null,
"sellerType": null,
"bestOfferAccepted": null,
"url": "https://www.ebay.com.au/itm/800696832694?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.
The selected console shows an item price of AUD 247.26 and postage of AUD 94.44. The reported total is AUD 341.70. That is a useful reason to keep postage visible: comparing only the item price would hide a substantial part of this example's known cost.
Keep AUD prices and delivery costs separate
Store soldPrice together with soldCurrency. A dollar symbol alone cannot distinguish Australian, US or Canadian dollars. Do the same for shippingPrice and shippingCurrency. All five rows in this dated request used AUD, but your integration should still inspect the fields on every response.
Prices are decimal strings. Use a decimal type for calculations, and add the item price to postage only when both amounts use the same currency. Missing postage is unknown, not zero. A returned totalPrice is not proof that every delivery, checkout or import charge is known.
eBay's Australian postage guidance separates postage from the item price and notes that international delivery can cost more. The API sample does not establish where this seller was located, so the AUD 94.44 amount alone is not proof of an overseas shipment.
itemLocation is null. Preserve that uncertainty.Build comparable Australian sold comps
For local resale pricing, start with the exact console model and compare equivalent packages. A tablet-only Switch, a complete OLED console with dock and Joy-Cons, and a bundle with extra games are different products for valuation purposes. The five-row response included different bundle descriptions; a matching model name alone does not make them equivalent.
- Keep used and new consoles separate. This example uses
itemCondition=usedand returnsPre-ownedwithconditionId: 3000. - Inspect included accessories and the stated condition before calculating a resale price. Optional relevance cleanup can help, but it does not replace this check.
- If domestic inventory is your target, add the documented
itemLocation=domesticquery parameter. That optional filter was not used in the recorded sample above. - Keep the date and sample size with your estimate. Five demonstration rows are not a reliable Australia-wide price index.
For accepted offers, inspect bestOfferAccepted. A true value flags an accepted offer, but does not disclose its hidden accepted amount. Do not treat every displayed sold price as the buyer's exact final payment.
Read Australian sold prices with Python
This standard-library example makes the same request, retains AUD rows and calculates item-plus-postage only when postage is known. It deliberately leaves unknown delivery totals as None.
# Python 3. Standard library only.
import json
import os
from decimal import Decimal
from urllib.parse import urlencode
from urllib.request import Request, urlopen
params = {
"keyword": "Nintendo Switch OLED",
"ebaySite": "ebay.com.au",
"count": "5",
"itemCondition": "used",
"sortOrder": "endedRecently",
"sold": "true"
}
request = Request(
"https://api.compsniper.com/v1/scrape?" + urlencode(params),
headers={"Authorization": "Bearer " + os.environ["COMPSNIPER_API_KEY"]},
)
with urlopen(request, timeout=75) as response:
data = json.load(response)
for item in data.get("items", []):
if item.get("soldCurrency") != "AUD" or item.get("soldPrice") is None:
continue
price = Decimal(item["soldPrice"])
shipping = item.get("shippingPrice")
delivered = None
if item.get("shippingType") == "free":
delivered = price
elif shipping is not None and item.get("shippingCurrency") == "AUD":
delivered = price + Decimal(shipping)
print(item.get("title"), "item AUD", price,
"item + known postage AUD", delivered) # None means unknown
Keep the API key on your backend. For more complete pagination and bounded retries, continue with the Python integration guide.
Handle fewer results and temporary errors
An empty items array can be a valid result for a narrow query. Broaden one filter at a time rather than interpreting zero matches as zero demand. The standard endpoint covers recent sold listings, not a complete historical sales archive.
A missing keyword or invalid marketplace value needs a corrected request, not repeated retries. For rate limits, respect Retry-After; for temporary upstream failures, use bounded backoff. See the error reference before automating a larger import. Failed searches do not consume the successful-search allowance.
Common questions about eBay Australia sold listings
Is there an API for eBay Australia sold listings?
Yes. CompSniper is an independent API that searches ebay.com.au sold listings using GET /v1/scrape with ebaySite=ebay.com.au. Supply your CompSniper API key and a product keyword to receive JSON containing sold prices, currency, condition and sale dates.
Should I use ebay.au or ebay.com.au?
Use ebay.com.au as the ebaySite value. Do not send ebay.au, a full HTTPS URL or a country code such as AU. If you omit ebaySite, the API uses ebay.com rather than inferring Australia from your location.
Are Australian sold prices returned in AUD?
The September 22 Australian example returned AUD in soldCurrency and shippingCurrency. Always read those fields rather than assuming a currency from the domain. This guide covers /v1/scrape; do not assume a separate historical-data endpoint has the same currency behavior.
Does ebay.com.au mean every seller is in Australia?
No. The marketplace is not proof of a seller's location. Use the documented itemLocation=domestic filter to narrow the search when appropriate, then inspect returned location evidence. The example's itemLocation is null, so it does not establish that the item was located in Australia.
Can I get Australian sold comps without writing code?
Yes. Select the Australian eBay marketplace in the CompSniper dashboard, search for your product and review the returned listings. You can export the loaded results to CSV for Excel or Google Sheets.
How many sold listings can I request?
The standard endpoint accepts count up to 240 per request. It is a ceiling, not a promise of 240 matches or complete marketplace coverage. This tutorial requests five rows to keep the first integration easy to inspect.
Continue your integration
Keep each marketplace and currency attached to its own sold comps. These guides use the same endpoint and API key:
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 September 22 examples are dated observations, not current valuations or evidence of complete market coverage. CompSniper is an independent service, not an official eBay API.