[{"data":1,"prerenderedAt":390},["ShallowReactive",2],{"custom-scraper-ebay":3,"custom-scraper-summaries":305,"data-flow":367},{"category":4,"site_name":5,"region":6,"official_api":7,"domains":8,"card_text":16,"seo":17,"hero":21,"answer":33,"steps":36,"io":49,"table":79,"fields":115,"pricing":150,"difficulty":161,"use_cases":194,"limits":215,"faq":237,"links":278},"Marketplace","eBay","Global, strongest in US, UK and DE","Public Browse API exists, but sold listings are not in it",[9,10,11,12,13,14,15],"ebay.com","ebay.co.uk","ebay.de","ebay.fr","ebay.it","ebay.es","ebay.com.au","Live listings, seller names and the sold and completed history that eBay's own API will not hand you. Daily schedule, REST, CSV or Excel.",{"title":18,"description":19,"keywords":20},"eBay Scraper: Scrape eBay Listings and Sold Items","eBay's Browse API does not return sold listings. Scrape eBay search, listing and sold pages: your columns, daily, by REST, CSV or Excel.","ebay scraper, ebay listing scraper, ebay sold listings scraper, ebay sold items scraper, ebay price scraper, ebay product scraper, ebay scraping tool, ebay api sold items, scrape ebay",{"badge":22,"title":23,"subtitle":24,"image":25,"image_alt":26,"cta_primary":27,"cta_secondary":30},"Custom scraper","eBay Scraper","eBay does publish an API, and for live listings it is often the right tool. What it will not give you is sold and completed history, which is the number most pricing and reselling work is actually built on. That comes off the page, and that is what the AI scraper does.","/img/custom-scrapers/hero-ebay.svg","Three stages of an eBay run: paste a sold and completed search URL billed on the render plus super tier at EUR 3.75 per 1,000 pages; declare sold_price and sold_date in the Custom Schema builder; and get back the fifteen declared columns, one row per listing.",{"label":28,"url":29},"Start with 5 free requests","https://portal.scrapewise.ai/register",{"label":31,"url":32},"Have us set it up","/demo",{"title":34,"text":35},"How to scrape eBay","eBay is a rare case among the sites on this hub: it has a genuine public API. The Browse API returns live, active listings, and if that is all you need it is worth using before you scrape anything. The gap opens at sold and completed items. eBay keeps that history out of its buyer-facing API, and the Marketplace Insights API that does expose it is a restricted, application-only programme most teams never get into. So \"ebay sold listings scraper\" is not a lazy search term, it is people running into a real wall. The workaround is the page itself: eBay renders sold and completed results to any visitor in the browser. You paste those search URLs into the AI scraper, declare the columns you want, and set a schedule. Every run comes back over REST, CSV or Excel, and you pay per page from a prepaid wallet.",{"title":37,"intro":38,"items":39},"What the AI scraper does with an eBay link","Three steps, same as any other site. The eBay-specific part is which URL you hand it, because that decides whether you get live listings or sold history.",[40,43,46],{"title":41,"text":42},"Paste the link","A single listing, a seller's shop page, or a search results URL with the filters already applied. That last one matters on eBay: the sold and completed filter is part of the URL, so a search you built by hand in the browser is a valid input. Any country domain works the same way, because the scraper reads the URL rather than a per-market integration.",{"title":44,"text":45},"You declare the columns","A reselling or pricing job on eBay usually wants title, sold price, shipping, condition, sold date, seller name, feedback score and whether the listing was auction or Buy It Now. You name those fields yourself in a Custom Schema, or start from the ready Product List schema and add to it. The AI then fills your fields from the page after JavaScript has run, so a layout change does not break the run the way a saved CSS selector would.",{"title":47,"text":48},"Schedule it and take the data out","Sold results roll off eBay's public view after a limited window, so the value of scraping on a schedule is cumulative: each daily run captures the slice that was visible that day, and the table you build up goes back further than any single scrape could. Pull each run by REST, CSV or Excel with a stable column set.",{"title":50,"intro":51,"inputs":52,"row_label":77,"formats":78},"What you send and what you get","You send a link and a column list. On eBay the link does most of the work: the sold and completed filter lives in the URL, so a search you built by hand in the browser is a valid input.",[53,60,66],{"name":54,"label":55,"required":56,"description":57,"example":58,"control":59},"url","Link to an eBay search, shop or listing page",true,"Apply the filters in your browser first, then copy the address. Any eBay country domain works the same way.","https://www.ebay.co.uk/sch/i.html?_nkw=nintendo+switch+oled&LH_Sold=1&LH_Complete=1","link",{"name":61,"label":62,"required":56,"description":63,"control":64,"example":65},"schema","Your column list","Start from the ready Product List schema or name your own fields in a Custom Schema. The AI fills the fields you declared.","box","Custom Schema, 15 fields",{"name":67,"label":68,"required":69,"control":70,"options":71,"selected":73,"description":76},"schedule","How often it runs",false,"choice",[72,73,74,75],"On demand","Daily","Weekly","Monthly","Sold results roll off eBay's public view, so a daily run builds a history that reaches further back than any single scrape.","One row per listing in the results","REST API, CSV or Excel. The column set stays the same between runs, so downstream jobs do not re-map fields.",{"title":80,"description":81,"columns":82,"column_notes":98,"footnote":114},"The columns an eBay run gives you","We are not going to print a table of invented sold listings and call it real output. eBay refuses both a plain fetch and an ordinary browser, so a run has to go through the residential tier. This is the column list you declare before the run, and the column list every run comes back with.",[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"listing_title","sold_price","shipping","total_price","sold_date","listing_format","bids","best_offer_accepted","condition","quantity_sold","item_location","seller_username","feedback_score","listing_url","image_url",{"listing_title":99,"sold_price":100,"shipping":101,"total_price":102,"sold_date":103,"listing_format":104,"bids":105,"best_offer_accepted":106,"condition":107,"quantity_sold":108,"item_location":109,"seller_username":110,"feedback_score":111,"listing_url":112,"image_url":113},"Title as the seller wrote it","What the item actually cleared at","Postage as the listing stated it","Sold price plus postage","Date eBay shows the sale closed","Auction or Buy It Now","Number of bids, on auction listings only","Whether the listing closed on an accepted offer","Condition wording on the listing","Units this listing moved","Where the seller dispatches from","Seller handle","Seller feedback score shown with the listing","Link back to the listing","Main listing image link","The columns are yours, not ours. Add, rename or drop any of them in a Custom Schema and every future run returns exactly your set.",{"title":116,"intro":117,"groups":118,"schema_note":148,"note":149},"Typical fields the AI scraper extracts from an eBay page","A starting point, not a fixed schema. What comes back is whatever that listing or results page actually shows on the day of the run.",[119,129,139],{"title":120,"text":121,"items":122},"Price and sale","On a sold results page this is the point of the exercise: what the item actually cleared at, not what somebody hoped to get.",[123,124,125,126,104,127,128],"Sold or asking price","Shipping cost","Total delivered price","Sold date","Number of bids, on auction listings","Best Offer accepted flag, when shown",{"title":130,"text":131,"items":132},"Listing and condition","Condition is the variable that makes eBay comparisons go wrong. Two identical titles at very different prices are usually New versus Used, not a pricing error.",[133,134,135,136,137,138],"Listing title","Item condition","Quantity sold and quantity available","Item location and dispatch country","Item specifics shown on the listing","Listing image URL",{"title":140,"text":141,"items":142},"Who is selling it","For brand and MAP work this is the column set that matters more than price. An eBay search is a roster of everyone moving your SKU.",[143,144,145,146,147],"Seller username","Feedback score and positive percentage","Top Rated Seller badge","Shop name, on shop listings","Returns policy shown on the listing","The column list is one you write: name each field, give it a type and a line telling the AI what to look for. The schema belongs to your account, so an eBay field set can be pointed at the next marketplace without rebuilding it.","The scraper reads what eBay renders and nothing more. Sold results are only available for as long as eBay keeps showing them publicly, so a scrape today cannot recover a sale that has already dropped out of the public view, and there is no historical archive on our side to fall back on. Buyer identities are not published on the page and are not something we can return. Item specifics vary listing by listing, so a field that exists on one row may simply be absent on the next.",{"title":151,"intro":152,"tier_match":153,"tier_label":154,"reason":155,"example":156,"note":160},"What an eBay page costs","Pay-as-you-go from your wallet. No plan, no monthly fee, no seat count.","Render + Super (the hardest sites)","Render plus residential tier","Measured on 24 September 2026, not assumed. A plain fetch of an eBay sold-results URL is refused, and loading the same URL in a real browser returned eBay's security-measure page rather than the results. A browser alone is not enough here, so budget for a rendered page coming out of a residential exit.",{"label":157,"text":158,"result":159},"Worked example","200 sold-results pages checked once a day for a month is 6,000 pages.","about EUR 22.50 for the month at this tier","You are charged for the tier a run actually used, not the tier it was expected to need, and your balance never expires.",{"title":162,"intro":163,"categories":164},"What makes eBay awkward to scrape","Less hostile than a price comparison site, but the data model catches people out more often than the bot wall does.",[165,172,180,187],{"title":166,"icon":167,"items":168},"The sold-data gap","shield",[169,170,171],"The public Browse API covers live listings only, so an active-listing job may not need scraping at all","Sold and completed history sits behind Marketplace Insights, a restricted programme rather than a signup","The public sold view is time-limited, so history has to be accumulated run by run rather than pulled in one go",{"title":173,"icon":174,"items":175},"Page structure","layers",[176,177,178,179],"Search results render after JavaScript, so the raw HTML source is missing most of the rows","Results are paginated and eBay caps how deep a single search will page, so a broad query has to be split into narrower ones","Promoted listings are interleaved with organic results and look identical unless you capture the flag","Item specifics are free text per listing, so the same attribute appears under different labels",{"title":181,"icon":182,"items":183},"Country sites","globe",[184,185,186],"ebay.com, .co.uk, .de, .fr, .it, .es and .com.au are separate marketplaces with separate inventory","The same item carries a different item number per site, so cross-market comparison needs matching on your side","Currency, VAT treatment and shipping conventions differ per site and must be normalised before you compare",{"title":188,"icon":189,"items":190},"Scheduling and delivery","calendar",[191,192,193],"Daily is the fastest cadence, which suits sold data because it only updates as sales complete","Every run is retrievable by REST API, or downloadable as CSV or Excel","Columns stay stable between runs, so a growing sold-price table needs no re-mapping",{"title":195,"items":196},"What people use eBay data for",[197,200,203,206,209,212],{"title":198,"description":199},"Real sold prices, not asking prices","An active listing tells you what a seller wants. A sold listing tells you what a buyer paid. Building a table of sold prices per SKU over weeks gives you a clearing price you can actually price against, which is the single most common reason people scrape eBay at all.",{"title":201,"description":202},"Resale and arbitrage sourcing","Sold price minus eBay's cut, minus shipping, against what the item costs you today. Run that across a category on a schedule and the margin candidates surface without anyone browsing eBay by hand.",{"title":204,"description":205},"Finding unauthorised sellers of your brand","For brands, an eBay search on your product name is a list of everybody moving your SKU, including the grey-market sellers you never appointed. Seller name, feedback and price together are what a MAP or channel case gets built on.",{"title":207,"description":208},"Tracking your own competitors' listings","If you sell on eBay, the sellers above you in search are the ones taking your volume. Scraping their price, shipping, condition and position tells you whether you are losing on price or on placement, which need very different responses.",{"title":210,"description":211},"Demand signal by category","Quantity sold and sold dates across a category are a cheap read on what is actually moving, and how fast. It is not a market research panel, but it is observed transactions rather than survey intent.",{"title":213,"description":214},"Valuing used and end-of-life stock","For anything discontinued, refurbished or second hand, eBay is often the only public market with real clearing prices. That makes it the reference point for writing down stock or pricing a trade-in programme.",{"title":216,"intro":217,"items":218},"What this page is not promising","We would rather say this here than in a support ticket.",[219,222,225,228,231,234],{"title":220,"text":221},"No dedicated eBay endpoint","There is no eBay data API in our catalogue and no pre-built eBay schema. The AI scraper reads the page you point it at. If eBay's own Browse API covers your case, use it.",{"title":223,"text":224},"No sold history beyond the public view","We can only read what eBay still shows. Sales that have already aged out of the public sold view are gone, and we hold no archive of our own to backfill them from.",{"title":226,"text":227},"No buyer data","Buyer identities are not published on the page, so they are not in the output. Nothing here returns personal data about purchasers.",{"title":229,"text":230},"Daily, not real time","Daily is the fastest schedule. There is no live auction feed, no per-minute bid polling and no snipe or bidding function.",{"title":232,"text":233},"No SKU matching included","You get eBay's rows as eBay presents them, and eBay titles are free text written by sellers. Tying a listing to the right product in your catalogue is a separate job from scraping.",{"title":235,"text":236},"No selling or repricing tools","We do not list, bid, relist or push prices to eBay, and we do not connect to eBay's seller tools. And we are not lawyers, so check eBay's terms and your own situation before you run anything.",{"badge":238,"title":239,"description":240,"items":241},"FAQ","eBay scraping — questions","What people ask before pointing the scraper at eBay.",[242,245,248,251,254,257,260,263,266,269,272,275],{"title":243,"description":244},"Does eBay have an API, and do I even need a scraper?","eBay has a real public API, and for live, active listings it is usually the better option: it is free at normal volumes, it is supported, and it gives you clean structured data. Reach for a scraper when the API does not cover what you need, which in practice almost always means sold and completed listings, or fields that only appear in the rendered page.",{"title":246,"description":247},"Why can I not get sold listings from the eBay API?","eBay treats sold and completed transaction history as commercially sensitive. The buyer-facing Browse API returns active listings only, and the Marketplace Insights API that does expose sold data is a restricted programme you have to be approved into rather than something you sign up for. Meanwhile eBay renders the same sold results to any visitor in a browser, which is why scraping is the practical route for most teams.",{"title":249,"description":250},"Can I scrape eBay sold and completed listings?","Yes, as far as eBay renders them. You build the search in the browser with the sold and completed filter applied, paste that URL into a scraper, and declare the columns you want back. Note the window: eBay only keeps sold results publicly visible for a limited period, so long history has to be accumulated by running the scraper on a schedule rather than pulled in one shot.",{"title":252,"description":253},"How do I scrape eBay prices?","Sign up, paste eBay listing or search URLs into a new scraper, pick a ready schema or define your own columns, and set a daily schedule. Each run is available by REST API, CSV or Excel, and you are charged per page from your wallet.",{"title":255,"description":256},"Can I scrape a whole search result page, not just one listing?","Yes. A search results URL is a normal input and each visible result can become a row. Two caveats: eBay serves a security page to an ordinary browser, so the run has to go out rendered through a residential exit, and eBay limits how deep any single search will page. A broad query is better split into several narrower ones than pushed for more pages.",{"title":258,"description":259},"Can I scrape a specific seller's listings?","Yes. A seller's shop or listings URL works the same as any other page, which is what makes eBay useful for watching a named competitor or tracking an unauthorised seller of your brand over time.",{"title":261,"description":262},"Can I scrape ebay.de, ebay.co.uk and the other country sites?","You can point the scraper at any eBay country domain, because it works from the URL you give it. Treat them as separate marketplaces though: different inventory, different item numbers, different currency and VAT handling. Comparing across them is a matching job on your side.",{"title":264,"description":265},"Does it get blocked?","eBay challenges traffic that looks automated, and it does so early: an ordinary browser gets a security page rather than results. Runs go out rendered through a residential exit. Most pages come back. We do not promise every page on every run, and you are charged for the tier that was actually used.",{"title":267,"description":268},"Will it match eBay listings to my own SKUs?","No. eBay titles are free text written by sellers, so the same product appears under dozens of spellings, abbreviations and bundle descriptions. Tying those rows to your catalogue is a separate problem, covered on our product matching page rather than by this scraper.",{"title":270,"description":271},"How much does scraping eBay cost?","You pay per page from a prepaid wallet. A browser alone does not clear eBay, so its pages fall on the render plus residential tier at EUR 3.75 per 1,000 pages. Every account starts with 5 free requests, top-ups start at EUR 5, and your balance never expires.",{"title":273,"description":274},"How often can it run?","Daily is the fastest schedule, and for sold data that is genuinely enough, since a listing only enters the sold set once. You can also run it on demand or less often. There is no real-time auction feed.",{"title":276,"description":277},"Is scraping eBay legal?","We cannot answer that for you and nothing here is legal advice. The scraper only reads pages that are publicly visible to any shopper, but whether you may collect and use that data depends on eBay's terms, your jurisdiction and what you do with it. Take your own advice before you start.",{"title":279,"items":280},"Where to go next",[281,285,289,293,297,301],{"anchor":282,"href":283,"text":284},"Idealo scraper","/custom-scrapers/idealo","The other side of European price work: one product page listing every merchant offer, rather than one marketplace's listings.",{"anchor":286,"href":287,"text":288},"Repricing on marketplaces","/use-cases/marketplace-repricing","What teams do with the rows once eBay tells them where their listing sits against the sellers above it.",{"anchor":290,"href":291,"text":292},"Match eBay listings to your own SKUs","/use-cases/product-matching","eBay titles are seller-written free text. This is the step that ties one of those listings to a product in your catalogue.",{"anchor":294,"href":295,"text":296},"Competitor price tracking","/use-cases/competitor-price-tracking","The use case most people land on this page for: watching competitor prices on a schedule instead of by hand.",{"anchor":298,"href":299,"text":300},"Price list and free requests","/pricing","The full tier list, the wallet, and the 5 free requests you start with.",{"anchor":302,"href":303,"text":304},"Browse all data APIs","/scrapers/data-apis","The sources that do have a dedicated endpoint, with per-call prices.",[306,314,317,332,344,358],{"slug":307,"name":308,"category":4,"cardText":309,"domains":310,"region":312,"tier":154,"officialApi":313},"bol","Bol","Who holds the buy block on a bol listing, at what delivered price, and which other sellers sit underneath it.",[311],"bol.com","Netherlands and Belgium","Retailer API for your own seller account only",{"slug":315,"name":5,"category":4,"cardText":16,"domains":316,"region":6,"tier":154,"officialApi":7},"ebay",[9,10,11,12,13,14,15],{"slug":318,"name":319,"category":320,"cardText":321,"domains":322,"region":329,"tier":330,"officialApi":331},"idealo","Idealo","Price comparison","Every merchant offer on one idealo product page, read after JavaScript and returned as columns you choose. Daily schedule, REST, CSV or Excel.",[323,324,325,326,327,328],"idealo.de","idealo.at","idealo.co.uk","idealo.fr","idealo.it","idealo.es","DACH and Western Europe","Render tier","Merchant-facing only, no public read API",{"slug":333,"name":334,"category":4,"cardText":335,"domains":336,"region":342,"tier":154,"officialApi":343},"kaufland","Kaufland.de","Every seller on a Kaufland offer, the winning price and who holds it, read after JavaScript and returned as columns you choose.",[337,338,339,340,341],"kaufland.de","kaufland.at","kaufland.cz","kaufland.sk","kaufland.pl","Germany, Austria, Czechia, Slovakia, Poland","Seller API only, nothing for reading competitors",{"slug":345,"name":346,"category":347,"cardText":348,"domains":349,"region":356,"tier":154,"officialApi":357},"mediamarkt","MediaMarkt","Electronics retailer","Europe's largest electronics chain, read as columns you choose: price, the strikethrough above it, delivery, store pickup and the energy label.",[350,351,352,353,354,355],"mediamarkt.de","mediamarkt.at","mediamarkt.es","mediamarkt.nl","mediamarkt.be","mediamarkt.pl","Germany, Austria, Spain, Netherlands, Belgium, Poland","Nothing public for reading prices",{"slug":359,"name":360,"category":4,"cardText":361,"domains":362,"region":364,"tier":365,"officialApi":366},"otto","Otto.de","Germany's second-largest online retailer, read as a marketplace: price, delivery, seller and variant, returned as columns you choose.",[363],"otto.de","Germany","Plain page tier","Partner API for approved sellers only",{"title":368,"intro":369,"steps":370,"llm_example":383},"Set it up once. The data keeps coming.","Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.",[371,374,377,380],{"title":372,"text":373},"Set it up once","Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.",{"title":375,"text":376},"Runs on your schedule","Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.",{"title":378,"text":379},"Saved in your database","Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.",{"title":381,"text":382},"Use it your way","Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.",{"title":384,"prompt_examples":385,"text":389},"Ask your AI assistant about your own data",[386,387,388],"Which of my ASINs lost the Buy Box this week?","Which competitor cut prices the most since Monday?","Show the keywords where I dropped out of the top 10.","Connect Claude Desktop or Claude Code with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.",1790283357545]