The fastest way to start scraping eBay at scale. Our eBay API returns structured JSON for listings, sold prices, items, reviews, sellers, and categories across 18 marketplaces — with anti-bot bypass and country-matched proxies built in.
No credit card required · PAYG credits never expire
# Get item detail for an eBay item
import scrapebadger
client = scrapebadger.ScrapeBadger("sb_live_...")
item = client.ebay.item(
item_id="123456789012",
domain="com"
){
"item_id": "123456789012",
"title": "Apple iPhone 15 Pro 256GB",
"condition": "New",
"price": { "value": 899.00, "currency": "USD" },
"buying_format": "Buy It Now",
"quantity_sold": 142,
"seller": { "username": "topseller", "feedback_percent": 99.8 }
}Structured JSON responses with normalized data models. No HTML parsing. No proxy management.
/v1/ebay/search/v1/ebay/completed/v1/ebay/items/{item_id}/v1/ebay/items/{item_id}/reviews/v1/ebay/sellers/{username}/v1/ebay/sellers/{username}/items/v1/ebay/sellers/{username}/feedback/v1/ebay/categories/{category_id}/items/v1/ebay/autocomplete/v1/ebay/categories/v1/ebay/marketsAll fields are normalized across marketplaces. Prices always include currency code. Conditions and buying formats are standardized regardless of local language.
item_idstringeBay item identifiertitlestringListing titlebrandstringBrand namepriceobjectCurrent price (value, currency, symbol, raw)original_priceobjectStrikethrough / was priceconditionstringNew, Used, Refurbished…buying_formatstringAuction, Buy It Now, Best OfferbidsintegerNumber of bids (auctions)time_leftstringTime remaining on the listingitem_specificsobjectStructured attribute key/valuesimagesarrayListing image CDN URLsshipping_optionsarrayShipping services and costssellerobjectSeller username, feedback score & percentquantity_soldintegerUnits soldusernamestringeBay seller usernameurlstringStorefront URLstore_namestringeBay Store namefeedback_scoreintegerLifetime feedback scorefeedback_percentfloatPositive feedback percentagemember_sincestringAccount start datelocationstringSeller locationitems_for_saleintegerActive listing countfeedback_12moobject12-month feedback breakdowntop_ratedbooleanTop Rated Seller badgeEach marketplace routes through a country-matched residential proxy. Results include local currency, language, and country availability.
No proxy setup. No session management. No anti-bot configuration.
Call any eBay endpoint with your API key and parameters — query, item ID, seller username, category, or domain. REST or SDK.
ScrapeBadger routes the request through a country-matched residential proxy with Chrome impersonation, detects blocks, and falls back to a real browser when needed.
Receive normalized JSON with typed fields, image CDN links, and currency codes — ready to store, analyse, or pipe into your application.
Scraping eBay gives you real-time resale signals — realized sold prices, listing competition, condition mix, seller reputation, and cross-marketplace gaps.
Pull completed (sold) listings to know what items actually sell for. Build resale, flipping, and arbitrage tools backed by real realized prices instead of asking prices.
Track active listing prices, buying formats, and shipping across 18 eBay marketplaces. Detect undercutting and demand shifts in near real time.
Monitor category-level supply, average prices, and condition mix to spot emerging products and pricing gaps before competitors react.
Analyze sellers by storefront catalog, feedback history, and ratings. Map who sells what across marketplaces and how their reputation trends.
Collect structured listing data — titles, item specifics, conditions, images, and reviews — for training product classification or pricing models.
Compare the same product across ebay.com, ebay.de, and ebay.co.uk to understand pricing gaps, availability, and demand between regions.
You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.
| Endpoint | Credits / request | PAYG | Subscription |
|---|---|---|---|
Search Listings /search | 5 credits | — | — |
Completed / Sold /completed | 5 credits | — | — |
Item Details /items/{item_id} | 5 credits | — | — |
Item Reviews /items/{item_id}/reviews | 10 credits | — | — |
Seller Profile /sellers/{username} | 5 credits | — | — |
Seller Items /sellers/{username}/items | 5 credits | — | — |
Seller Feedback /sellers/{username}/feedback | 10 credits | — | — |
Category Items /categories/{category_id}/items | 5 credits | — | — |
Autocomplete /autocomplete | 1 credit | — | — |
List Categories /categories | Free | — | — |
List Markets /markets | Free | — | — |
See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.
ScrapeBadger's eBay Scraper API handles everything eBay throws at automated requests — so your pipeline keeps running.
Every eBay marketplace is accessed through a residential proxy in that country. German listings come through a German IP — so you get correct local pricing, availability, and currency.
eBay uses bot detection, IP reputation, and TLS/HTTP fingerprinting, and serves interstitials on suspicious traffic. ScrapeBadger handles fingerprinting and detects blocks automatically — no CAPTCHA solving on your end.
Responses are normalized typed JSON — no HTML to parse, no fragile CSS selectors that break when eBay updates its frontend.
A dedicated completed-listings endpoint surfaces realized sale prices, not just asking prices — the gold standard for pricing and resale research.
Credits are only deducted for successful responses. If eBay returns an error or the request times out, no credits are consumed. You only pay for data you actually receive.
Official typed SDKs for Python and Node.js/TypeScript. Or use the REST API directly with any language. Full documentation with working code examples for every endpoint.
Get started in minutes with Python, Node.js, or plain HTTP requests.
The scrapebadger Python library wraps the eBay API with typed methods. Install with pip install scrapebadger, then start scraping eBay in a few lines of code.
from scrapebadger import ScrapeBadger
client = ScrapeBadger("sb_live_...")
# Search iPhones in the US under $1000
results = client.ebay.search(
query="iphone 15 pro",
domain="com",
max_price=1000,
)
# Get full details for the first result
for item in results.results[:3]:
detail = client.ebay.item(
item_id=item.item_id,
domain="com",
)
print(detail.title, detail.price.value)import ScrapeBadger from 'scrapebadger'
const client = new ScrapeBadger({
apiKey: 'sb_live_...'
})
// Get completed (sold) listings for resale research
const sold = await client.ebay.completed({
query: 'iphone 15 pro',
domain: 'com',
})
for (const item of sold.results) {
console.log(item.title, item.price.value)
}Common questions about scraping eBay with the API — Python, Node.js, or REST.
Search returns position, item ID, title, price with currency, original price, condition, buying format (auction / Buy It Now / Best Offer), bids, time left, shipping, location, seller name and feedback, and sponsored flags. Item detail returns full specifics, images, shipping options, returns policy, and seller info. Completed-listings, reviews, seller profile, seller items, seller feedback, and category endpoints each return their own normalized models.
All 18 active eBay marketplaces: US, GB, DE, FR, IT, ES, AU, CA, AT, CH, BE, IE, NL, PL, HK, SG, MY, and PH. Each marketplace uses a country-matched residential proxy so results include the correct local currency, language, and availability. Select a marketplace with the domain parameter (e.g. com, co.uk, de, com.au).
Yes. The dedicated /completed endpoint returns completed (sold) listings with realized sale prices, condition, and date sold — the same filters as search (category, condition, price range, sort). This is the data resellers, flippers, and pricing tools rely on, since asking prices alone do not reflect what items actually sell for.
eBay combines bot detection, IP reputation, and TLS/HTTP fingerprinting, and serves interstitials on suspicious traffic. ScrapeBadger uses Chrome impersonation over country-matched residential proxies, detects blocks, and falls back to a real browser when needed — all automatically. You never configure proxies, manage fingerprints, or solve CAPTCHAs.
Search, completed listings, item detail, seller profile, seller items, and category requests cost 5 credits. Item reviews and seller feedback cost 10 credits. Autocomplete costs 1 credit, and reference endpoints (markets, categories) are free. PAYG pricing applies per credit and PAYG credits never expire; monthly subscriptions reduce the per-credit cost further. Failed requests are always free.
Install with `pip install scrapebadger`, then initialise the client and call client.ebay.search(query="iphone 15 pro", domain="com"), client.ebay.completed(query="iphone 15 pro"), client.ebay.item(item_id="123456789012"), or client.ebay.seller(username="some_seller"). The SDK returns typed objects — prices expose .value and .currency, and search exposes pagination.
Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All eBay endpoints — search, completed listings, items, reviews, and sellers across 18 markets — included on every plan.
1,000 free credits. No credit card. Get your API key in under a minute.
PAYG credits never expire · Pay only for successful requests · 18 markets included