Tools API Blog
Sign in Create account

Website screenshot

Website screenshot is an API that takes a screenshot of any web page from its link. You pass the URL and get an image (PNG or JPEG) of how it looks. Good for website thumbnails, link previews or keeping a visual record of a page, with no servers to maintain.

How it works

This tool opens a public web page (the one in the link you give it) and returns an image (PNG or JPEG) of how it looks. The page is rendered with its JavaScript, like in a normal browser.

It's made to be used from no-code platforms like n8n, Make or Zapier, without coding. Great for website thumbnails, link previews or saving how a page looked. Nothing is stored: the screenshot is generated on the fly.

All you need

  • Your API key (your “password” for the tool). Create it in your dashboard with “+ Create key”. It's shown only once, so copy and save it.
  • In your automation platform, an “HTTP Request” step (n8n, Make, Zapier, Pipedream… all have one).

How to use it in n8n (step by step)

You send the website link and you get the image back directly, ready to use. In the HTTP Request node:

  • Method: POST
  • URL: https://api.cofferdock.com/screenshot
  • Send Query Parameters: on, and add the size: width = 1280, height = 800. (You can add full_page, format… see the table.)
  • Send Headers: on → add two: x-api-key = your key, and Content-Type = text/plain
  • Send Body: on → Body Content Type: Raw → paste the website link in Body (for example https://cofferdock.com)
  • Under Options → Response → Response Format: choose File

The node's output is already the image as a file: connect it straight to Drive, email, Telegram… One node and done.

In Make (HTTP → Make a request module): same method and URL, in Query String add width and height, in Headers the two headers, Body type: Raw, Content type: text/plain, and paste the link into Request content. The response is already the image file.

In short: POST to …/screenshot, width and height as Query Parameters, the x-api-key and Content-Type: text/plain headers, the website link in Body as Raw, and Response Format as File.

Options (as Query Parameters)

Options you can add as Query Parameters (name/value fields in n8n/Make):

OptionDefaultWhat it does
width1280Viewport width in pixels.
height800Viewport height in pixels.
full_pagefalseCapture the full page (not just the visible part). Set it to true.
formatpngFormat: png or jpeg.
wait_ms0Wait before the shot (max 5000) in case something loads late.

Public websites only: only http/https links reachable from the internet are allowed. For security, internal or private addresses cannot be captured.

What you get back

The image itself (a PNG or JPEG file), ready to save, email or publish. Nothing to convert: the next step of your automation already receives the file. (In technical mode with JSON, the image comes in base64.)

If you get “busy” during a spike

At peak times, the API may reply “busy” (status 503) and ask you to wait a few seconds. It's rare and brief, but to let your automation handle it on its own, turn on retry on the request step:

  • In n8n: on the HTTP Request node, Settings tab, turn on “Retry On Fail”. 2–3 attempts is plenty.
  • In Make: add an error handler to the module (right-click → Add error handler) with the Break directive, which retries automatically.

Our response includes a Retry-After header telling how many seconds to wait. With retry on, your flow won't even notice.