Migration guide

Migrate to screenshotbase

Most screenshot code maps to one GET /v1/take call. This page maps the options you use today to screenshotbase parameters, so you can try the same captures on the free plan before you switch.

1. Get an API key and make one call

Sign up for the free plan and send your key in the apikey header (or the apikey query parameter):

curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d full_page=1 -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

The response is the file itself. Errors come back as JSON with an HTTP status code; every response carries an X-Request-Id header for support.

2. Map your options

From another screenshot API

Most screenshot APIs offer the same core options under similar names. Look for the option you use in the left column:

What you wantscreenshotbase parameter
The page to captureurl
Your own HTML instead of a URLhtml in the JSON body of POST /v1/take
Output formatformat: png (default), jpg, webp, gif, pdf or markdown
Image qualityquality, 0 to 100 (JPG and WebP)
Full-page capturefull_page=1
Viewport sizeviewport_width, viewport_height (default 1280 × 800)
Retina / device pixel ratiodevice_scale_factor, 0.5 to 3
Wait for the pagewait_until (load, domcontentloaded, networkidle0, networkidle2), delay in seconds, timeout
Block ads, cookie banners, chat widgetsblock_ads=1, block_cookie_banners=1, block_chats=1
Hide elementshide_selectors[], up to 50 CSS selectors
Custom CSSstyles
Load the page from another countryip_country_code, a lowercase country code such as de
Store the file and get a URLupload=1
File name of the downloadattachment_name
PDF paper, margins, page rangespdf_paper_format, pdf_landscape, pdf_margin, pdf_page_ranges, pdf_print_background, pdf_media_type, pdf_scale, pdf_fit_one_page

From Puppeteer or Playwright

If you run a headless browser yourself, these Puppeteer calls map to parameters of one API request. Playwright’s page.screenshot() and page.pdf() take the same options, and its networkidle corresponds to networkidle0.

Your codescreenshotbase parameter
page.setViewport({ width, height, deviceScaleFactor })viewport_width, viewport_height, device_scale_factor
page.goto(url, { waitUntil })url, wait_until
page.setContent(html)html in the JSON body of POST /v1/take
page.screenshot({ fullPage: true })full_page=1
page.screenshot({ type: 'jpeg', quality })format=jpg, quality
page.addStyleTag({ content })styles
page.pdf({ format, landscape, margin, printBackground, scale, pageRanges })format=pdf with pdf_paper_format, pdf_landscape, pdf_margin, pdf_print_background, pdf_scale, pdf_page_ranges

The take endpoint documentation lists every parameter with its range and default.

3. Check the limits that matter for you

4. Switch over

Run your captures on the free plan side by side with your current setup, compare the results, then choose a plan and replace the calls.

Frequently asked questions

Can I test my captures before I switch?

Yes. The free plan includes 300 screenshots a month without a credit card. Requests rejected with a validation error (HTTP 422) do not count.

What if an option I use is missing from the tables?

Write to us through the contact form with the options you use. We tell you what maps to which parameter, and what does not exist in the API today.

Do you store the screenshots?

No, unless you ask for it: the file is sent back to you and not stored. With upload=1 it is stored on our CDN and you get JSON with its public URL.

Screenshot API

Take screenshots from your code

screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.

/v1/take documentation Screenshot API All documentation

300 free screenshots every month. No credit card required.

GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true

# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d viewport_width=1280 -d viewport_height=800 \
  -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

Start using our Screenshot API for free today!

Get 300 requests / month for free