Since March 2023 we've been screenshotting every story that reaches the Hacker News front page. The old site at hn.urlbox.io did one job: show today's front page as a grid of screenshots. We've rebuilt it as hn.urlbox.com and made it a lot more useful.
What you can do with it
- See the front page right now, in the same order as Hacker News, with a screenshot of every link.
- Go back to any day. Every front page since March 2023 is there, so you can see what everyone was reading on a given date.
- Watch a site change over time. Each domain has its own page. Pick one that shows up often, like github.com, and you get its redesigns in date order.
- Browse by topic. Every new story gets a category, a few tags and a one-line summary, so you can read just the security or hardware stories.
- Search by what a page looks like. Search covers titles, page text and summaries, and it also searches the screenshots themselves. Try "dark landing page with a terminal" or "hand-drawn diagram".
- Find similar pages. Each story page lists other stories whose screenshots look like it.
That adds up to over 115,000 stories and nearly 300,000 screenshots, with about 60 new stories added each day.
How it works
A worker checks the Hacker News front page every 15 minutes. For each new story it asks Urlbox for two renders: one 1920×1080 viewport shot for the grids, and one full-page shot for the story page. Both run in the background, and Urlbox calls a webhook when each one is ready.
These are the options for the viewport shot:
{
"url": "https://example.com",
"format": "jpg",
"width": 1920,
"height": 1080,
"thumb_width": 960,
"quality": 80,
"block_ads": true,
"hide_cookie_banners": true,
"click_accept": true,
"save_markdown": true,
"save_metadata": true,
"use_s3": true
}block_ads, hide_cookie_banners and click_accept matter more than anything else here. Without them, a lot of the front page would be screenshots of cookie banners. save_markdown returns the page text alongside the image, so the site can summarise and search it without fetching the page again. use_s3 saves the files to our own bucket, which keeps every screenshot from the old site in the same place.
The full-page shot uses the same settings at 1280 wide, with full_page on and a 12,000px height cap so a very long page can't produce a huge file.
When the viewport shot arrives, Claude reads the page text and assigns the category, tags and summary. Then a multimodal embedding model turns the screenshot and the text into vectors. That's what lets you search screenshots with words and find stories that look alike.
Build your own
Everything above uses the standard Urlbox screenshot API: async renders, webhooks, markdown output and your own storage. If you want to track how a set of sites changes over time, or build a visual archive of any feed, it's the same few options. Start a 7-day trial and try it.
Or just go and look at what Hacker News was reading the day you last shipped something: hn.urlbox.com.
