eBay Sold Listings Comps AI: Price Checker & Max Buy Price
Pricing
from $5.00 / 1,000 clean comp (rules only)s
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
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

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
itemsListor a dataset ID indatasetIdand 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 get | eBay sold comps that match your exact item + a price report: median, band, sales per day, trend, list and max buy price |
| You provide | the item as a keyword, e.g. iphone 13 pro 128gb (1–6 per run) |
| Typical run | 100 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 / setup | Plan 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 tier | first 25 clean comps per account |
| Which plan | Free demo and your own list (list mode, template): any plan · live search: a plan that runs Store Actors |
| Works with | Schedules, 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
- Click
Try it— the form runs the free demo on 16 sample sold listings; it works as is. - 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 initemDescription, leaveenableAion: your first 5 comps get live AI checks on any plan; all 25 free comps with Apify model access or a paid own key. - Press Start — best matches first; the status says the median.
- Schedule it weekly (Actions → Schedule) with your address in
notifyEmail— only new sales are charged.

📚 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 for | every sold row, parts and lots included | clean comps only — junk and repeats cost $0 |
| Same 100 comps, all in | $0.72 for ≈ 180 unsorted rows + your spreadsheet hour | 100 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 |
| Statistics | none; Best-Offer asking prices count as sales | median, 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):
| Actor | Users / 30 d | Fail | Pricing | 100 clean comps, all in |
|---|---|---|---|---|
| This Actor (eBay Sold Listings Comps AI) | new | 0 % | $0.005 / clean comp, $0.01 AI-checked, 25 free | $1.22 rules · $1.71 AI (source included) |
midwest_united/ebay-sold-comps | 3 | 6.5 % | $0.02 / comp + $0.10 / report | $2.10 |
marielise.dev/ebay-sold-listings-intelligence | 13 | 2.0 % | $0.025 per row | $2.50 |
xtracto/ebay-sold-comps-scraper | 5 | 5.1 % | $0.03 per row + $0.005 start | $3.01 |
khadinakbar/ebay-sold-comps-analytics-scraper | 3 | 8.7 % | $0.005 / raw item + $0.05 / report | $0.95 for 180 raw rows + your cleanup |
memo23/ebay-search-scraper-ppe | 221 | 2.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
| Tool | Cost | Lacks | Where it wins |
|---|---|---|---|
| Terapeak (eBay Seller Hub) | free | API, schedule, alerts, lot / variant cleanup, max buy price — one manual search at a time | 3 years of eBay data, active-listing counts |
| 130point | free | the same, and no median | accepted 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 lookups | product research beyond comps |
A weekly 5-item watchlist here: ≈ $7 / month rules only, ≈ $10 with the AI check.
💵 Pricing — what a run really costs
| Event | When it is charged | Price |
|---|---|---|
free-tier | your first 25 clean comps, any mode | $0.00 |
qualified-comp-basic | a clean comp scored by the rules (AI off, or a clear match the AI skipped) | $0.005 |
qualified-comp-ai | a clean comp the AI checked: verdict, attributes, defects | $0.01 |
price-report | a 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
- Actions → Save as a new task → Schedule after a real run (input:
OUTPUT.scheduleInput), withnotifyEmail— every run mails the median per keyword and its change vs the last run, then the new comps. - 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 theREPORTpage and a sparkline in the digest. slackWebhookUrl/discordWebhookUrlpost the same digest. Deal alerts:alertOnly: trueposts only when a new sale lands under your max buy price or a median moves ≥alertMedianMovePct(10 %) —OUTPUT.alerts.- Into a sheet: import the n8n workflow (Monday → run → Google Sheet upsert on
dedupeKey→ Slack) and the Sheets template; orwebhookUrlper 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
| Niche | What it looks for | Input |
|---|---|---|
| Console flipper | three consoles, lots normalized, shipping + profit | preset-console-flipper.json |
| Phone reseller | exact storage, no Max / Mini / Plus | preset-phone-reseller.json |
| Card collector | one graded card, 90 days, deal alerts | preset-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.reportper 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 / flipper | know what this exact item sells for and the most you can pay | keywords + targetProfit, shippingCost |
| An eBay seller pricing inventory | list at the price that sells in your condition | keywords + keepConditions: ["used"] |
| A consignment shop / agency | a price band per client item, one memory per client | keywords + dedupeStoreName + the REPORT link |
| A collectibles buyer | a weekly watchlist that pings on a deal | daysToScrape: 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.5via Apify's model access, orllmProvider: "byok"(defaultgoogle: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:
- Facebook Ad Library Winning Ads Finder — the products whose Facebook ads are winning right now, before you source one
- Amazon Bestsellers Scraper + AI — rising Amazon products you can still beat, to source before you check their eBay comps here
- 1688 Supplier Finder — the factory cost of an item, to set against its eBay max buy price
🆘 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
itemsListor a dataset ID indatasetIdand 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;matchScoredropped, usescore;OUTPUT.sourceStatus. - 0.1.1 (2026-09-26) — first public release — clean eBay sold comps, the free price report and the AI match check.