ShotOne – Screenshot API for Developers
Capture website screenshots via one API call. Supports PNG, JPEG, WebP, PDF, 18+ device presets, auto cookie removal, stealth mode, and Cloudflare R2 export.
TL;DR
TL;DR: ShotOne is a screenshot API that captures any URL as PNG, JPEG, WebP, or PDF with a single HTTP call — no Playwright server to maintain.
What Is ShotOne?
ShotOne is a developer-focused screenshot API launched on Hacker News. The pitch is straightforward: stop managing Playwright infrastructure and just call an API. It handles browser scaling, cookie banner removal, device emulation, and retries automatically.
Key capabilities from the product page:
- Formats: PNG, JPEG, WebP, PDF
- Device presets: 18+ viewports including iPhone, Android, and desktop
- Auto cookie/popup removal: Detects and hides cookie consent banners and chat widgets without extra config
- Stealth mode: Avoids bot detection patterns
- R2 integration: Screenshots can be exported directly to a Cloudflare R2 bucket
- API + Dashboard: REST API plus a web UI for testing
Pricing:
- Free: 200 screenshots per month, no credit card required
- Starter: $9/month
- Pro: $29/month
Setup Workflow
Step 1: Get an API Key
Sign up at shotone.io to receive your API key. The free tier includes 200 screenshots monthly.
Step 2: Make Your First Request
curl -X POST "https://api.shotone.io/screenshot" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}' \
--output screenshot.png
Step 3: Capture with Options
curl -X POST "https://api.shotone.io/screenshot" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"format": "webp",
"quality": 90,
"fullPage": true
}' \
--output screenshot.webp
Step 4: Authenticated Screenshots
Pass custom cookies or headers to capture logged-in pages:
curl -X POST "https://api.shotone.io/screenshot" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/dashboard",
"cookies": [{"name": "session", "value": "abc123"}]
}' \
--output dashboard.png
Comparison: ShotOne vs. DIY Playwright
Based on the product page comparison:
| Concern | DIY Playwright | ShotOne | |---|---|---| | Setup time | Hours | Seconds | | Infrastructure | Redis, queues, workers | Fully managed | | Scalability | Manual concurrency handling | Auto-scales | | Browser updates | Manual | Always up-to-date | | Cookie banners | Custom scripts per site | Automatic detection | | Device emulation | Manual viewport config | Multiple presets, one parameter | | Storage | Custom upload logic | Direct R2 integration |
Practical Evaluation Checklist
- [ ] One API call returns screenshot
- [ ] PNG, JPEG, WebP, PDF formats confirmed
- [ ] Full-page capture option available
- [ ] Device preset list covers iOS, Android, desktop
- [ ] Cookie banner auto-removal works without config
- [ ] R2 bucket integration for screenshot storage
- [ ] Dashboard provides live API playground
- [ ] Free tier usable without credit card
- [ ] No commit to self-host infrastructure required
FAQ
Q: How is this different from running my own Playwright/Puppeteer server? A: ShotOne handles all the infrastructure — scaling, browser updates, retries, concurrency — so you make one API call and get a screenshot. You skip managing Playwright, Chrome, Redis queues, and error handling.
Q: What formats are supported? A: PNG, JPEG, WebP, and PDF. You can also capture full-page screenshots and choose from over 18 device presets including iPhone, Android, and desktop viewports.
Q: How does it handle cookie banners and popups? A: It automatically detects and hides cookie consent banners, chat widgets, and popups without extra configuration.
Q: Can I capture authenticated pages? A: Yes. You can pass custom headers, cookies, and inject JavaScript before capture — useful for dashboards and logged-in states.
Q: Where are screenshots stored? A: You can connect your own Cloudflare R2 bucket so screenshots go directly to your storage. You retain full ownership of the data. S3 and other integrations are on the roadmap.
Conclusion
ShotOne targets the “I need screenshots but don’t want to run Playwright at scale” problem. The free tier (200 shots/month) is generous enough for development and testing. If you are building any feature that requires website previews — link unfurling, archival, QA automation — this is a one-key setup that removes the ops burden entirely.
Source and Accuracy Notes
- Project page: shotone.io
- HN launch thread: news.ycombinator.com/item?id=46843422
- Source last checked: 2026-07-07 (product page content verified)
Related Posts
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026
dev-tools
Baguette iOS Simulator Automation Guide
Set up Baguette for iOS Simulator automation, web dashboards, device farms, gesture input, streaming, and camera testing with Xcode caveats.
5/28/2026