Researches eBay listings, items, and sellers using the Crawlora API, returning clean JSON. Use when the user asks to search eBay, look up an item's details, or vet a seller's reputation and shop listings — instead of scraping eBay pages.
Data & analysis
Scavio Ebay
Try itSearch live or SOLD eBay listings, read a listing in full, and look up a seller's profile card as structured JSON. 3 endpoints, 1 credit each. Sold-listing search is the price-research feature eBay itself hides.
What it does
Search live or SOLD eBay listings, read a listing in full, and look up a seller's profile card as structured JSON. 3 endpoints, 1 credit each. Sold-listing search is the price-research feature eBay itself hides.
The skill document
eBay via Scavio
Search eBay's live listings or its SOLD listings, read a single listing in full, and pull a seller's public profile card. All endpoints return structured JSON and cost 1 credit each.
When to trigger
Use this skill when the user asks to:
- Find what something actually SOLD for on eBay (comps, resale pricing, market value)
- Search live eBay listings by keyword, price band, condition or buying format
- Filter to auctions, Buy It Now or Best Offer listings
- Read one eBay listing in full: item specifics, shipping, returns, auction state
- List everything a particular eBay seller has for sale
- Look up an eBay seller's feedback score, items sold and location
- Compare eBay resale prices against retail (pair with scavio-amazon, scavio-walmart or scavio-target)
Setup
Get a free API key at scavio.dev (50 free credits to get started, no card required):
export SCAVIO_API_KEY=sk_live_your_key
Every request is a POST with a JSON body and:
Authorization: Bearer $SCAVIO_API_KEY
Endpoints
Base URL: https://api.scavio.dev. Every endpoint costs 1 credit.
| Endpoint | Credits | Description |
|---|---|---|
POST /api/v1/ebay/search | 1 | Search live or sold listings: price, condition, bids, shipping, seller, feedback |
POST /api/v1/ebay/product | 1 | One listing in full: images, item specifics, shipping, returns, auction state, seller |
POST /api/v1/ebay/seller | 1 | Seller profile card: store name, feedback score and percentage, items sold, followers, location, categories |
Workflow
- Price research: call
/ebay/searchwithqueryandsold: true. This is the differentiating call. It searches completed listings that actually sold, which is what a comp is. - Live listings: call
/ebay/searchwithqueryand nosoldflag. - Read a listing: call
/ebay/productwithitem_id(the eBay item number, or a fullebay.com/itm/...URL — tracking parameters are discarded). - List a seller's inventory: call
/ebay/searchwithsellerset and NOquery. That is the paginated route through a seller's catalogue. - Seller reputation: call
/ebay/sellerwith the username as it appears inebay.com/usr/.
/search paginates with page. /product and /seller do not paginate.
Parameters
Search (/search)
query or seller is required. At least one must be present.
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | one of | Search keywords (1-500 chars) |
seller | string | one of | Scope to one seller (1-64 chars). Usable with NO query to page their whole catalogue |
page | integer >= 1 | -- | Results page, 1-based |
per_page | integer | 60 | Accepts ONLY 60, 120 or 240 |
sort_by | string | best_match | best_match, ending_soonest, newly_listed, price_low, price_high |
min_price | number >= 0 | -- | Minimum price filter |
max_price | number >= 0 | -- | Maximum price filter |
condition | string | -- | new, open_box, refurbished, used, for_parts |
buying_format | string | -- | auction, buy_it_now, best_offer |
free_shipping | boolean | -- | Only listings with free shipping |
sold | boolean | -- | Search completed listings that actually SOLD |
category_id | string | -- | Numeric eBay category id, e.g. 112529 |
Product (/product)
| Parameter | Type | Default | Description |
|---|---|---|---|
item_id | string | required | eBay item number (e.g. 168591664725) or a full ebay.com/itm/... URL |
Seller (/seller)
| Parameter | Type | Default | Description |
|---|---|---|---|
seller | string | required | eBay username as in ebay.com/usr/, e.g. red-rock-uk (1-64 chars) |
Examples
import requests
BASE = "https://api.scavio.dev"
# Your key from https://scavio.dev. Load it from your environment or secret
# store in real code - keep it out of source control.
API_KEY = "sk_your_key_here"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1. What did it actually sell for? (the price-research call)
sold = requests.post(f"{BASE}/api/v1/ebay/search", headers=HEADERS,
json={"query": "nintendo switch oled", "sold": True, "condition": "used"}).json()
# 2. Live listings, cheapest first, 120 per page
live = requests.post(f"{BASE}/api/v1/ebay/search", headers=HEADERS,
json={"query": "nintendo switch oled", "sort_by": "price_low", "per_page": 120}).json()
# 3. One listing in full
item = requests.post(f"{BASE}/api/v1/ebay/product", headers=HEADERS,
json={"item_id": "168591664725"}).json()
# 4. A seller's whole catalogue: /search with seller and no query
catalogue = requests.post(f"{BASE}/api/v1/ebay/search", headers=HEADERS,
json={"seller": "red-rock-uk", "page": 1}).json()
# 5. That seller's reputation card
profile = requests.post(f"{BASE}/api/v1/ebay/seller", headers=HEADERS,
json={"seller": "red-rock-uk"}).json()
Response
Every response uses the envelope { data, response_time, credits_used, credits_remaining }.
- search returns the listing rows with price, condition, bids, shipping, seller and feedback, alongside
countandtotal_results. - product returns price, condition, images, item specifics, shipping, returns, auction state and seller.
- seller returns store name, feedback score and percentage, items sold, followers, location and categories.
total_results is null when sold: true. eBay publishes no headline count on the sold view, so a null there means "eBay did not say", not "zero results". Count the returned rows instead.
Guardrails
- Never fabricate prices, item numbers, sold dates, feedback scores or seller names. Only return data the API returned.
/selleris a PROFILE endpoint. It cannot enumerate a catalogue. If the user wants a seller's items, use/searchwithsellerset and no keyword.per_pageaccepts only60,120or240. eBay silently falls back to 60 for any other value, so a request for 100 quietly returns 60 and looks successful.category_idmust be numeric. An unrecognised category id returns the UNFILTERED result set under a200, which looks like a successful filter and is not one. Verify the id before relying on it.condition: "refurbished"is eBay's parent condition, not one of its three graded refurbished tiers. Do not present it as a specific grade.- There is no "Distance: nearest first" sort. It ranks against the proxy exit rather than the caller's location, so it is deliberately absent. Never recommend it.
- Sold-listing prices are historical. When quoting them as a market value, say when the sale happened.
- Always include the listing URL so the user can verify.
Failure handling
400means an invalid or missing parameter, most often neitherquerynorsellerbeing supplied. Fix and retry.401means the API key is invalid or missing. CheckSCAVIO_API_KEY.404means the item or seller was not found. Check the item number or theebay.com/usr/spelling.429means a rate or usage limit was exceeded. Wait before retrying. See rate limits.502/503mean the upstream is temporarily unavailable. Wait a few seconds before retrying.- If a sold search returns nothing, widen the keywords before concluding the item never sold. Sold-view matching is stricter than the live view.
- If
SCAVIO_API_KEYis not set, prompt the user to export it before continuing.
Docs
Related skills
eBay sold-listings scraper across 8 marketplaces (ebay.com/.co.uk/.de/.fr/.it/.es/.ca/.com.au). Takes keyword plus filters (category, price range, item condition, item location, sort order, completed toggle) and returns paginated real-sale records with itemId, url, title, condition, conditionId, end
Extracts product listings from any eBay search or category page URL, returning per-item cards (itemNumber, url, title, subtitle, caption, price, priceWithCurrency, currency, wasPrice, bids, shipping, seller, sellerFeedbackCount, sellerPositiveRating, reviewsCount, starRating, image) plus pagination
Collect eBay Products data and return results
Extracts full item detail from any open eBay item URL, returning JSON with url, itemNumber, title, subTitle, categories, price, priceWithCurrency, currency, wasPrice, available, availableText, sold, image, images, seller, sellerUrl, sellerFeedbackCount, sellerPositiveRating, itemLocation, brand, typ
Search Etsy listings, pull one listing with its variations and reviews, open a shop's profile and catalogue, and page through a shop's reviews. 5 endpoints, 2 credits each, structured JSON.