Screenshot any URL on a schedule. Detect changes. Archive evidence. Built for compliance, monitoring, and competitive intelligence.
No credit card required — 500 free screenshots/month
If any of these sound familiar, you need a screenshot API in your workflow.
You need evidence that a website showed specific content on a specific date. But by the time you realize you need it, the page has already changed.
Opening a browser and hitting Print Screen works for 3 URLs. It completely falls apart when you need to monitor 50, 500, or 5,000 pages regularly.
Your cron job plus self-managed Chromium crashes at 3 AM and nobody notices for days. Memory leaks, zombie processes, and stale browser contexts pile up.
Without proper timestamps and metadata on every capture, your screenshots have no evidentiary weight. An undated PNG proves nothing.
You bring the schedule. SnapRender handles the screenshot. Every capture is timestamped and delivered as a high-fidelity image.
Cron, Task Scheduler, AWS Lambda, GitHub Actions — anything that can trigger an HTTP request.
Real Chromium renders the page, blocks ads and cookie banners, and returns a timestamped screenshot.
Save the image to S3, your database, or local storage — tagged with the URL, timestamp, and any metadata you need.
Build dashboards, run visual diffs, or simply archive captures as evidence. The data is yours.
# Capture competitor pricing page every day at 8:00 AM
0 8 * * * curl -s "https://app.snap-render.com/v1/screenshot\
?url=https://competitor.com/pricing\
&format=png&full_page=true&cache=false" \
-H "X-API-Key: sk_live_your_key_here" \
--output "/captures/competitor-pricing-$(date +\%Y\%m\%d).png"
A single cron line. That's it. SnapRender handles the rendering reliably, every time.
Every feature you need for reliable, recurring website captures.
Every response includes the capture timestamp in HTTP headers. Pair with your file naming convention for a complete audit trail.
Capture the entire scrollable page, not just the viewport. Essential for archiving complete terms of service, pricing tables, and long-form content.
Set cache=false to force a fresh render on every call. Critical for monitoring workflows where you need the current state, not a cached version.
Automatically strip ads, cookie consent banners, and GDPR dialogs. Your archived screenshots show the actual content, not obstructing overlays.
PNG for pixel-perfect archives, JPEG/WebP for space-efficient storage, PDF for print-ready compliance records. Choose per capture.
Enterprise-grade URL validation blocks private IPs, localhost, and cloud metadata endpoints. Safe to expose in automated pipelines without security risk.
From legal compliance to competitive intelligence — here's how teams use scheduled captures.
Prove that terms of service, disclaimers, or disclosures were displayed on a specific date. Timestamped full-page captures serve as dated evidence.
Track competitor pricing pages, feature announcements, and landing page changes daily. Spot updates the moment they happen with visual before/after records.
Screenshot pages that may be using your brand, logos, or trademarks without authorization. Build a visual evidence archive for enforcement actions.
Capture search engine results pages for your target keywords on a schedule. Maintain a visual record of ranking positions and SERP feature changes over time.
Prove advertising compliance by capturing your own pages at regular intervals. Demonstrate to regulators exactly what customers saw and when they saw it.
Capture the same page at regular intervals and compare images programmatically. Detect visual changes, layout shifts, or content updates automatically.
Real code examples for a daily competitor monitoring workflow.
# crontab -e
# Run daily at 8:00 AM UTC — capture full page, always fresh
0 8 * * * curl -s "https://app.snap-render.com/v1/screenshot\
?url=https://competitor.com/pricing\
&format=png&full_page=true&cache=false" \
-H "X-API-Key: sk_live_your_key_here" \
--output "/data/captures/competitor-pricing-$(date +\%Y\%m\%d-\%H\%M).png"
import { SnapRender } from 'snaprender';
import fs from 'fs';
const snap = new SnapRender('sk_live_your_key_here');
// Called by your scheduler (cron, node-cron, AWS EventBridge, etc.)
async function captureCompetitorPricing() {
const timestamp = new Date().toISOString().slice(0, 10);
const buffer = await snap.capture('https://competitor.com/pricing', {
format: 'png',
full_page: true,
cache: false, // Always get a fresh render
block_ads: true,
block_cookie_banners: true,
});
const filename = `competitor-pricing-${timestamp}.png`;
fs.writeFileSync(`./captures/${filename}`, buffer);
console.log(`Captured: ${filename} (${buffer.length} bytes)`);
}
captureCompetitorPricing();
from snaprender import SnapRender
from datetime import datetime
from pathlib import Path
snap = SnapRender("sk_live_your_key_here")
# Called by your scheduler (cron, APScheduler, Celery Beat, etc.)
def capture_competitor_pricing():
timestamp = datetime.now().strftime("%Y%m%d-%H%M")
data = snap.capture(
"https://competitor.com/pricing",
format="png",
full_page=True,
cache=False, # Always get a fresh render
block_ads=True,
block_cookie_banners=True,
)
path = Path(f"./captures/competitor-pricing-{timestamp}.png")
path.write_bytes(data)
print(f"Captured: {path.name} ({len(data)} bytes)")
capture_competitor_pricing()
Your scheduler handles the timing. SnapRender handles the rendering. You own the data.
Use cron on Linux/macOS, Task Scheduler on Windows, AWS Lambda with EventBridge, GitHub Actions on a schedule, or any tool that can trigger an HTTP request at a set interval. You control the timing entirely.
Each scheduled run makes a single API call with your target URL. Set cache=false for always-fresh captures and full_page=true for complete page archives. SnapRender renders the page in a managed Chromium instance and returns the image.
Save each capture to your preferred storage — S3, Google Cloud Storage, a local directory, or a database. Name files with the date and URL for easy retrieval. The API response headers include the exact capture time.
Build dashboards to view historical captures side by side. Use image comparison libraries to detect visual changes. Generate reports showing exactly what changed and when. The images are yours — analyze them however you need.
Every plan includes all features. Pick the volume that fits your monitoring workload. Start free with 500 captures/month.
$29/mo
10,000 screenshots/mo
~333 URLs daily or ~14 URLs/hour
$79/mo
50,000 screenshots/mo
~1,667 URLs daily or ~69 URLs/hour
$199/mo
200,000 screenshots/mo
~6,667 URLs daily or ~278 URLs/hour
Free tier: 500 screenshots/month with all features. See all plans
Also used for
Sign up in 30 seconds. Get your API key. Wire it into your scheduler. First capture in under 5 minutes.
Create free accountNo credit card required — 500 free screenshots/month