Capture website screenshots with a simple Node.js API. No browser dependencies required.
npm install grabshotconst GrabShot = require('grabshot');
const fs = require('fs');
const client = new GrabShot({ apiKey: 'YOUR_API_KEY' });
// Basic screenshot
const screenshot = await client.capture({ url: 'https://example.com' });
fs.writeFileSync('screenshot.png', screenshot);Get your free API key at grabshot.dev (25 screenshots/month free).
const screenshot = await client.capture({
url: 'https://example.com', // Required
width: 1440, // Viewport width (default: 1280)
height: 900, // Viewport height (default: 800)
fullPage: true, // Capture entire page
format: 'webp', // png, jpeg, or webp
quality: 85, // JPEG/WebP quality (1-100)
deviceScaleFactor: 2, // Retina/HiDPI (2x)
darkMode: true, // Emulate dark color scheme
delay: 2000, // Wait 2s before capture
aiCleanup: true, // AI-powered popup/banner removal (paid)
});- OG images: Auto-generate social preview images for blog posts
- Thumbnails: Website directory or portfolio thumbnails
- Archiving: Capture pages for compliance or records
- Testing: Visual regression testing screenshots
- Monitoring: Track how websites change over time
| Plan | Screenshots/mo | Price |
|---|---|---|
| Free | 25 | $0 |
| Starter | 1,000 | $9/mo |
| Pro | 10,000 | $29/mo |
| Business | 100,000 | $79/mo |
MIT