{"description":"Searches eBay.de like the site's search page: title, current price (or price range), bids and time left for auctions, Buy It Now price, best-offer flag, shipping cost, condition, private or business seller, seller rating, image and link. Filters: price range, condition, auction or Buy It Now, free shipping, located in Germany, sort. Promoted listings (marked 'Anzeige') are dropped by default.","effect":"read","id":"ebay.de/search-listings","keywords":["ebay","kaufen","gebraucht","auktion","sofort-kaufen","angebote","preisvergleich","schnäppchen","second hand","auction","buy it now","used","listings","marketplace"],"output":{"schema":{"properties":{"listings":{"items":{"properties":{"auction":{"type":"boolean"},"best_offer":{"type":"boolean"},"bids":{"type":["integer","null"]},"buy_it_now_price_eur":{"description":"Buy It Now price next to an auction","type":["number","null"]},"condition":{"description":"e.g. 'Gebraucht', 'Neu', 'Sehr gut - Refurbished'","type":["string","null"]},"ends_text":{"description":"When the auction ends, as eBay shows it, e.g. 'Heute 10:30'","type":["string","null"]},"id":{"type":"string"},"image":{"type":["string","null"]},"new_listing":{"type":"boolean"},"pickup_only":{"type":"boolean"},"price_eur":{"description":"Current price; the lower end for a price range","type":["number","null"]},"price_max_eur":{"description":"Upper end when the listing has variants","type":["number","null"]},"price_text":{"type":["string","null"]},"seller":{"type":["string","null"]},"seller_positive_pct":{"type":["number","null"]},"seller_ratings":{"type":["integer","null"]},"seller_type":{"enum":["private","business",null],"type":["string","null"]},"shipping_eur":{"description":"0 for free delivery; null when only pickup or not shown","type":["number","null"]},"sponsored":{"type":"boolean"},"title":{"type":"string"},"top_rated":{"type":"boolean"},"url":{"type":"string"}},"type":"object"},"type":"array"},"page":{"type":"integer"},"query":{"type":"string"},"total":{"description":"eBay's result count (shown as '9.200+', so a lower bound)","type":["integer","null"]}},"type":"object"},"value":"let $ads = steps.search[0].ad_label_ids || `[]`, $keep_ads = params.include_sponsored == `true` in {query: params.query, total: (steps.search[0].count_text && to_number(replace(replace(split(steps.search[0].count_text, ' ')[0], '.', ''), '+', ''))) || `null`, page: params.page || `1`, listings: map(&(let $c = @, $pt = replace(replace(price_text || '', 'EUR ', ''), '.', ''), $at = attributes_text || '', $ct = condition_text || '', $st = seller_text || '' in {id: $c.id, title: $c.title, price_eur: to_number(replace(split($pt, ' bis ')[0], ',', '.')), price_max_eur: contains($pt, ' bis ') && to_number(replace(split($pt, ' bis ')[1], ',', '.')) || `null`, price_text: $c.price_text, auction: $c.bids_text != `null`, bids: $c.bids_text && to_number(split($c.bids_text, ' ')[0]) || ($c.bids_text && `0`) || `null`, ends_text: $c.time_end && replace(replace($c.time_end, '(', ''), ')', '') || `null`, buy_it_now_price_eur: $c.bin_price_text && to_number(replace(replace(replace($c.bin_price_text, 'EUR ', ''), '.', ''), ',', '.')) || `null`, best_offer: contains($at, 'Preisvorschlag'), shipping_eur: (contains($at, 'Gratis') || contains($at, 'Kostenloser Versand') || contains($at, 'Kostenlose Lieferung')) && `0` || (contains($at, '+EUR ') && to_number(replace(replace(split(split($at, '+EUR ')[1], ' ')[0], '.', ''), ',', '.'))) || `null`, pickup_only: contains($at, 'Abholung') && !(contains($at, 'Lieferung') || contains($at, 'Versand')), condition: trim(split($ct, '|')[0]) || `null`, seller_type: (contains($ct, 'Privat') && 'private') || (contains($ct, 'Gewerblich') && 'business') || `null`, seller: $st && split($st, ' ')[0] || `null`, seller_positive_pct: $st && contains($st, '% positiv') && to_number(replace(split(split($st, '% positiv')[0], ' ')[1], ',', '.')) || `null`, seller_ratings: $st && contains($st, '(') && to_number(replace(split(split($st, '(')[1], ')')[0], '.', '')) || `null`, top_rated: $c.top_rated != `null`, new_listing: $c.new_listing != `null`, sponsored: length(split($c.ad_ids || '', ' ')[?contains($ads, @)]) > `0`, image: $c.image, url: join('', ['https://www.ebay.de/itm/', $c.id])}), steps.search[0].items[?id != `null` && title != `null`])[?$keep_ads || !(sponsored)]}"},"params":{"additionalProperties":false,"properties":{"condition":{"default":"any","enum":["any","new","used"],"type":"string"},"format":{"default":"any","description":"Auctions only, Buy It Now only, or both","enum":["any","auction","buy_it_now"],"type":"string"},"free_shipping":{"default":false,"type":"boolean"},"include_sponsored":{"default":false,"description":"Keep promoted listings (marked sponsored)","type":"boolean"},"located_in_germany":{"default":false,"description":"Only items located in Germany","type":"boolean"},"max_price":{"description":"Maximum price in EUR","minimum":0,"type":"number"},"min_price":{"description":"Minimum price in EUR","minimum":0,"type":"number"},"page":{"default":1,"maximum":20,"minimum":1,"type":"integer"},"query":{"description":"Search words, e.g. 'iphone 13 128gb', 'fahrrad 28 zoll', 'lego 75192'","maxLength":120,"minLength":2,"type":"string"},"sort":{"default":"best_match","description":"price_low/price_high include shipping","enum":["best_match","price_low","price_high","newest","ending_soonest"],"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"browser-inspect","notes":"eBay answers servers with 403 (bot protection), so this runs only in the user's browser. Search page GET /sch/i.html with eBay's own URL filters (_sop sort codes 12/15/16/10/1, _udlo/_udhi price, LH_ItemCondition 1000/3000, LH_Auction, LH_BIN, LH_FS, LH_PrefLoc, _pgn, _ipg). Cards are li.s-card[data-listingid]; rows inside a card are text, so flags (Preisvorschlag, Gratis Lieferung, Abholung) are read from the joined row text. Promoted listings: the footer's aria-labelledby ids that point to an element reading 'Anzeige' (the accessible label). Verified in a browser tab on 2026-11-07. v2 (2026-11-07): the output reads steps.search[0] (search is a one-item foreach step, so its result is a list); v1 read steps.search.items and failed in every real run with map() on null. Found by running the real interpreter over the in-page response. v3 (2026-11-07 22:38): tos.notes only; requests and output unchanged.","recorded_at":"2026-11-07T18:30:00+01:00","recorded_by":"C4"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"DE","id":"ebay.de","language":"de","login_url":"https://signin.ebay.de/ws/eBayISAPI.dll?SignIn","name":"eBay","origin":"https://www.ebay.de","origins":["https://www.ebay.de"]},"steps":[{"description":"The search results page (server-rendered cards). The one-item foreach maps the filter params to eBay's URL codes. Promoted listings are identified by their accessible label: each card's footer has aria-labelledby ids, and the ids whose element reads 'Anzeige' (in a container directly under <body>) mark it as an ad. That is the label screen readers announce; the visible label is an obfuscated image.","expect":{"assert":"contains(body, 'srp-results') || contains(body, 'srp-save-null-search')","content_type":"html","status":[200]},"extract":{"html":{"ad_label_ids":{"all":true,"attr":"id","selector":"body > div > div[id^='s-']:not(:empty)"},"count_text":{"selector":".srp-controls__count-heading"}},"html_items":{"items":{"fields":{"ad_ids":{"attr":"aria-labelledby","selector":".s-card__footer [aria-labelledby]"},"attributes_text":{"selector":".su-card-container__attributes__primary"},"bids_text":{"selector":".s-card__attribute-row:has(.s-card__time)"},"bin_price_text":{"selector":".s-card__attribute-row:has(.s-card__time) ~ .s-card__attribute-row .s-card__price"},"condition_text":{"selector":".s-card__subtitle:has(> span + span)"},"href":{"attr":"href","selector":"a.s-card__link"},"id":{"attr":"data-listingid","selector":":scope"},"image":{"attr":"src","selector":"img.s-card__image"},"new_listing":{"selector":".s-card__title .s-card__new-listing"},"price_text":{"selector":".su-card-container__attributes__primary > .s-card__attribute-row:first-child"},"seller_text":{"selector":".su-card-container__attributes__secondary .s-card__attribute-row:not(:has(.su-icon))"},"time_end":{"selector":".s-card__time-end"},"title":{"selector":".s-card__title .su-styled-text.primary"},"top_rated":{"selector":".su-card-container__attributes__secondary .su-icon--legacy-top-rated-seller"}},"max":60,"selector":"ul.srp-results > li.s-card[data-listingid]"}}},"foreach":{"as":"f","in":"[{sop: (params.sort == 'price_low' && `15`) || (params.sort == 'price_high' && `16`) || (params.sort == 'newest' && `10`) || (params.sort == 'ending_soonest' && `1`) || `12`, cond: (params.condition == 'new' && '1000') || (params.condition == 'used' && '3000') || `null`, auction: params.format == 'auction' && '1' || `null`, bin: params.format == 'buy_it_now' && '1' || `null`, fs: params.free_shipping == `true` && '1' || `null`, loc: params.located_in_germany == `true` && '1' || `null`}]","max":1},"id":"search","request":{"headers":{"Accept":"text/html"},"method":"GET","query":{"LH_Auction":"{{f.auction}}","LH_BIN":"{{f.bin}}","LH_FS":"{{f.fs}}","LH_ItemCondition":"{{f.cond}}","LH_PrefLoc":"{{f.loc}}","_ipg":"60","_nkw":"{{params.query}}","_pgn":"{{params.page}}","_sop":"{{f.sop}}","_udhi":"{{params.max_price}}","_udlo":"{{params.min_price}}"},"url":"/sch/i.html"}}],"task":"Search eBay listings with price, bids, shipping and seller","tos":{"notes":"eBay.de's robots.txt disallows AI crawlers (ClaudeBot, anthropic-ai), and eBay's user agreement restricts automated access and scraping without permission. Wield runs it only when the user asks, in the user's own browser, one search page per call: no bulk collection, no bidding or buying.","reviewed":false},"verify":{"checks":["length(output.listings) > `5`","length(output.listings[?price_eur > `0`]) == length(output.listings)","length(output.listings[?price_eur > `400`]) == `0`","length(output.listings[?sponsored]) == `0`","output.listings[0].url != `null`"],"example_params":{"condition":"used","max_price":400,"query":"iphone 13 128gb"},"max_ms":6000},"version":3}