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
Published October 19, 20212 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

Featured photos for WordPress blogs

Featured photos for WordPress blogs

Kinga WojciechowskabyKinga WojciechowskaDecember 12, 2022

Automate image generation using our WordPress widget. Create featured images for your WordPress posts using RenderForm template.

Read more
Image Generation with Integrately

Image Generation with Integrately

Jakub PomykałabyJakub PomykałaDecember 07, 2022

Automate image generation using Integrately. Create images using your templates, or take website screenshot with Integrately.

Read more
Image Generation with Airtable Extension

Image Generation with Airtable Extension

Jakub PomykałabyJakub PomykałaOctober 31, 2022

Automate image generation using Airtable. Create images using your templates, or take website screenshot with Airtable.

Read more

Design. Automate. Scale.

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