ScavioScavio
ToolsPricing
Sign InsGet Startedg
1 live endpoint

Website Screenshot API

Capture any URL to a full-page PNG with a single API call. The image comes back inline as a base64 data URI you can drop straight into an img tag — no headless browser to run, scale or keep patched on your side.

Get your API keyRead the docs

50 free credits on signup. No card, no browser to run.

POST /api/v1/extract/screenshot
captured response
url:https://example.com
Run it with your key
{  "data": {    "url": "https://example.com/",    "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7EAAAL9CAIAAA...[truncated]",    "image_format": "png",    "mode": "normal",    "image_bytes": 16917  },  "response_time": 4255,  "credits_used": 1,  "credits_remaining": 4574}
captured example · 1 credit50 free credits on signup

A real captured response from this endpoint. Sign up to run your own.

What is the Scavio Website Screenshot API?

The Scavio Website Screenshot API is a REST endpoint that turns any public URL into a full-page PNG. You POST a url, and an optional mode, to /api/v1/extract/screenshot with your API key, and get back the image inline as a base64 data URI, its byte size and format — with no headless browser to run or maintain.

1
endpoint, live in production
PNG
full-page image, returned inline
1–5
credits per call, by mode

One call, a full-page PNG

The same endpoint every time. A single mode param sets how hard the capture works.

Full-page capture

POST /api/v1/extract/screenshot

Every shot is the entire page top to bottom, not just the visible viewport — long articles, whole dashboards and full landing pages come back in one image.

Inline PNG data URI

POST /api/v1/extract/screenshot

The image returns as a data:image/png;base64 URI inside the JSON, so you drop it straight into an img tag, an email or a report without a second round trip.

Any public URL

POST /api/v1/extract/screenshot

Point it at any http or https page. You send the URL, Scavio returns the PNG — nothing to install and no browser pool to keep warm on your side.

Three modes, one param

POST /api/v1/extract/screenshot

Move from normal to advanced to ultra with a single mode field as a page needs more time or gets more defended, without changing anything else in the request.

The one screenshot endpoint

A single POST: send a URL, get a full-page PNG. The mode field sets how hard the capture works, and the cost is per successful call.

EndpointReturnsCredits
Screenshot/api/v1/extract/screenshotA full-page PNG of any URL, inline as a base64 data URI, plus its byte size, format and mode1–5

Cost is by mode: normal and advanced are 1 credit, ultra is 5. A capture that fails is not billed. See plans

A URL in, a PNG out

One POST returns the image inline as a base64 data URI. The response on the right is a real capture — decode it, or drop it straight into an img src.

import base64, requests

resp = requests.post(
    "https://api.scavio.dev/api/v1/extract/screenshot",
    headers={"Authorization": "Bearer sk_live_your_key"},
    json={"url": "https://example.com", "mode": "normal"},
).json()

shot = resp["data"]
print(shot["image_format"], shot["image_bytes"])

# image is a data:image/png;base64 URI - split off the base64 and save it
b64 = shot["image"].split(",", 1)[1]
with open("example.png", "wb") as f:
    f.write(base64.b64decode(b64))
200 response.jsoncaptured
{
  "data": {
    "url": "https://example.com/",
    "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7EAAAL9CAIAAA...[truncated]",
    "image_format": "png",
    "mode": "normal",
    "image_bytes": 16917
  },
  "response_time": 4255,
  "credits_used": 1,
  "credits_remaining": 4574
}

Why not run your own screenshot stack?

The API call is the easy part. Standing up and defending headless capture yourself is the part that never ends.

DIY headless browser or a single-purpose screenshot API

  • Playwright, Puppeteer or a Chromium pool to install, host and keep patched — plus the memory a real browser eats under load
  • You own the crashes, the timeouts and the anti-bot arms race yourself
  • Single-purpose screenshot APIs bill a monthly seat and cover only screenshots
  • Most hand back a URL or a binary you fetch separately, not an image you can use inline

Scavio Website Screenshot API

  • No browser infrastructure — you send a URL and get a full-page PNG back
  • The image arrives inline as a base64 data URI, ready for an img tag or a report
  • Pay as you go by the call — 1 credit for normal and advanced, 5 for ultra
  • One key shared across every Scavio platform, not a standalone subscription

Some heavily defended sites cannot be captured; when a capture fails you get an error and are not billed for it.

What developers build with it

Link previews and social cards

Turn any URL a user pastes into a real thumbnail. One POST returns a full-page PNG you can crop, cache or drop straight into a preview card.

extract/screenshot

Visual change monitoring

Capture a set of pages on a schedule and diff the images. Layout breaks, defacements and quiet content swaps surface without anyone opening a tab.

extract/screenshot

Report and email generation

Snapshot a live dashboard, invoice or receipt page and embed the PNG in a generated report or email — no browser running inside your worker.

extract/screenshot

Compliance and evidence archiving

Keep a dated, full-page image of a page as it appeared — a price, a set of terms, a listing — as a record you store in your own bucket.

extract/screenshot

Agent and LLM vision input

Give an agent the ability to see a page, not just read its text. The base64 PNG goes straight into a vision model as the image it reasons over.

extract/screenshot

Post-deploy QA and design review

Capture every marketing page after a deploy and pull the images into a review board, so a broken hero or a shifted layout is caught before a customer finds it.

extract/screenshot

How to screenshot a website with the API

  1. 1

    Get an API key

    Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required.

  2. 2

    POST a URL to the endpoint

    Send {"url": "https://example.com"} to https://api.scavio.dev/api/v1/extract/screenshot with an Authorization: Bearer header. Add "mode": "advanced" or "ultra" only when a page needs it.

  3. 3

    Use the inline PNG

    The response returns data.image as a data:image/png;base64 URI, plus image_bytes and image_format. Drop the URI straight into an img src, or split off the base64 and decode it to a file.

One key, 31 platformsMCP server for agentsPython & JS SDKsn8n community node

Website Screenshot API FAQ

What is the Scavio Website Screenshot API?

+

It is a REST API that turns any public URL into a full-page PNG. You POST a url, and an optional mode, to /api/v1/extract/screenshot with your Scavio API key, and get back the image inline as a base64 data URI along with its byte size, format and the mode used. There is nothing to install and no browser to run on your side.

Is the screenshot full-page or just the viewport?

+

Always full-page. Every capture is the entire page from top to bottom, however long it is, not only the part that would fit in a browser window. There is no viewport-only mode — you get the whole page in one image.

What image format do I get back?

+

PNG, every time. The response carries image_format set to png, image as a complete data:image/png;base64 data URI, and image_bytes giving the decoded size of the image in bytes.

How do I actually use the image?

+

data.image is a complete data URI, so you can set it as an img src, embed it directly in HTML or an email, or take the part after the comma and base64-decode it to a .png file. There is no second request to fetch a separate binary.

Can I screenshot any website?

+

Almost any public http or https page. A small number of the most heavily defended sites cannot be captured; when that happens you get an error rather than a blank image, and that call is not billed. For those, try a higher mode before assuming a page is off limits.

Do I need to run a browser or headless Chrome?

+

No, and that is the point. You never install Playwright, Puppeteer or Chromium, never keep a browser pool warm, and never pay for the memory a real browser eats under load. You send a URL and get a PNG back from one API call.

What is the difference between normal, advanced and ultra?

+

normal is the default and handles most sites. advanced waits longer, which is what JavaScript-built pages that take more time to finish need. ultra is for the hardest, most defended sites. Start on normal and step up only when a page comes back wrong.

How much does a screenshot cost?

+

normal and advanced cost 1 credit per successful call; ultra costs 5. A capture that fails is not billed. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.

Am I billed for a failed capture?

+

No. Billing happens only on a successful screenshot. A page that cannot be captured returns an error and costs nothing, so a defended URL never quietly burns credits while you retry it.

Can I use it from n8n, Make or an AI agent?

+

Yes. It is a plain HTTP POST, so n8n's HTTP Request node, a Make scenario, a scheduled job or an agent tool can all call it with a URL and your API key. Any language or platform that can make an HTTP request works, with no SDK required.

How big is the image and how fast is a call?

+

Image size depends on the page — the example capture is about 17 KB. Every response includes response_time in milliseconds. Heavier pages and higher modes take longer, so treat the call as asynchronous inside a batch job rather than blocking a request on it.

Is taking screenshots of a website legal?

+

Scavio captures publicly available pages and does not authenticate as a user. You remain responsible for how you use the images, including copyright and the target site's terms. Talk to your own counsel for your specific use case.

Explore more of Scavio

Extract API

Read any URL as clean HTML, Markdown or plain text.

Instagram API

Profiles, posts, reels and hashtag search as JSON.

Google Maps API

Places, reviews and map results as structured JSON.

Amazon API

Product, search, reviews and offers as JSON.

MCP server

Every platform as a callable tool for your agents.

Pricing

Credit packs and plans, with no per-platform surcharge.

Start capturing screenshots today

50 free credits on signup, no card. Your first request is a POST with a URL in it.

Get your API keySee pricing
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy