eBay Spain Scraper — Active Listings
Pricing
from $1.00 / 1,000 results
eBay Spain Scraper — Active Listings
Searches ebay.es and returns every active listing with its price, auction state, bid count, shipping and ship-from country as separate columns — plus the seller type eBay prints on the card, as a field you can filter on. Active listings only.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
reventadata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to eBay. "eBay" is a trademark of its respective owner and is used here only to describe what this tool reads.
eBay Spain Scraper searches ebay.es and returns every active listing it finds as a row: price, auction state, bid count, shipping, ship-from country — and the seller type eBay prints on the card, as a first-class field you can filter on.
What data can you extract from eBay Spain (ebay.es)?
Give it one or more search terms. It walks eBay's own results pages and returns the listings as structured columns instead of a page of cards. Auctions and fixed-price listings are modelled apart, and where an auction also carries a Buy It Now price both are returned in separate columns. Everything is read from eBay's own server-rendered search pages — no browser, no login, no item pages opened.
Sold and completed listings are not available. See the section of that name below, before you decide whether this Actor is the one you want.
Why scrape eBay Spain (ebay.es)?
- Seller type as a real column. eBay states on every card whether the seller is a
private individual or a business (Vendedor particular / Vendedor profesional). This
Actor returns that as
sellerTypeon every row and lets you keep only one kind. It is the field that separates a dealer's stock from a person clearing out a drawer, and it is usually the first thing a pricing or sourcing analysis needs. - Auctions modelled properly.
isAuction,bidCount,timeLeftandendsAtare separate fields, and an auction's current bid is never silently mixed with a fixed price —buyItNowPriceis its own column. - Shipping split from its wording.
shippingCostis a number andfreeShippingis a boolean, whileshippingTextkeeps eBay's own phrase so you can tell a quoted cost from an estimate, and free delivery from free local pickup. - You control the cost.
itemsPerPageis the lever: at 240 listings per page a run makes a quarter of the requests it makes at 60, for exactly the same rows. - It stops when the results stop. Past the end of a result set eBay does not stop and does not error — it re-serves one identical padded page forever. This Actor works out the real end from eBay's own result count and confirms it by noticing when a page adds no listing it has not already seen.
- Private sellers stay private. Seller type is returned for every row; seller identity only for businesses. See Privacy below.
Sold and completed listings are not available
If you came here for sold prices, this Actor does not have them, and nothing on this page should be read as implying otherwise.
- eBay's
LH_Sold/LH_Completefilters redirect an anonymous visitor to a sign-in wall. There is nothing to read there without an account, so those controls are not offered. - eBay's own Marketplace Insights API, the official route to completed-listing data, is a restricted programme that is not open to new developer applications.
So there is currently no path — official or otherwise — to sold-price data without an authenticated eBay account session, and this Actor does not have one. What it covers is active listings: what is on sale right now, at what asking price, from whom.
How to scrape eBay Spain (ebay.es)
- Put one or more search terms in
searchTerms— the same words you would type into eBay's search box. - Optionally narrow with
condition,listingType, a price bound orsellerType. - Leave
itemsPerPageat 240 unless you have a reason not to; it is the cheapest setting. - Run it. Results land in the dataset.
Input
| Field | Type | Meaning |
|---|---|---|
searchTerms | array | One or more keywords. Required. |
condition | string | any | new | refurbished | used | forParts. Applied by eBay, server-side. |
listingType | string | any | auction | buyItNow. |
sellerType | string | any | private | business. Applied after fetching — eBay publishes no search parameter for it. |
minPrice / maxPrice | integer | Optional, in whole euros. Omitted entirely when empty — never defaulted. |
itemsPerPage | string | "60" | "120" | "240". The cost lever. |
maxItems | integer | Hard cap on rows pushed. Default 240. |
maxPages | integer | Guard rail on pages per search term. The Actor already stops at the real end of a query. |
{"searchTerms": ["iphone 15 pro"],"condition": "used","sellerType": "private","minPrice": 200,"maxPrice": 600,"itemsPerPage": "240","maxItems": 1000}
Output
{"listingId": "147520935178","title": "Apple Iphone 15 Black 128GB (ohne Simlock)","url": "https://www.ebay.es/itm/147520935178","keyword": "iphone","page": 1,"condition": "Usado","sellerType": "business","price": 369,"currency": "EUR","buyItNowPrice": null,"isAuction": false,"bidCount": null,"timeLeft": null,"endsAt": null,"isBuyItNow": true,"acceptsBestOffer": false,"shippingCost": 0,"freeShipping": true,"shippingText": "Envío gratis","shipFrom": "Austria","energyClass": "B","sellerUsername": "marketxpres","sellerFeedbackPercent": 100,"sellerFeedbackCount": 169}
An auction row instead carries isAuction: true, a bidCount, a timeLeft such as
"Quedan 2 d 3 h" and an endsAt such as "(Lunes, 23:25)", with price holding the
current bid and buyItNowPrice the fixed price if the seller offers one.
Notes and limits
- eBay's
robots.txtdisallows the/sch/search path, which is the surface this Actor reads, and eBay's preamble asks that automated access go through its official API instead. That is stated here plainly so you can weigh it yourself; it is a policy question, not a technical one, and no wording in this README changes it. conditionis eBay's own Spanish wording, verbatim —Usado,Totalmente nuevo,Reacondicionado,Solo piezas,Abierto, sin usarand others. It is not mapped to a grade, because eBay's full condition vocabulary has not been measured and a half-known enum would quietly mislabel listings.conditionandsellerTypecan both be null. A seller may replace the card's subtitle with marketing copy, in which case eBay publishes neither for that listing and this Actor invents neither.energyClassis the EU energy label, A to G — the same scale a fridge carries. It is not a condition grade and says nothing about wear.pricemeans two different things, andisAuctionis how you tell which: the asking price on a fixed-price listing, the current bid on an auction. eBay renders both in the same element.endsAtis a weekday and a clock time, not a date, because that is all eBay publishes on the results page.- A search term with no matches is recognised from eBay's own results heading. eBay fills an empty result page with sixty unrelated but genuinely priced listings; none of it is collected, and the run says so in the log rather than returning stock you did not ask for.
- A run that returns zero rows fails rather than succeeding empty, so a silent misconfiguration cannot look like "no stock today".
- eBay sometimes answers the same URL with a page that has no listings on it
at all — a full-size page carrying a results heading and a category tree but
not one listing card. It is not a block and not an empty result; another
attempt on the same URL returns the ordinary results page. This Actor
recognises that page and retries rather than reporting it as zero results, and
it says in the log if a page was skipped after every retry, so a short run is
visible rather than silent. It happens at every page size, so turning
itemsPerPagedown does not avoid it — that was measured both ways. - Every request goes through Apify Unblocker, and there is no cheaper option. eBay
answers a plain request, a datacenter proxy and a residential proxy alike with an
identical canned error page — measured over 25 pages each, zero successes — because it
runs a JavaScript browser challenge in front of search. Unblocker's per-request price is
therefore the floor for this Actor, which is why
itemsPerPagematters so much.
Privacy
eBay states on every search card whether the seller is registered as a business or as a private individual. GDPR protects natural persons, not legal entities, so this Actor treats the two differently:
- Private sellers:
sellerTypeis returned asprivate.sellerUsername,sellerFeedbackPercentandsellerFeedbackCountare absent from the row entirely — not empty, absent. An eBay username is pseudonymous, but a private seller's handle identifies one individual across every listing and feedback page on the site. - Business sellers: those three fields are returned, because a shop is a business, not a natural person.
- A listing whose card carries no seller sentence is treated as private, because withholding identity from a business by mistake costs a column and the opposite mistake does not undo.
No real name, phone number, email address or street address is collected for anyone; eBay publishes none of those on its search pages.
How much does it cost to scrape eBay Spain (ebay.es)?
Pricing is pay-per-event: $0.001 per result written to the dataset ($1.00 per 1,000 results), plus $0.00005 charged once when the run starts. There is no subscription — you pay only for what you get.
FAQ
Is a proxy required to scrape eBay Spain? Yes, and there is no cheaper option: eBay
answers a plain request, a datacenter proxy and a residential proxy alike with an identical
canned error page — measured over 25 pages each, zero successes — because it runs a
JavaScript browser challenge in front of search. This Actor routes every request through
Apify Unblocker, wired in internally with no proxyConfiguration input to set.
Can I get sold or completed listings? No. eBay's LH_Sold / LH_Complete filters
redirect an anonymous visitor to a sign-in wall, and eBay's Marketplace Insights API — the
official route to that data — is a restricted programme not open to new developer
applications. This Actor covers active listings only.
Is seller identity included in the output? Only for business sellers. Private-seller
rows never carry sellerUsername, sellerFeedbackPercent or sellerFeedbackCount — those
fields are absent from the row, not empty.
More second-hand marketplace scrapers
| Actor | What it scrapes |
|---|---|
| Wallapop Scraper | Wallapop, Spain — any keyword, phone mode with battery-health parsing |
| Wallapop + Vinted + Milanuncios Scraper — Spain | Wallapop, Vinted and Milanuncios in Spain — one keyword, one merged table |
| Cash Converters Spain Scraper | Cash Converters Spain — graded second-hand stock with price when new |
| Milanuncios Scraper | Milanuncios — 17 categories, condition, storage and battery-health filters |
| Gumtree UK Scraper | Gumtree UK — any category, vehicle and phone details parsed from the ad's own text |
| OLX Romania Scraper | OLX Romania (olx.ro) — any keyword, no proxy required |
| OLX Brazil Scraper | OLX Brazil (olx.com.br) — any category, structured attributes from the site's own detail chips |
| Vinted Spain Scraper | Vinted Spain (vinted.es) — any keyword or category, no proxy required |
| Todocolección Scraper | Todocolección — collectibles, antiques and auctions, fixed-price and bidding modelled apart |
| Back Market Spain Scraper | Back Market Spain — refurbished phones, laptops and tablets, priced against new |