Scrapers / Developer & File Tools

Website Screenshot
hipersoft/url-screenshot
Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.
Total users
3Monthly users
3Total runs
156Per screenshot captured
$0.004Last rebuilt
Oct 26, 2026Overview
Capture full-page or viewport screenshots of any URL — as PNG or JPEG, at any device size, including retina. For monitoring, link previews, thumbnails, visual QA and automation workflows in n8n, Make or Zapier.
What it does
- Screenshots a list of URLs, full page or just the viewport.
- Custom viewport size, device scale (retina) and PNG/JPEG with quality.
- Waits for the page to settle (
networkidle) before capturing.
Use cases
- Monitoring — snapshot pages on a schedule to spot visual changes.
- Previews / thumbnails — generate share images for links.
- Automation — the screenshot step in an n8n/Make workflow.
Input
{ "urls": ["https://apify.com"], "fullPage": true, "width": 1366, "height": 900, "format": "png" }
| Field | Type | Description |
|---|---|---|
urls |
array | Pages to capture. |
fullPage |
boolean | Whole page vs viewport. |
width / height |
integer | Viewport size. |
deviceScaleFactor |
integer | 1 normal, 2 retina. |
format |
string | png or jpeg. |
quality |
integer | JPEG quality. |
waitUntil |
string | load / domcontentloaded / networkidle. |
Output
{ "url": "https://apify.com", "width": 1366, "height": 900, "fullPage": true, "imageUrl": "https://api.apify.com/v2/key-value-stores/.../records/screenshot-0001.png", "ok": true }
Output schema
| Field | Type | Description |
|---|---|---|
url |
string (URL) | The page captured. |
width |
integer | Viewport width. |
height |
integer | Viewport height. |
imageUrl |
string (URL) | Link to the screenshot. |
FAQ
Full page or just the fold? Set fullPage — true captures the entire scrollable page.
Can I use it in n8n? Yes — run it from the Apify node, or via integrations and the Apify API.
Notes
Original clean-room implementation.
Input
| Field | Type | Description |
|---|---|---|
urls requiredURLs | array | Pages to screenshot. One image per URL. |
fullPageFull page | boolean | Capture the entire scrollable page (vs just the viewport). Default: true |
widthViewport width | integer | Browser width in pixels. Default: 1366 |
heightViewport height | integer | Browser height in pixels. Default: 900 |
deviceScaleFactorDevice scale (retina) | integer | 1 = normal, 2 = retina/hi-DPI. Default: 1 |
formatImage format | string · png, jpeg | Screenshot format. Default: "png" |
qualityJPEG quality | integer | 1–100 (JPEG only). Default: 80 |
waitUntilWait until | string · load, domcontentloaded, networkidle | When to consider the page ready before capturing. Default: "networkidle" |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~url-screenshot/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://apify.com"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/url-screenshot").call(run_input={
"urls": [
"https://apify.com"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/url-screenshot').call({
"urls": [
"https://apify.com"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Screenshot Captured Charged per item processed. | $0.004 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Bulk Image Downloader
Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.
8,102 runs · 103 users · $0.056 / url processedText to Speech
Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.
278 runs · 22 users · $0.01 / audio generatedGoogle Maps Email Extractor
Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.
159 runs · 8 users · $0.006 / business lead scrapedBulk URL Status Checker
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.
154 runs · 13 users · $0.002 / url checkedGoogle Search Scraper
Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.
121 runs · 8 users · $0.001 / result scrapedcrates.io Scraper
Search crates.io or look up exact Rust crates and get description, downloads, versions, license, keywords, categories, repository and documentation links.
118 runs · 1 users · $0.004 / crate scrapedSend the site and the fields. We build it and you get it first.