Screenshot-as-a-Service for OSINT and CTI
This project began as a simple experiment. Could I create a small Python service that captures screenshots of websites, including .onion sites, via a Tor proxy?
The result is a minimal Flask API that uses Selenium to wrap headless Chrome. 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 a Caddy reverse proxy.
For open source intelligence (OSINT) and cyber threat intelligence use cases, this kind of tool can be useful for documenting phishing pages, defacements, dark web storefronts, or any site that 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 inspiration for something more advanced.
Project repo: https://github.com/sbroekhoven/screenshot-api
Example:


