eBay Sold Listings Comps AI: Price Checker & Max Buy Price avatar

eBay Sold Listings Comps AI: Price Checker & Max Buy Price

Pricing

from $5.00 / 1,000 clean comp (rules only)s

Go to Apify Store
eBay Sold Listings Comps AI: Price Checker & Max Buy Price

eBay Sold Listings Comps AI: Price Checker & Max Buy Price

First 25 comps free. eBay sold listings cleaned into exact-match comps, pay per clean comp - junk never charged by us: parts, lots, accessories and outliers out, AI-matched to your item, plus median and max buy price. Free demo on any plan; live search runs on your Apify account.

Pricing

from $5.00 / 1,000 clean comp (rules only)s

Rating

0.0

(0)

Developer

Rich Minds

Rich Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Clean eBay sold comps and a max buy price for your exact item, every week.

⚡ First 25 comps free · 💵 $0.005 per clean comp · 🤖 $0.01 with the AI match check · ⏱️ demo in seconds

One row per clean eBay sold comp — price, condition, sale date, % vs the condition median and the match score

Try it in 30 seconds. Click Try it — the form is pre-filled with 16 sample sold listings of a Nintendo Switch OLED. Your first 25 clean comps are free; junk sales are never charged by us (the eBay scan, $0.004 a row, runs on your Apify account, capped). Bring your own data: pass rows in itemsList or a dataset ID in datasetId and pay only for the analysis — the source is never run (the mode is picked for you; the log says which). The free demo stays separate. → What a run costs · What the AI adds · Run it weekly

⚡ At a glance

What you geteBay sold comps that match your exact item + a price report: median, band, sales per day, trend, list and max buy price
You providethe item as a keyword, e.g. iphone 13 pro 128gb (1–6 per run)
Typical run100 sold rows → ≈ 56 clean comps, ≈ 2 min (estimate — the demo keeps 9 of 16)
Cost of that run$0.68 rules only ($0.40 source + 56 × $0.005) · $0.95 with the AI check (42 AI-checked × $0.01, ≈ $0.06 tokens)
Keys / setupPlan with Apify model access: no key needed · Other plans: your first 5 real comps get live AI checks on us, then your own key — free Gemini / Groq = 1–3 AI checks per run, paid = every comp
Free tierfirst 25 clean comps per account
Which planFree demo and your own list (list mode, template): any plan · live search: a plan that runs Store Actors
Works withSchedules, e-mail digest, webhooks, Google Sheets, Slack, Make / n8n / Zapier, MCP & AI agents

🎯 What this Actor does

It runs eBay Sold Listings Search (caffein.dev/ebay-sold-listings) on your account, drops every sale that would skew your comps and prices the cleaned rest — resale price research without the spreadsheet:

  • Junk out before the math — "for parts", "box only", cases and other accessories, "lot of 3", replicas: removed in 5 languages across the 8 eBay sites, never charged by us.
  • Your exact item, not its cousin — the 13 Pro Max stays out of 13 Pro comps, 256 GB out of 128 GB, a PSA 9 out of PSA 10 card comps; the AI checks borderline sales against your own words.
  • Honest prices — Best-Offer rows carry eBay's asking price, so they stay out of the median; so do price ranges, other currencies and outliers.
  • Only new sales on re-runs — cross-run memory; the report still uses every clean sale.

📉 The price report — eBay comps summed up per keyword

PRICE_REPORT — free with 10+ comps of the keyword in the run, else $0.03 per report.

maxBuyPrice = list price × (1 − feeRatePct) − shippingCost − targetProfit, in the site's currency (resaleMath.currency) — your bid limit. Graded cards get byGrade: PSA 10, PSA 9 and raw never share a median.

🚀 How to use it

  1. Click Try it — the form runs the free demo on 16 sample sold listings; it works as is.
  2. Type your item into keywords (e.g. iphone 13 pro 128gb) — that switches the source to the live eBay search on your account. Describe it in itemDescription, leave enableAi on: your first 5 comps get live AI checks on any plan; all 25 free comps with Apify model access or a paid own key.
  3. Press Start — best matches first; the status says the median.
  4. Schedule it weekly (Actions → Schedule) with your address in notifyEmail — only new sales are charged.

The comps sheet — unit price, Buy It Now vs auction, Best-Offer asking prices, condition median, cheap-sale flag, defects

📚 Learn more: Step-by-step tutorial — ebay sold comps without the junk

🆚 Why this instead of an eBay Sold Listings Scraper?

eBay Sold Listings Search (caffein.dev/ebay-sold-listings)This Actor
Price$0.004 per row + $0.00005 start · 729 users / 30 days$0.005 per clean comp ($0.01 AI-checked), first 25 free
What you pay forevery sold row, parts and lots includedclean comps only — junk and repeats cost $0
Same 100 comps, all in$0.72 for ≈ 180 unsorted rows + your spreadsheet hour100 matched comps + report: $0.50 here + $0.72 source you pay either way = $1.22 rules only · ≈ $1.71 with the AI check · junk costs $0
Statisticsnone; Best-Offer asking prices count as salesmedian, band, trend, list and max buy price

The direct eBay comps rivals (Store, 2026-09-27) — 100 clean comps, like for like (≈ 180 raw rows):

ActorUsers / 30 dFailPricing100 clean comps, all in
This Actor (eBay Sold Listings Comps AI)new0 %$0.005 / clean comp, $0.01 AI-checked, 25 free$1.22 rules · $1.71 AI (source included)
midwest_united/ebay-sold-comps36.5 %$0.02 / comp + $0.10 / report$2.10
marielise.dev/ebay-sold-listings-intelligence132.0 %$0.025 per row$2.50
xtracto/ebay-sold-comps-scraper55.1 %$0.03 per row + $0.005 start$3.01
khadinakbar/ebay-sold-comps-analytics-scraper38.7 %$0.005 / raw item + $0.05 / report$0.95 for 180 raw rows + your cleanup
memo23/ebay-search-scraper-ppe2212.0 %$0.005 / raw row + $0.02 summary + $0.02 start$0.94 for 180 raw rows + your cleanup

💸 A Terapeak alternative and a ZIK Analytics alternative

ToolCostLacksWhere it wins
Terapeak (eBay Seller Hub)freeAPI, schedule, alerts, lot / variant cleanup, max buy price — one manual search at a time3 years of eBay data, active-listing counts
130pointfreethe same, and no medianaccepted Best-Offer prices (cards) — eBay's sold data shows the asking price
ZIK Analytics PRO$39.9 / month (pricing, checked 2026-09-27)a seat, manual lookupsproduct research beyond comps

A weekly 5-item watchlist here: ≈ $7 / month rules only, ≈ $10 with the AI check.

💵 Pricing — what a run really costs

EventWhen it is chargedPrice
free-tieryour first 25 clean comps, any mode$0.00
qualified-comp-basica clean comp scored by the rules (AI off, or a clear match the AI skipped)$0.005
qualified-comp-aia clean comp the AI checked: verdict, attributes, defects$0.01
price-reporta keyword's PRICE_REPORT when fewer than 10 of its comps are delivered in the run (free with 10+)$0.03

One free tier: when the AI is unavailable, rule-scored comps use your 25 free comps too, except the last 5, kept so you still see the AI tier free.

Never charged: rejected rows (counted per reason in OUTPUT.rejected), sales you already received, the demo, the digest. Platform compute is included.

How that compares — 1.33× the $0.00375 median of the Store's "ebay sold listings" Actors, which bill raw rows; one clean comp replaces 1.8 raw rows ($0.0068) plus the cleanup. Comps rivals charge $0.02–0.03: 4–6× more.

Worked example — 1 keyword × 100 sold rows: $0.40 source on your account → 56 clean comps. AI off: 56 × $0.005 → $0.68 (≈ $0.012 for each clean comp). AI on: 42 used / borderline comps × $0.01 + 14 × $0.005 + ≈ $0.06 tokens → $0.95 (≈ $0.017 each). Your first 25 comps are free.

AI tier, all in: ≈ $0.0114 per AI-checked comp ($0.01 + ≈ $0.0014 tokens, estimate) — 2.3× the basic comp.

🤖 What the AI tier adds

The AI reads item specifics and the seller's text against your item. The same comp, AI off (the demo run):

{"title": "Nintendo Switch OLED 64GB Neon Red/Blue - Tested, Works Great", "unitPrice": 211.5, "score": 95,
"attributes": {"model": null, "storage": null, "color": null}, "aiAssessment": {"verdict": null}}

AI on (qualified-comp-ai) — the row the AI example run of 2026-10-16 wrote with an own Gemini key (6 of 8 comps AI-checked, 1 more rejected), checked against "Nintendo Switch OLED console with dock and Joy-Cons, working, any colour":

{"title": "Nintendo Switch OLED 64GB Neon Red/Blue - Tested, Works Great", "unitPrice": 211.5, "score": 100,
"fitScore": 100, "attributes": {"brand": "Nintendo", "model": "Switch OLED", "storage": "64GB", "color": "Neon Red/Blue"},
"aiAssessment": {"verdict": "exact", "confidence": 1.0, "severity": "none", "model": "google:gemini-3.5-flash-lite",
"reason": "The title matches the exact Nintendo Switch OLED console with dock and Joy-Cons in working condition."},
"aiModel": "google:gemini-3.5-flash-lite", "defects": []}

With Apify's model access it runs on anthropic/claude-haiku-4.5, with your own key on google:gemini-3.5-flash-lite unless you set llmModel; without either, the demo shows these verdicts labelled aiModel: "sample", never charged. It saves opening each borderline listing (20–30 s each).

⚙️ Input

Type your item into keywords, describe it in itemDescription, set minScore and the caps — the rest has a default.

Flags

Names for targetFlags (belowP25 works too) — only comps with one are delivered; an unknown name stops the run.

📤 Output

One dataset item per new clean comp — the demo row from above:

{"itemId": "300000000010", "url": "https://www.ebay.com/sch/i.html?_nkw=Nintendo+Switch+OLED+Console+Neon+-+minor+scratches+on+screen&LH_Sold=1&LH_Complete=1", "keyword": "nintendo switch oled",
"title": "Nintendo Switch OLED Console Neon - minor scratches on screen", "conditionBucket": "used",
"endedAt": "2026-09-16", "unitPrice": 199.0, "currency": "USD", "matchVerdict": "exact",
"bucketMedian": 219.0, "priceVsMedianPct": -9.1, "isBelowP25": true, "score": 95, "label": "hot",
"suggestedPriceNote": "Sold 199.00 USD on 2026-09-16 (used) — 9.1 % below the 219.00 USD used median.",
"chargedEvent": "demo", "dedupeKey": "ebay:ebay.com:300000000010"}

Upsert key: dedupeKey — ebay:<site>:<itemId>, the key of the cross-run memory; itemId is eBay's item number.

Views: Shortlist, Comps sheet (CSV), AI match check. Next to OUTPUT: PRICE_REPORT (generatedAt, demo, reports — one per keyword), a DIGEST (what changed since the last run — OUTPUT.trend) and a client-ready REPORT page. Outcomes: Run outcomes; AI-on runs say "N AI-assessed (model; D delivered, R rejected), M rule-scored (reasons)" — OUTPUT.aiCoverage, the reasons add up.

⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.

🔁 Run it weekly

  1. Actions → Save as a new task → Schedule after a real run (input: OUTPUT.scheduleInput), with notifyEmail — every run mails the median per keyword and its change vs the last run, then the new comps.
  2. Keep dedupeAcrossRuns: true — the next run charges only new sales; the report still uses every clean one. Each run adds to the price history of the search: OUTPUT.history, a median-per-run chart on the REPORT page and a sparkline in the digest.
  3. slackWebhookUrl / discordWebhookUrl post the same digest. Deal alerts: alertOnly: true posts only when a new sale lands under your max buy price or a median moves ≥ alertMedianMovePct (10 %) — OUTPUT.alerts.
  4. Into a sheet: import the n8n workflow (Monday → run → Google Sheet upsert on dedupeKey → Slack) and the Sheets template; or webhookUrl per comp.

Weekly cost of 5 items (daysToScrape: 7, maxSoldPerKeyword: 50, maxDiscoveryChargeUsd: 1): $1.00 source → ≈ 135 new comps = $0.68 → ≈ $1.68 / week rules only, ≈ $2.32 with the AI check (estimates).

🎯 Try it for your niche

NicheWhat it looks forInput
Console flipperthree consoles, lots normalized, shipping + profitpreset-console-flipper.json
Phone resellerexact storage, no Max / Mini / Pluspreset-phone-reseller.json
Card collectorone graded card, 90 days, deal alertspreset-card-collector.json

Paste one into the Input tab's JSON view, add notifyEmail, press Start.

🔌 Integrations, automation and API

  • Webhook — each new comp, then one comps.report per keyword (payloads below); a failed POST never fails the run.
  • Google Sheets / Slack — the Integrations tab. Discord — discordWebhookUrl, or a /comps <item> bot for your group (recipe).
  • AI agents / MCP — plain typed fields. First call = the free trial: {} runs the free demo.

Use it from Claude, ChatGPT or any MCP client:

{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/ebay-sold-comps-ai"}}}

Then ask: "Run ebay-sold-comps-ai with no input (free demo), then price iphone 13 pro 128gb with maxDiscoveryChargeUsd: 0.5 — median and max buy price?"

List-mode rows — what a pasted record needs

list and dataset mode run on any plan, with rows of any eBay sold scraper.

Run outcomes — what your integration sees

👥 Who is it for?

You are…You run it to…Start with
A reseller / flipperknow what this exact item sells for and the most you can paykeywords + targetProfit, shippingCost
An eBay seller pricing inventorylist at the price that sells in your conditionkeywords + keepConditions: ["used"]
A consignment shop / agencya price band per client item, one memory per clientkeywords + dedupeStoreName + the REPORT link
A collectibles buyera weekly watchlist that pings on a dealdaysToScrape: 90 + alertOnly + notifyEmail

🧠 How the AI works

  • Grounded, not generative. One listing → a typed verdict (exact / variant / accessory / parts / lot / unrelated), confidence, attributes, defects — each a substring of the listing, else dropped. The model never writes a price.
  • Tokens only where they matter: borderline sales (rule score 40–90) and used / open-box matches, best first.
  • Model: anthropic/claude-haiku-4.5 via Apify's model access, or llmProvider: "byok" (default google:gemini-3.5-flash-lite). Fallback: a model error keeps the rule score, verdict and defect lexicon.

🔒 Data, compliance and limits

  • Public sold listings only, fetched on your account; no login; not affiliated with eBay. 8 sites, 1–6 keywords, up to 90 days, one currency per report. Keep your use within eBay's terms and GDPR / CCPA.

❓ FAQ

What will my first real search cost? At most $0.50 on the eBay search (1 keyword × 100 rows = $0.40), then ≈ 56 clean comps — 25 free, the rest $0.005 ($0.01 AI-checked).

Is this an eBay sold listings search or an eBay sold listings scraper? Both: it runs eBay Sold Listings Search on your account and adds the cleanup, the match check and the price report; rows of any eBay sold listings scraper work in dataset / list mode.

What is the eBay sold price of my item — is this an eBay price checker? Yes: the status and PRICE_REPORT give the median per condition, the list price and the max buy price, built on clean comps only.

Are these eBay sold comps good reseller comps for flipping? Yes — only exact matches, per condition, with sell-through and trend; set targetProfit and the max buy price is your bid limit.

Why pay when Terapeak or 130point is free — and how is this different from ZIK Analytics? Terapeak and 130point are free, manual, one search at a time — no API, schedule, alerts, lot / variant cleanup or max buy price; 130point wins on accepted Best-Offer prices, which eBay's sold data (and this Actor) cannot see. ZIK Analytics PRO is $39.9 / month; a weekly 5-item watchlist here is ≈ $7 / month rules only, in your own sheet.

How long does a run take? Demo: 0.1 s for 16 rows (measured, OUTPUT.timing). Live: the source run (≈ 1–2 min per 100 rows) + ≈ 1 s per AI-checked comp with Apify's model access (estimates). Own key (llmProvider: byok): 2 calls at a time, one after a rate limit, AI stops after 2 min of waiting (OUTPUT.timing.aiBackoffSecs); a free-tier key checked 2 of 9 comps in 103 s (measured) — expect 1–3 AI checks per run, a second pass retries the borderline comps one at a time; a paid Groq / Gemini key checks every comp. Worst case with a slow own key: ≈ 25 min per 100 borderline comps, stopped before the run's own timeout (3600 s) — pass timeoutSecs 3600 to .call().

Which Apify plan do I need? Any plan runs the demo and dataset / list mode; the live search runs a Store Actor and the built-in AI uses Apify's model access — without them, use list mode and your own key.

🧩 More Actors from the same developer

Not quite your use case? The same pay-per-qualified-result model, for the same e-commerce buyers:

🆘 Support

Something missing or wrong? Open an issue on the Actor's page or message the developer through the Apify Console — requests from buyers are shipped first.

📝 Changelog

One line per published build, newest first. Next: a deal finder (live listings under your max buy price), a batched AI check, bulk SKUs.

  • 0.3.4 (2026-10-16) — On a plan without Apify's model access, your first 5 real comps now get a live AI match check on us, so you see the AI tier on your own item before adding a key; If the eBay source ever changes its data format, the run now stops with a clear reason and charges nothing, instead of finishing with an empty "nothing matched" result; Sample rows in the free demo now link to eBay's sold search for that listing instead of an item page that does not exist.
  • 0.3.3 (2026-10-04) — Bring your own data: send rows in itemsList or a dataset ID in datasetId and the Actor picks the mode itself, starts no source Actor and charges only for the analysis. Fields it cannot read are listed in the run log instead of being dropped silently.
  • 0.3.2 (2026-09-27) — clearer Store page.
  • 0.3.1 (2026-09-27) — card grades (grade, byGrade); price history; Discord digest; price-report $0.03 under 10 comps; an AI second pass for rate-limited own keys.
  • 0.2.1 (2026-09-27) — deal alerts (alertOnly); sample AI verdicts on every plan; shippingCost / targetProfit; matchScore dropped, use score; OUTPUT.sourceStatus.
  • 0.1.1 (2026-09-26) — first public release — clean eBay sold comps, the free price report and the AI match check.