Take a Screenshot
Plans & Pricing
Anonymous
- 10 screenshots / hour
- No API key required
- All formats (PNG, JPEG, WebP)
- Custom viewport sizes
Premium
- 500 screenshots / hour
- Dedicated API key
- All formats (PNG, JPEG, WebP)
- Custom viewport sizes
- Full page capture
Ultimate
- 2,000 screenshots / hour
- Dedicated API key
- All formats (PNG, JPEG, WebP)
- Custom viewport sizes
- Full page capture
- Priority support
API Documentation
Endpoint
GET /api/screenshot?url=https://example.com
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
url | string | required | Website URL to capture |
width | number | 1280 | Viewport width (320-3840) |
height | number | 720 | Viewport height (200-2160) |
format | string | png | Image format: png, jpeg, webp |
full_page | boolean | false | Capture entire scrollable page |
delay | number | 0 | Wait N seconds before capture (0-10) |
api_key | string | none | API key (or use Bearer auth header) |
Authentication
Pass your API key as a query parameter or via the Authorization header:
Authorization: Bearer fsc_prm_your_key_here
Rate Limit Headers
All responses include rate limit information:
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 499
X-RateLimit-Tier: premium
Code Examples
curl "https://fetchsc.com/api/screenshot?url=https://example.com&format=png" \
-H "Authorization: Bearer fsc_prm_your_key" \
-o screenshot.png
const res = await fetch(
"https://fetchsc.com/api/screenshot?url=https://example.com&format=png",
{ headers: { Authorization: "Bearer fsc_prm_your_key" } }
);
const blob = await res.blob();
// Save to file (Node.js)
const fs = require("fs");
const buffer = Buffer.from(await res.arrayBuffer());
fs.writeFileSync("screenshot.png", buffer);
import requests
res = requests.get(
"https://fetchsc.com/api/screenshot",
params={"url": "https://example.com", "format": "png"},
headers={"Authorization": "Bearer fsc_prm_your_key"},
)
with open("screenshot.png", "wb") as f:
f.write(res.content)
package main
import (
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET",
"https://fetchsc.com/api/screenshot?url=https://example.com&format=png", nil)
req.Header.Set("Authorization", "Bearer fsc_prm_your_key")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
f, _ := os.Create("screenshot.png")
defer f.Close()
io.Copy(f, res.Body)
}
Why Choose FetchSC for Website Screenshots?
FetchSC makes it easy to capture high-quality screenshots of any website with a simple API call or our built-in web tool. No headless browser setup, no infrastructure to manage.
Lightning Fast
Optimized headless browser pipeline captures screenshots in seconds. Resource blocking and smart wait strategies ensure fast, consistent results every time.
Multiple Formats
Export screenshots as PNG for pixel-perfect quality, JPEG for smaller file sizes, or WebP for modern web performance. Choose the format that fits your workflow.
Full Page Capture
Capture the entire scrollable page, not just the visible viewport. Perfect for archiving long articles, landing pages, and documentation sites.
Custom Viewports
Set any viewport size from 320px to 3840px wide. Test responsive designs, capture mobile views, or generate desktop-sized screenshots on demand.
Simple REST API
A single GET request is all you need. No SDKs to install, no complex setup. Works with cURL, JavaScript, Python, or any HTTP client.
Free to Start
Get 10 free screenshots per hour with no API key or signup. Upgrade to Premium or Ultimate when you need higher volume and priority support.
Use Cases for Website Screenshots
Link Previews & Social Cards
Generate thumbnail previews for shared links in chat apps, social media platforms, or internal dashboards. Show users what a page looks like before they click.
Competitor & Design Monitoring
Automatically capture screenshots of competitor websites on a schedule. Track design changes, pricing updates, and landing page variations over time.
QA & Visual Regression Testing
Integrate FetchSC into your CI/CD pipeline to capture screenshots before and after deployments. Detect visual regressions across browsers and viewport sizes.
Web Archiving & Compliance
Archive web pages as images for legal compliance, audit trails, or historical records. Capture full-page screenshots of terms of service, regulatory pages, and more.
How It Works
Enter a URL
Paste any website URL into the form above or pass it as a query parameter to the API. Protocol is optional — we auto-detect HTTPS.
Customize Settings
Choose your viewport size, image format (PNG, JPEG, WebP), and whether to capture the full scrollable page or just the viewport.
Get Your Screenshot
The API returns the image directly as binary data. Download it, display it inline, or pipe it to your storage — it's just a standard image response.
Frequently Asked Questions
What is FetchSC?
FetchSC (Fetch Screen Capture) is a website screenshot API that lets you capture any web page as a high-quality PNG, JPEG, or WebP image using a simple REST API call or the built-in web tool.
Is FetchSC free to use?
Yes. The free tier allows 10 screenshots per hour with no API key or signup required. Premium and Ultimate plans are available for higher volume needs.
What image formats are supported?
FetchSC supports PNG, JPEG, and WebP output formats. You can also set custom viewport sizes and capture full-page scrollable screenshots.
Can I capture a full-page screenshot?
Yes. Set the full_page parameter to true to capture the entire scrollable page, not just the visible viewport.
Do I need an API key?
No. Anonymous users get 10 free screenshots per hour. An API key unlocks higher rate limits on Premium and Ultimate plans.
How fast are screenshots captured?
Most screenshots are captured in 2-5 seconds. FetchSC blocks unnecessary resources like analytics trackers and fonts to speed up page loading.
Can I use FetchSC in my application?
Absolutely. FetchSC exposes a simple REST API — just send a GET request with the target URL. It works with any programming language or HTTP client.