Everything you need.
One page.
How scanning works, where prices come from, how to list on eBay and CardMarket, answers to every question. No fluff.
JUMP TO A SECTION
From zero to your first listing in 90 seconds
Three steps. Nothing to configure, nothing to download to start.

Scan
Open /scan, frame the card front. The system identifies name, set, number, language and condition in about 3 seconds.

Check the price
See the eBay sold median for the last 90 days, split by condition (NM / LP / HP). Suggested price computed for your exact condition.

Publish
eBay tab → direct listing via OAuth. CardMarket tab → add to CSV and import with our browser extension.
How we recognise your card
Visual matching across 39,058 catalog cards embedded with DINOv2 + KNN. We recognise the artwork, not the text.
Frame the front
Add the back (optional)
Auto-identification
Verify the metadata
Supported languages
Both for identifying the print, and for finding sold listings on the right marketplace.
- ENEnglish (worldwide pool)
- ITItalian (ebay.it)
- DEGerman (ebay.de)
- FRFrench (ebay.fr)
- ESSpanish (ebay.es)
- JPJapanese (worldwide)
- KRKorean (worldwide)
- ZHChinese simplified + traditional (worldwide)
Identity is determined by artwork (visual matching, language-invariant). Language is a separate signal, read by Gemini from the photo itself, and selects which eBay domain we query for sold listings.
Where the suggested price comes from
No magic. Median of eBay sold listings, last 90 days, split by condition. The condition you scanned decides which bucket we use.
The sources
- Live eBay sold — Decodo HTML scrape with headless browser, up to 240 listings per query (one call covers virtually every card). 1-day cache, written only when the sample is high-confidence.
- PriceCharting — eBay.com US median converted to EUR. Shown as reference only. Removed from the suggested-price calculation in May 2026 after we verified 3× deviation on graded slabs.
- CardMarket— active listings "from" price. Shown for comparison, never used in the suggested-price calculation (active asks anchor low by design).
The condition split
Every eBay listing is tagged by seller-declared condition. The chart shows the buckets separately:
When your condition bucket has ≥ 5 sales, the suggested price is the median of that bucket. Below 5 sales we fall back to a recency-weighted target on the full raw pool, upper band ×4.90 / ×9.90.
Graded (PSA / CGC / BGS / ACE / SGC / TAG / GRAAD)
Auto-detection from the listing title. Bucketed by company + grade. When you scan a graded card we fire a grade-specific query PSA Charizard 4 10 in parallel with the raw query — keyword order (grade at the end, never at the start) is critical to catch listings that eBay tokenises poorly.
Which eBay we search
The card's language determines the domain. No eBay.it for English cards, no eBay.com for Italian ones. This avoids title auto-translation and keeps the pool clean.
Worldwide pool, prices converted to EUR per listing
Italian prints, local sellers
German prints
French prints
Spanish prints
Your listing in 10 seconds
Price, eBay SEO title, marketplace. Pre-filled, editable, no required steps.
Suggested price
Upper band of your condition's median, rounded to x4.90 or x9.90 (buyers read €34.90 better than €33.27). Editable by hand if you prefer.
SEO title
Format tested as top-ranked on eBay Cassini search:
Max 80 characters. Brand + name + number + set + variant (holo/reverse/etc) + language + condition.
Marketplace tabs
- eeBay — direct listing via OAuth (see Connect section). Uses your Template 1 for shipping, return policy, payment.
- cmCardMarket— adds the card to the CSV. Our browser extension imports it into the "List Mixed Products" page.
The CardMarket export
Add to CSV, open CardMarket, import with the extension. Never type name + condition + price by hand again.
CSV columns
- idProductThe CardMarket cm_id. When missing (unmatched card), the row is skipped by the extension.
- englishNameStandard CardMarket English name.
- localNameLocalised name when available.
- expansionSet / expansion.
- priceYour suggested price (editable).
- conditionMT / NM / EX / GD / LP / PL / PO.
- language1=EN, 2=FR, 3=DE, 4=ES, 5=IT, 7=JP, 8=ZH, 9=KR.
- isFoiltrue / false.
- isSignedtrue / false.
- isFirstEdtrue / false.
Workflow
- 1.Scan the card, click Add to export. The counter TEST (n/50) increments.
- 2.When done, Add to CSV produces a downloadable file.
- 3.Open CardMarket → List Mixed Products → install our extension → click Import CSV.
- 4.The extension matches by idProduct, fills the rows and shows a report (created / skipped / errored).
The CardBeast browser extension
The piece that imports your CSV into CardMarket without you touching a single field.
1. Install
Chrome Web Store → search 'CardBeast'. Permissions only on cardmarket.com.
2. Sign in
Open CardMarket in your account. The extension reads the session, no credentials to enter.
3. Import
Navigate to List Mixed Products → click 'Import CardBeast CSV' → select the file. Done.
All your saved scans
The /scans page keeps the history of every scan. Edit, reuse, re-export.
History
Every scan stays with its photo, identification and historical price. Search by name or filter by set.
Edit + re-export
Change condition or language after the scan; the price recomputes from the new bucket median.
Re-link to the market
Click to reopen the eBay sold panel; or add / re-add to the CSV.
Bulk operations
Select multiple scans for a single CSV export, or apply the same eBay template to all of them.
Link your marketplace accounts
Once, then listing is a single click. No on-the-fly logins, no passwords stored on our side.
- Authorise via OAuth 2.0 — no username / password on our side
- Post a new listing straight from the eBay tab
- Shipping / return / payment templates configurable in Settings
- Revoke access whenever you want from your eBay account
- No public CardMarket API: the extension automates the CSV import
- Works with YOUR browser session, never with ours
- Matches by idProduct, falls back to name when missing
- Open source, source visible
Account preferences
The things you want to configure once and forget.
Currency display
EUR / USD / GBP. Live conversion, but prices are always stored in EUR internally.
eBay templates
Template 1, 2, 3 with shipping, return, listing duration, best offer min, payment policy.
Default condition
Which condition is pre-selected on a fresh scan (default NM).
Default language
Your preferred listing language (default EN).
Listing blueprint
Customisable eBay title template, variables available: name, set, number, language, condition, variant.
Privacy
Delete account, export your data. Encrypted storage, Supabase EU region.
The questions we get all the time
Click to expand. If something is missing, reach out from the Support button in the mobile menu.
Today: Pokemon (full coverage — 39,058 embedded cards, all modern EN sets + popular Japanese sets + historical Black Star Promos).
Roadmap: One Piece (Q2 2026), Magic: The Gathering (Q3-Q4 2026), Yu-Gi-Oh, Disney Lorcana. The architecture is game-agnostic — DINOv2 works on any TCG artwork.
On our validation harness (perturbation matching): top-1 strict 76%, top-1 variant-aware 97.5%, top-5 100% across 500 random cards.
In real-world scans (phone camera, varied lighting, sleeves, partial fingers) accuracy is lower than the benchmark, compensated by Gemini OCR as tie-breaker + a manual "Wrong item?" picker whenever confidence is below 0.9.
Known edge case: vintage promos without a catalog embedding → graceful fallback to OCR-only, no wrong cards but fewer listings in the pool.
EN/EU vintage: yes, ~70% coverage (incl. WotC base, Jungle, Fossil, Team Rocket, Neo, e-Reader, EX block, DP era).
Black Star Promos: yes, every set (DP, BW, XY, SM, SWSH, SV, HGSS) is embedded. Dialga LV.X DP17, Mew DP24, Charizard DP43 etc. are identified by artwork, not by OCR text (which often fails on stylised collector numbers).
Japanese / Korean / Chinese: visual identification works; image coverage is still partial (JP ~13%, KR ~30%, ZH ~0%). We're working on the set-equivalence mapper for the borrow-from-EN pipeline.
No, the suggested price is the net sold price of the eBay listing, no shipping. The mix includes EU and US sellers, so it's already de facto neutralised against local shipping costs.
14-day Redis cache per card + condition + language. After 14 days we refetch live and the price may change if new sold listings have appeared (very common on popular cards).
If you want to force a refresh, change the condition or language and switch back: bypasses the cache.
Auto-detection from the eBay listing title (regex on PSA 9, CGC 8.5, BGS 10 Black Label, plus every other company — ACE, GRAAD, SGC, TAG, AGS, etc., company-agnostic).
Separate buckets per company + grade. The graded suggested price uses the exact bucket median (PSA 9 ≠ PSA 10 ≠ CGC 9), never mixed with raw or with other grades.
Yes. The CSV → extension → CardMarket import flow works independently of the eBay OAuth. Connect eBay only if you also want to publish directly there.
Depends on the plan. See the pricing page. Free trial includes 50 CSV listings + 50 eBay scans.
No, never. Our extension reads your browser session on cardmarket.com. Nothing passes through our servers. Open source, you can audit the code.
Stripe checkout: credit card, Apple Pay, Google Pay. SEPA Direct Debit for annual plans. No PayPal at the moment (high fees on micro-transactions).
Settings → Privacy → Delete account. Hard deletion within 7 days, no soft-delete. You can export your data (full CSV of scans + listings) before deletion at any time.
eBay sold listings = what people HAVE paid. CardMarket "from" price = the lowest ACTIVE ask.
They're different numbers by design. The suggested price we give you is based on sold (eBay), which is what matters for understanding what you actually sell for. We show CardMarket "from" as a reference of the active market floor.
No, but the site is fully responsive and PWA-installable. iOS Safari → Add to Home Screen; Android Chrome → Install app. The scan flow works perfectly from phone (native camera, high-quality photo).
Technically yes (you can upload a manual CSV), but the scan is the tool's core value — recognise, price, list in 90 seconds. Without scanning you're back on the manual CardMarket-only workflow.
Not public at the moment. If you need one, reach out via Support: for power-sellers with > 1,000 listings / month we can discuss API access.

Ready to list your first?
90 seconds from photo to live listing. Free trial, no credit card required.
