Capture website screenshots with a simple Python API. Free tier: 25 screenshots/month.
from grabshot import GrabShot
client = GrabShot("your-api-key")
screenshot = client.capture("https://github.com")
screenshot.save("github.png")pip install grabshot- Go to grabshot.dev
- Sign up (free, no credit card)
- Copy your API key from the dashboard
- Screenshot any URL as PNG, JPEG, or WebP
- Full-page capture for long pages
- Dark mode rendering
- Block ads and cookie banners
- Retina (2x) resolution
- CSS selector capture (screenshot specific elements)
- HTML to image rendering
- AI cleanup of popups/overlays (paid plans)
- PDF generation via pdf.grabshot.dev
- Metadata extraction via metapeek.grabshot.dev
from grabshot import GrabShot
client = GrabShot("gs_your_api_key")
# Simple screenshot
result = client.capture("https://example.com")
result.save("example.png")
# Full page, dark mode, no ads
result = client.capture(
"https://news.ycombinator.com",
full_page=True,
dark_mode=True,
block_ads=True,
width=1440,
)
result.save("hackernews.png")# Screenshot just the hero section
result = client.capture(
"https://stripe.com",
selector=".hero-section",
retina=True,
)
result.save("stripe-hero.png")# Render HTML directly (great for OG images)
html = """
<div style="width:1200px;height:630px;background:linear-gradient(135deg,#667eea,#764ba2);
display:flex;align-items:center;justify-content:center;color:white;
font-family:system-ui;font-size:48px;font-weight:bold;">
My Blog Post Title
</div>
"""
result = client.html_to_image(html)
result.save("og-image.png")result = client.pdf("https://example.com", format="A4", landscape=True)
result.save("page.pdf")meta = client.meta("https://github.com")
print(meta["title"]) # GitHub
print(meta["description"]) # Build and ship software...
print(meta["og:image"]) # https://github.githubassets.com/...from grabshot import GrabShot, GrabShotError
client = GrabShot("gs_your_api_key")
try:
result = client.capture("https://example.com")
result.save("screenshot.png")
except GrabShotError as e:
print(f"Error {e.status_code}: {e.message}")| Plan | Price | Screenshots/mo | Features |
|---|---|---|---|
| Free | $0 | 25 | Basic capture |
| Starter | $9/mo | 1,000 | + Ad blocking, dark mode |
| Pro | $29/mo | 10,000 | + AI cleanup, retina, priority |
| Business | $79/mo | 50,000 | + Custom branding, SLA |
MIT