SchnappalarmDEENStart free
← All articles

Writing alert rules that catch sealed TCG — and skip singles, proxies, and bulk

Trading cards are the hardest category to filter on Kleinanzeigen, and it's not close. A single keyword — "Lorcana," "Pokémon," "One Piece" — covers sealed booster boxes and loose singles, sleeves, playmats, printed proxies, damaged bulk, empty display boxes, and "Suche"/"Tausche" posts from other buyers. The word you searched for is present in all of them; the thing you want to buy is in maybe one in ten. Set a naive alert and your phone becomes a slot machine you stop looking at.

This is a recipe for fixing that. It assumes you've already decided to filter on more than a bare keyword (the companion piece argues the why); here we get concrete about the how — how to name exactly what counts as a buy, the reject list every TCG search needs, a worked example you can adapt, and the edge cases that trip up every filter. The technique generalises to GPUs, sneakers, and anything else where meaning hides in the description, so it's worth reading even if you never touch a card.

Step 1: Name exactly what "sealed" means to you

"Sealed" is fuzzier than it looks, and the fuzziness is where junk sneaks in. Pin it down before you write a single rule. Decide, on paper:

If you can't state your "yes" in one clear sentence, no filter can enforce it. This step is the whole job.

Step 2: The reject list every TCG search needs

The recurring junk on a TCG search is remarkably predictable. Write the "no" list once and reuse it:

Step 3: Two ways to enforce these rules

You've got the "yes" and the "no." Two ways to apply them, with very different ceilings:

Keyword negatives (blunt, free, everywhere). Bake the reject list straight into the search query: Lorcana OVP -Einzelkarten -Sleeves -Playmat -Proxy -Suche -Tausche -Sammlung. This works and you should absolutely do it — most people never bother, and it alone cuts noise by half or more. Its limit is that it matches words, not meaning: exclude "einzeln" and you'll also kill the listing that says "verkaufe nicht einzeln, nur als Set" — which is the sealed lot you wanted.

Plain-language rules read by AI (nuanced, needs a tool + key). Instead of a word list, you write an instruction that a model applies to each listing's full text. It can honour "sealed, not singles, but a mostly-sealed lot is fine" because it weighs meaning rather than presence. That's the ceiling keywords can't reach. (One honest limit: reliable filtering reads the listing text — title, description, price. Treat "the AI judges the item from the photo" as marketing until proven; image reading in this context is far flakier than vendors imply.)

Step 4: A worked example — sealed Lorcana under budget

Here's a rule block written the way you'd hand it to a text-reading filter. Adapt the set, language, and price:

Pass only listings selling sealed, unopened English Lorcana product — booster boxes, booster displays, booster bundles, or Elite Trainer Boxes — priced at or under 80€ (or 90€ if shipping is included).

Reject single cards, complete/loose decks, sleeves, playmats, binders, toploaders, and any accessory-only listing. Reject proxies, fakes, custom or self-printed cards, and anything described as opened, damaged, "Bastler," or "angespielt." Reject "Suche," "Tausche," and empty display boxes.

Ambiguous cases: if it's a mixed lot, pass it only if the description makes clear it's mostly sealed product, not a pile of singles. If the price is stated per pack rather than per box, judge against the per-box total, not the headline number. If language isn't stated but the set art or name is clearly the German print, reject.

Notice how much of that a keyword list simply can't express — the "mostly-sealed lot is fine," the per-pack price trap, the German-print exclusion. That gap between what you can say and what a filter can enforce is exactly what you're closing.

Step 5: Edge cases that trip up every filter

These recur across card searches. Decide each one on purpose instead of leaving it to luck:

The technique generalises

This isn't really about cards. The same three moves — name the yes precisely, list the predictable no, handle the ambiguous middle on purpose — fix any category where the truth lives in the description:

Anywhere a one-word search returns 80% noise, this recipe pays off.

Tune from misses

No rule set is right on day one. Every false positive that slips through and every real deal that got wrongly blocked is a line to add or soften. Keep a running note. A filter you write once and never revise slowly rots as sellers invent new phrasings; a filter you sharpen against real misses gets quietly, permanently better.

The tool I use for this

Since it's my own, plainly: I run an AI agent that watches one eBay Kleinanzeigen search and applies exactly this kind of plain-language rule to each new listing's title, description, and price, then pings my Discord only on the passes — about once a minute on the paid tier, every 15 minutes free. It uses Google's Gemini for the reading and you bring your own Gemini key. Honest scope: Kleinanzeigen-only, Discord-only, text-only (no image analysis), and — like any automated monitor — it sits in the platform's ToS/robots.txt gray area, so it polls at human-like intervals and never bids or buys; it only decides whether a listing is worth telling you about. The rules, though, are the transferable part: write them well and they'll serve you in a native saved search's negatives or any tool you like.


The agent above is Schnappalarmstart free. Describe what counts as a buy in plain language; it reads each new Kleinanzeigen listing's text and pings your Discord only on the matches. Kleinanzeigen-only, Discord-only, bring your own Gemini key.

Related