67 comments

[ 3.6 ms ] story [ 107 ms ] thread
US government auctions are scattered across at least 28 platforms. GSA sells decommissioned federal fleet. DLA Disposition moves military gear. The US Marshals front seized property through bid4assets. PublicSurplus runs school district and state-agency lots. GovDeals fronts thousands of county and municipal agencies. Fannie Mae and HUD auction foreclosed homes. None of these sites index together, and most have search UX that lost a fight with 2008.

So I scraped them all and put one search box in front. 180,276 active listings as of today, normalized into a shared schema in Postgres with full-text search. About 53,000 new listings come in every week.

A few real things you can buy this week, all live in the data:

- A 2000 Bell 430 helicopter (executive model), $250k starting, 0 bids: https://www.govdeals.com/asset/8103/23762

- A 1985 Cessna 182R aircraft in Missouri, $33k starting, 0 bids: https://www.govdeals.com/asset/36476/430

- An M75 APC armored personnel carrier on Ritchie Bros, no bids yet: https://www.rbauction.com/pdp/armored-tank-m75-apc-personnel...

- A Rolls-Royce ship thruster, never used, $500k starting: https://www.govdeals.com/asset/247/16144

- A 2.3 kg iridium-platinum ingot (police seizure on PropertyRoom), 52 bids, currently $175k: https://www.propertyroom.com/l/iridium-platinum-ingot-ir90-p...

- A 1927 Seagrave fire truck, "runs, drives, and titled," $24k, 0 bids: https://www.govdeals.com/asset/285/16223

- A truck-mounted forklift from a manufacturer literally named "Donkey & Burro": https://www.govplanet.com/for-sale/Forklifts/14842632

The work that took longest wasn't the scraping (each source has its own quirky JSON or HTML), it was the dedup. The same Fannie Mae foreclosure shows up under three different addresses across three platforms. A "2008 Ford F-150" from GSA Fleet looks structurally identical to one from PublicSurplus, but they're different vehicles with different VINs, and the only way to know is to fingerprint enough metadata to make a confident match.

There's a deal score per listing (price vs category median, bid velocity, time remaining, starting-bid ratio) and SEO landing pages per state-by-category combo, mostly because long-tail government-auction queries on Google are nearly all unanswered.

Stack: Next.js, Postgres, TypeScript scrapers per source, daily refresh.

Happy to answer questions about scraping the federal sites (some of them really do not want to be scraped) or how the deal scoring works.

First thing I searched was Pokemon cards and found items with bids at 50% higher than market value...either shill bidding or folks who are bidding blindly.
Server load issues? Home page loads. Individual states don't seem to.
Caught me with the state pages doing live aggregates per request. Spent yesterday pre-rendering them and tuning the ISR caches. Should feel sharper now.
Clone of "GovAuctions" from 3 weeks ago? https://news.ycombinator.com/item?id=47662945
Hadn't come across govauctions.app before today. Idea came out of a weekly idea bot I run; turns out the same gap was obvious enough that two of us built for it within a few weeks. Well done player_piano!
You need to cache search queries.
Yes, queries are wrapped in unstable_cache (using Next.js) (5min TTL); the box was state landing pages doing aggregates uncached. Pre-rendered those overnight.
US Gov auctions are great when you want 400 of something broken or want to travel through 3 states for a $1000 mil-spec kitchen sink.
Cool idea, I tapped the vehicles / heavy equipment tabs expecting to be taken to listings. Nothing happened. Maybe these should all take you to a page that lets you sign up to see listings?
Fixing today. Categories should render an empty state with a signup prompt rather than a blank page.
Can I finally find a cosmoline packed Jeep in the original crate for $50? /s

I wish I had jumped on those offers back when they were in the back of Boys Life, Popular Mechanics, and SOF magazines back in the day.

Not responding on states links. Maybe increase the cache and add another compute to server scaling
Should be working better now.
Looks like you got the Hacker News hug of death. "Oops Something went wrong

The server is under heavy load. Please try again in a moment. "

Nice execution. How are you handling deduplication when the same asset shows up on multiple sites?
Missed the District of Columbia
(comment deleted)
Great idea. Seems to be experiencing the hug of death at the moment, though.
Tuned the ISR cache, should be quicker now!
I'm loving how the deal of the day is a golf cart. https://bidprowl.com/deal-of-the-day/2026-04-30
Deal of the Day is whatever scored highest yesterday. Sometimes glamorous, often a golf cart.
Search just seems broken for me. I get

> Error: Invalid frameId for foreground frameId: 0

on Chrome 147.0.7727.102

Maybe some chrome extension causing this on your end?
Didn’t a site like this just show up a few weeks back on here? What is the interest in government auction sites?
I chose 'Colorado' from the state dropdown and got a blank page. Does the site work at all?
Sorry about that. State pages were doing live aggregates per request and the HN spike killed them. Pre-rendered overnight; Colorado loads instantly now.
I almost bought a lighthouse 25 years ago off of a GSA auction. I'm glad my bid lost because I didn't read the fine print carefully about how much the upkeep would cost.
The site is slow as hell. I've been waiting for 3 minutes and haven't had results.
Caught me with the state pages doing live aggregates per request. Spent yesterday pre-rendering them and tuning the ISR caches. Should feel sharper now.
Any plans for RSS feed(s)? Would love to passively track the auctions in this manner. Per state, ending soon etc. would be fantastic.
Easy ship. Will get state, category, and ending-soon feeds out this week.