Screenshot-as-a-Service for OSINT and CTI
This project started as a simple experiment: could I build a small Python service that captures screenshots of websites, including .onion sites via a Tor proxy?
The result is a minimal Flask API that wraps headless Chrome using Selenium. It supports:
- Screenshotting regular or Tor-based websites
- Optional proxy and viewport control
- Basic API key authentication (not production ready)
- Some metrics
I use a Docker-based deployment, with Caddy reverse proxy.
For OSINT and CTI use cases, this kind of tool can be useful to document phishing pages, defacements, dark web storefronts, or any site you want to capture quickly and securely without using a full browser.
It’s not meant to be production-ready, but it works well as a proof of concept and as an idea for something more advanced.
Project repo: github.com/sbroekhoven/screenshot-api
