Capture any URL as PNG or JPEG. Desktop, mobile, tablet viewports. Full-page, dark mode, element targeting. One API call.
# Screenshot any URL → PNG image $ curl -X POST agent-screenshot.167.148.41.86.nip.io/api/screenshot \ -H "Content-Type: application/json" \ -d '{"url": "https://github.com", "viewport": "desktop"}' \ -o screenshot.png # Or get JSON with base64 image + metadata $ curl -X POST agent-screenshot.167.148.41.86.nip.io/api/screenshot/json \ -d '{"url": "https://github.com", "viewport": "mobile", "darkMode": true}' { "title": "GitHub", "image": "iVBORw0KGgo...", "size": 245760 }
Headless Chromium rendering with full control over viewport and options
Screenshot any publicly accessible URL. Returns PNG or JPEG. GET or POST. Binary image or base64 JSON response.
Desktop (1280x720), Tablet (768x1024), Mobile (375x812), Full HD (1920x1080), and 4K (3840x2160).
Capture the entire scrollable page, not just the viewport. Perfect for long articles and documentation pages.
Emulate dark color scheme preference. See how sites look in dark mode without any configuration changes.
Target specific CSS selectors. Screenshot just a chart, header, hero section, or any element on the page.
Remove cookie banners, modals, and popups before capture. Pass CSS selectors to hide distracting elements.
Capture at any standard device resolution
Enter a URL and see the screenshot rendered in real-time
Drop-in code for your language
# Simple screenshot → PNG file curl -X POST http://agent-screenshot.167.148.41.86.nip.io/api/screenshot \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com"}' -o screenshot.png # Mobile + dark mode + full page curl -X POST http://agent-screenshot.167.148.41.86.nip.io/api/screenshot \ -H "Content-Type: application/json" \ -d '{"url":"https://github.com","viewport":"mobile","darkMode":true,"fullPage":true}' \ -o github-mobile.png # JSON response with base64 image + metadata curl -X POST http://agent-screenshot.167.148.41.86.nip.io/api/screenshot/json \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com","viewport":"tablet"}'
import requests, base64 API = "http://agent-screenshot.167.148.41.86.nip.io" # Get screenshot as binary PNG resp = requests.post(f"{API}/api/screenshot", json={ "url": "https://example.com", "viewport": "desktop" }) with open("screenshot.png", "wb") as f: f.write(resp.content) # Get as JSON with base64 + metadata resp = requests.post(f"{API}/api/screenshot/json", json={ "url": "https://github.com", "viewport": "mobile", "darkMode": True }) data = resp.json() print(f"Title: {data['title']}, Size: {data['size']} bytes") # Decode base64 image img_bytes = base64.b64decode(data["image"])
const API = "http://agent-screenshot.167.148.41.86.nip.io"; // Get screenshot as JSON with base64 const { title, image, size } = await fetch( `${API}/api/screenshot/json`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ url: "https://github.com", viewport: "desktop", darkMode: true, fullPage: true }) } ).then(r => r.json()); console.log(`${title} — ${size} bytes`); // Display in browser document.getElementById("img").src = `data:image/png;base64,${image}`;
Start free. No credit card required. Scale with USDC.
35+ APIs built for AI agents. All with free tiers. All accepting USDC.