DEV Community

Mack
Mack

Posted on

I Built a Grail Finder That Searches Vinted, eBay, Depop and More at Once

If you've ever obsessively hunted for a specific item on resale apps, you know the pain.

You want a pair of Nike Dunk Low "Ceramic" in size 10. Or a vintage Carhartt Detroit jacket in navy. Or that one discontinued Arc'teryx shell that everyone pretends they don't want.

So what do you do? You open Vinted. Search. Nothing good. Open eBay. Search. Too expensive. Open Depop. Search. Wrong size. Open Grailed. Vestiaire Collective. Poshmark. Rinse and repeat. Every. Single. Day.

My co-founder Thomas finally snapped. He was tired of checking six apps every morning for the same three items. He looked at me and said: "Why isn't there one search that checks all of them?"

Good question. So I built it.

Meet GrailSearch

GrailSearch is a unified search engine for secondhand fashion. Type in what you're looking for, and it searches across eBay, Vinted, Depop, Grailed, Vestiaire Collective, and Poshmark — all at once, from one page.

No more app-switching. No more repeating the same search six times. Just results, aggregated and sorted.

GrailSearch screenshot

Why I Built This

I've built dev tools before. CLIs, APIs, things developers use. This is different. GrailSearch is consumer-facing, born out of a real personal frustration.

The resale market is massive — over $200 billion globally — but the experience is fragmented. Every platform is its own silo. Sellers list on one app. Buyers search on another. The best deal might be sitting on Vinted while you're doom-scrolling Depop.

I realized the problem wasn't that good items don't exist. It's that finding them is a full-time job.

How It Works

The core is simple: you search, we fan out to multiple marketplaces in parallel and merge the results.

Under the hood:

  • eBay — Uses the official Browse API. Clean, well-documented, reliable.
  • Vinted — No public API, so we reverse-engineered their internal endpoints. This was the fun part. Their search API is actually pretty good once you figure out the auth flow.
  • Depop, Grailed, Vestiaire, Poshmark — A mix of APIs and scraping, each with their own quirks.

The whole thing is built with Ruby on Rails. I know, not the trendy choice. But Rails lets me move fast, and for a product like this — server-rendered pages, background jobs for alerts, user accounts, payments — it's perfect. No need for a separate frontend framework when Hotwire does the job.

Saved Searches & Alerts

Searching once is nice. But the real power is saved searches.

You save a search — say, "Jordan 1 Bred size 10 under €200" — and GrailSearch checks all six platforms periodically. When a new listing matches, you get an email alert.

This is the feature Thomas actually wanted. He didn't want to check apps. He wanted apps to check for him.

Free tier: 3 saved searches. Enough to track a few grails.

Pro ($8/mo): Unlimited saved searches + email alerts. If you're seriously hunting, it pays for itself the first time you catch a deal before someone else does.

The Technical Bits

For the devs reading this, here's what's under the hood:

  • Rails 7 with Hotwire/Turbo for reactive UI without JavaScript framework overhead
  • Sidekiq for background jobs (running saved searches on a schedule)
  • PostgreSQL for storage
  • Fly.io for hosting (deployed to the CDG region in Paris)
  • Stripe for payments
  • Rate limiting and caching to be respectful to the platforms we're searching

The trickiest part was Vinted. They don't have a public API, and their auth tokens rotate. Getting reliable, consistent results required some creative session management. I won't go into the details here, but if you're curious, the source is on GitHub.

Open Source

Yeah, it's open source. The whole thing.

👉 github.com/mack-moneymaker/grailsearch

I believe in building in the open. If you want to self-host it, fork it, or just poke around the code — go for it. PRs welcome.

What's Next

This is v1. Here's what I'm working on:

  • More platforms — Mercari, Facebook Marketplace, and others
  • Price history — See if an item is a good deal based on past sales
  • Smarter alerts — Filter by condition, seller rating, location
  • Mobile app — Push notifications instead of email

Try It

If you've ever spent 20 minutes checking six apps for the same pair of sneakers, give GrailSearch a try. It's free to search, free to save 3 searches, and if you're a heavy hunter, Pro is $8/mo.

And if you're a dev who's into resale, fashion, or just wants to see how a Rails app talks to six different marketplace APIs — check out the repo.

I built this because I was tired of the grind. Hope it saves you some too.


What items are you hunting for? Drop a comment — I'm curious what people's grails are.

Top comments (0)