Building a Marketplace alert engine.

A good used-car deal on Facebook Marketplace does not last. The listing goes up, three people message within the first few minutes, and the car is gone by the time most buyers see it. CarSnipe is our answer to that: it watches Marketplace for you and pings your phone the second a matching car appears. This is how we built it and where it stands now.
What problem does CarSnipe solve?
CarSnipe solves the fact that Facebook Marketplace has no real alerting. You can save a search, but you still have to open the app and refresh to see anything new, and by then the deal has usually been claimed. The person who contacts the seller first almost always wins. So the whole problem reduces to one number: how fast can a buyer find out that a matching car just got listed?
Facebook's own saved-search notifications are the thing to beat, and they are not hard to beat. They arrive hours late when they arrive at all. Everything else in the product follows from closing that gap.
How does CarSnipe work under the hood?
There is no scraper farm. CarSnipe ships as a browser extension, built for Chrome and Firefox, that runs in the buyer's own browser on the Facebook session already logged in there. It pairs to a Telegram bot that handles setup and delivery. You connect the two once with a code, tell the bot what you are hunting, and the checks start.
The extension is Manifest V3, so there is no long-lived process to keep alive. A background service worker wakes on an alarm, does one pass, and goes back to sleep, which is the grain of the platform rather than a workaround for it. Pro checks every 3 minutes, Basic every 15. When a pass turns up something that was not there last time, the extension diffs it against everything it has already seen, throws out the repeats, and sends one Telegram message with photo, price, mileage, distance, and drive time. The Telegram bot and the subscription side run on Python; nothing in the browser sends a Facebook credential to either.
Why the watching happens on your machine and not ours
The first version ran the way most people would build it: our servers, our browser workers, buyer credentials sitting in our database. It worked, and both of those facts were problems. Credentials we hold are credentials we can lose, and a pool of server IPs hitting Marketplace all day is exactly the traffic pattern that gets throttled.
Moving the checks onto the buyer's own browser solved both at once. The session was already there and already trusted, so there is nothing for us to store, and the traffic looks like a person browsing Marketplace because it is a person's browser doing the browsing. What stayed on the server is the part that benefits from being central: the Telegram bot, subscriptions, and alert history. Nothing that runs locally sends a Facebook credential anywhere.
The trade is real and worth naming. Checks only happen while the browser is open, so the product depends on the buyer leaving it running. That is what it costs to not hold anyone's password, and we would make it again.
Keeping it fast and keeping it quiet
Cadence alone is not the product. A check that hammers Marketplace gets noticed, so passes are paced to look like ordinary browsing rather than a bot storm, and alerts are de-duplicated so the same car never pings twice. Pro accounts also get a message when a saved listing drops in price, which is often the better signal: a seller who has already cut the number twice is a seller who wants it gone. From the chat you can mute one search while you are out test driving, and quiet hours stop anything buzzing at 3am.
How many people use CarSnipe?
CarSnipe runs for more than 425 paired accounts and has delivered over 19,100 alerts. Both counters read live off the production database. It is a paid product: 9.99 dollars a month for Basic, which covers two searches on a 15-minute check, and 24.99 for Pro, which is unlimited searches, the 3-minute check, and price-drop alerts. Every new account starts with 7 days of full Pro access.
What do the measured numbers look like?
The product side and the site side are measured separately, so here is each with its source and its date. Everything below is as of 28 July 2026.
- Check cadence: 3 minutes on Pro, 15 on Basic, held by the extension's own alarm rather than by a best-effort queue. The comparison worth making is Facebook's own saved-search notification, which arrives hours late when it fires at all.
- 425+ paired accounts and 19,100+ alerts delivered as of 20 August 2026, counted from the production database and shown live on carsnipe.com rather than typed into a page once and left there. Both figures on this page are re-read off those counters when the page is revised.
- carsnipe.com took 801 clicks against 67,750 impressions across 186 pages in the 28 days from 28 June to 25 July 2026. Source: the Search Console Search Analytics API. Click-through is deliberately the number we watch here, because impressions on a brand-new product site are cheap and clicks are not.
- 436 recommendations generated, 399 implemented since the site was connected to ConceptSEO on 9 March 2026, the same weekly cycle described in the ConceptSEO case study.
- Lighthouse mobile on 28 July 2026: 90 performance, 97 accessibility, 100 best practices, 100 SEO, with largest contentful paint at 2.89 seconds and cumulative layout shift at 0.009. Source: PageSpeed Insights via ConceptSEO.
It is a live product with our name on it, not a prototype we shelved.
Did any of it move?
The counters above are totals. This is the same site measured twice, over two consecutive 28-day windows, read on 11 August 2026.
| Measure | 14 Jun to 11 Jul | 12 Jul to 8 Aug | Change |
|---|---|---|---|
| Clicks | 587 | 863 | +47.0% |
| Impressions | 60,185 | 74,509 | +23.8% |
| Pages earning impressions | 217 in the later window | — | |
Clicks grew faster than impressions, which is the direction we want on a product site: the extra visibility converted rather than just accumulating. What this is not is proof of cause. The site was live, the product was being marketed, and the weekly SEO cycle was running, all at once and with no control group. Totals are summed from page-level rows, which Search Console filters, so treat them as floors.
What this means for a build of your own
CarSnipe is a small, sharp example of the work we do: browser automation that has to survive the tab being closed and reopened, and Telegram delivery that has to be both fast and reliable. If you have a monitoring or alerting problem where being first is the entire value, an extension paired to a bot is what we would reach for, and we build trading and alerting bots like this one on commission. We build these as products we run ourselves, then bring the same discipline to a handful of client projects a year, including our AI-powered web app builds where a pipeline has to survive real users rather than a demo. You can also read how we get our own products cited in AI search for a different slice of the same approach.
Is being first the whole value?
Monitoring, scraping, or real-time alerting where a few minutes decides the outcome. That is squarely the kind of build we take on.