Secure FTP Screenshot Upload

Stream AddScreenshots renders straight to your FTP or SFTP server. Keep screenshots within your infrastructure, retain HTML copies, and automate bulk transfers without worrying about concurrency limits.

  • Flexible destinations: Support for FTPS, SFTP, custom ports, and nested folder structures.
  • Pattern-based naming: Use folder and file templates, metadata, and HTML exports for organised archives.
  • Automation ready: Combine with scheduling, webhooks, and change detection to deliver nightly or real-time captures.

How to upload images to your FTP server

The following parameters are available when uploading screenshots to your FTP server.
ParameterRequiredDescription
ftpRequiredThe fully qualified path to the FTP server, including the username, password, root path and port (optional).
For example: ftps://username:[email protected]:21/root/
fileOptionalThe name or pattern for the file without the extension
The default is a unique identifier (see pattern examples)
folderOptionalThe folder name or pattern for the file (see pattern examples)
htmlOptionalWhen set to true, the HTML markup will be uploaded too

Upload a single screenshot to your FTP server (real-time GET request)

The example below shows how to take a real-time website screenshot and store the image an the FTP server in the "images" folder with the file name "website.png".

// Line breaks added for readability https://api.addscreenshots.com/screenshots
?apikey=
YOUR_API_KEY
&folder=images
&file=website
&html=true
&url=https://www.youtube.com

&ftp=ftps://admin:[email protected]:21/site/wwwroot

Your API key can be found on the API Keys page. Need an API Key? Sign up to get started.
For internal applications, replace YOUR_API_KEY with your own unique API Key.
For public facing websites or hotlinks, generate a signed URL.

The API response will include the path of the image on your FTP server as shown below:

{
  "success": true,
  "message": "Screenshots completed.",
  "storage_provider": "ftp",
  "images": [
    {
      "file": "website.png",
      "request_url": "youtube.com",
      "page_url": "https://www.youtube.com/",
      "image_url": "/site/wwwroot/images/website.png",
      "html_url": "/site/wwwroot/images/website.html",
      "size": 1622727
    }
  ]
}

Uploading multiple screenshots to an FTP server (POST request)

The example below shows how to take multiple screenshots using a POST request and upload the images to an FTP server, where the screenshots are stored in the folder {domain} (pattern) with the filename {filepath} (pattern).

POST https://api.addscreenshots.com/screenshots/bulk/multi?apikey=YOUR_API_KEY

{
  "urls": [
    "https://www.apple.com/ipad/",
    "https://www.apple.com/iphone/",
    "https://www.apple.com/watch/",
    "https://www.bbc.com/news/world",
    "https://www.bbc.com/news/technology",
    "https://www.tomshardware.com/news/raspberry-pi",
    "https://www.tomshardware.com/best-picks"
  ],
  "ftp": "ftps://admin:[email protected]:21/site/wwwroot",
  "file": "{filepath}",
  "folder": "{domain}",
  "quality": "80"
}

The API response will include the number of screenshots as shown below:

{
  "message": "The screenshots are being processed.",
  "jobId": "536b69dbefa240d493330ae5de1c0d46",
  "screenshots": 7
}

Look for the Job ID on the Usage Logs page to track the request.

Need to keep every capture on your own servers? Check plans or create an API key to start streaming screenshots to FTP/SFTP today.