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

Image Generation with Airtable Extension

Image Generation with Airtable Extension

Jakub PomykałabyJakub PomykałaAugust 08, 2024

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

Continue reading
Image Generation with Airtable Script

Image Generation with Airtable Script

Jakub PomykałabyJakub PomykałaAugust 08, 2024

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

Continue reading
Fixing common issues with rendering images

Fixing common issues with rendering images

Jakub PomykałabyJakub PomykałaJuly 18, 2024

Learn about most common issues with rendering images in RenderForm and how to solve them.

Continue reading

Design. Automate. Scale.

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