Automate image generation
Save time on creating similar images with different texts and branding!
Create account
Share article

Taking screenshots using REST API

Jakub PomykałabyJakub Pomykała
Last updated: November 29, 20232 min read

Taking screenshots using REST API

Have you ever wondering if you could quickly take a screenshot of a webpage using just a single request?

RenderForm API allows you to not only create images using templates and API but also take a screenshots using REST API.

There are plenty use cases of that:

  • Post it on social media
  • Make a list of websites
  • Detect branding based on colors
  • Test or health-check your webpage
  • Read texts from screen

How to take a screenshot with API?

Generate your API key in RenderForm by signing up to the system. Get the API key from your account section and then you can make a request like below.

curl
    --location
    --request POST 'https://api.renderform.io/api/v1/screenshots' \
    --header 'X-API-KEY: <API_KEY>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "url": "https://renderform.io"
        "width": 1366,
        "height": 768,
    }'

RenderForm API will respond after a couple of seconds with link where you can download the screenshot. Example successful response is shown below.

{
  "requestId": "ed39c85ac41f4c54b95e4caaad4ebff8",
  "href": "https://cdn.renderform.io/.../image.png",
  "request": {
    "width": 1366,
    "height": 768,
    "url": "https://renderform.io"
  }
}

Screenshot API parameters

As you seen above we passed url of the website, width and height of the screenshot. These parameters are required but you can add more options:

  • url (required) - website URL of which RenderForm should take a screenshot
  • height (required) - screenshot height
  • width (required) - screenshot width,
  • expires (optional) - add expiration time in seconds for the image, available values from 1 to 604800
  • waitTime (optional) - add wait time in milliseconds before taking a screenshot, available values from 500 to 5000
  • webhookUrl (optional) - send response to the given webhookUrl as POST request

Does it integrate with other tools?

Yes! RenderForm is integrated with Zapier and Make.com (Integromat). Soon we will add more integrations like n8n.io. Please also notice that every request supports a webhook. Taking a screenshot takes time because it's very resource demanding and complex process for servers. You can pass a URL in webhookUrl field, thanks to that RenderForm API will accept your request and immediately return you a response. Once RenderForm finish processing your request a new request will be sent to the given URL in webhookUrl.

Can I set an expiration date?

Yes, you can set expiration date on every screenshot from 1 second up to 7 days. Add a field expires and put there an expiration value in seconds. RenderForm API return you a link in href field which will be valid for requested period of time.

Relevant posts

How to generate images on your website

How to generate images on your website

Jakub PomykałabyJakub PomykałaMarch 20, 2024

Learn how to embed RenderForm image generator into any website into which you can add HTML code. This is useful if you want to allow your users to generate images directly from your website, or you want to simplify your workflow by generating images directly from your website.

Continue reading
Image Generation with Zapier

Image Generation with Zapier

Jakub PomykałabyJakub PomykałaMarch 18, 2024

Automate image generation using Zapier and RenderForm. Create mutiple images with your templates, or take website screenshot using Zapier.

Continue reading
How to generate multiple images with different texts?

How to generate multiple images with different texts?

Kinga WojciechowskabyKinga WojciechowskaMarch 10, 2024

Automate your work and create many images with different texts using a template and RenderForm automation. Learn how to save time on image generation.

Continue reading

Design. Automate. Scale.

Free plan • No credit card required • Get started in minutes