A screenshot API you can self-host. GET /take?url=... returns the image bytes directly, so it works in an Removes cookie banners, ads and popups, reads the same page as clean Markdown, and flags blank captures instead of counting them as success. Open source (AGPL), runs with docker compose, tested against 202 real websites. Hosted version is the same code: 500 free renders a month, no card.
Hi Product Hunt, I'm Mubeen. I built this on my own.
It started because taking one screenshot with Puppeteer is twenty minutes of work, and taking a few million is a completely different job. What surprised me was how little of it looked broken. Almost nothing crashed. The failures were a 200 OK with the wrong picture in it: a cookie wall, a half-loaded page, a blank white frame. A pipeline files that as a success and nobody notices for a month.
So I built a benchmark of 202 real websites and ran every change against it. That changed the product. It now removes consent banners with a watcher installed before the page's own scripts run, because many sites inject the banner late. It stops waiting for network idle, because plenty of pages never go idle and that alone caused 18 timeouts. It sets a header when a capture looks blank instead of pretending it worked. And it returns the same render as clean Markdown, which turned out to be what people building agents wanted.
It's open source (AGPL) and self-hosts with docker compose. The hosted version is the same code, 500 free renders a month, no card.
What it doesn't do, on purpose: video, proxy rotation, and getting past captchas. A bot wall comes back as a picture of a bot wall.
Known issues, up front: full-page captures of sites with sticky headers show the header stamped partway down, and it's one server in one region with no SLA yet.
Happy to answer anything. Especially interested if you try it on a page that breaks it.