October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Export Apify Website Screenshots to Amazon S3

Apify screenshots are binary files: store them in a key-value store, then transfer their bytes to an S3 object with a deliberate key, content type, and access policy.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To export Apify website screenshots to Amazon S3, keep each screenshot as a binary file in an Apify key-value store, retrieve its bytes, then upload those bytes to an S3 object key with the AWS SDK or API. Apify’s S3 Uploader is documented for dataset content; its documentation does not establish that it copies screenshot files from a key-value store.

Choose the right Apify storage for screenshots

A screenshot is an image file, not a structured data row. Apify identifies key-value stores as suitable for files such as screenshots, and its JavaScript SDK v1.3 example saves a screenshot buffer with the image/png content type. Use a dataset separately for structured information about the screenshot, such as its source URL, storage key, capture time, or S3 destination.

As an Amazon Associate I earn from qualifying purchases.

What you need to store or move Appropriate path Important distinction
Screenshot image bytes Apify key-value store Designed for file-like records, including screenshots. Apify key-value store documentation
Structured screenshot details or a manifest Apify dataset Datasets hold sequential structured items and support standard data exports. Apify dataset documentation
Dataset content destined for S3 Apify S3 Uploader The official integration is described as a dataset-to-S3 transfer, not as a key-value-store image copier. Apify S3 Uploader listing
Binary screenshot records destined for S3 Manual download/upload or a custom SDK/API bridge Read the image bytes from the key-value store and send them as the S3 object body using PutObject. AWS PutObject API

Capture and save the screenshot in Apify

If your Actor already creates screenshots, identify the key-value store name and record key it uses. Otherwise, the Apify JavaScript SDK v1.3 documentation illustrates capturing a page into a buffer, then saving it as a key-value-store record with its MIME type. Adapt this documented pattern to the browser library and SDK version used by your Actor; do not assume the example is drop-in compatible with every current Actor.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const screenshotBuffer = await page.screenshot({ type: 'png' });
const screenshotKey = 'screenshots/example-page.png';

await Actor.setValue(screenshotKey, screenshotBuffer, {
  contentType: 'image/png',
});

See the Apify JavaScript SDK v1.3 screenshot example and the Apify storage overview. If you use JPEG or WebP instead, match the record’s content type to the actual encoded format.

#1 Best Overall
Sale
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
  • Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

For repeatable exports, record the store name and key along with any metadata needed to locate the corresponding S3 object. Check the chosen store’s name and retention behavior before relying on it for long-term retention. The seven-day expiry stated for unnamed datasets is a dataset rule; it should not be assumed to establish the retention period for an unnamed key-value store. Apify dataset documentation

Upload screenshot bytes to Amazon S3

For a one-off transfer, retrieve or download the image record and pass its bytes to S3. For recurring transfers, an Actor or external service can read the record and call S3 PutObject. This is an implementation pattern based on Apify’s file storage and AWS’s object-upload API, not a claim that an upload has been run or verified.

Rank #2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
  • Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

Plan the object key and access

  • Choose a stable prefix and naming convention before batch uploads, for example a run identifier plus a sanitized source identifier.
  • Do not use a source URL as an S3 key without normalization. The object key is the object’s name/path in the bucket; encode or sanitize characters and avoid collisions. AWS PutObject API
  • Give the upload identity only the permissions it needs for the destination bucket or prefix, and protect its credentials.
  • Choose intentionally how consumers will access the objects. AWS states that newly added objects are private by default unless access is granted. AWS PutObject API

Upload with the AWS SDK for JavaScript

In a Node.js service or Actor with AWS SDK v3 installed and credentials configured through your deployment’s secure credential mechanism, pass the retrieved image bytes as Body. Supply the matching content type so downstream tools can recognize the object format.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';

const s3 = new S3Client({ region: process.env.AWS_REGION });

// screenshotBytes must be the bytes read from the Apify key-value store.
await s3.send(new PutObjectCommand({
  Bucket: process.env.S3_BUCKET,
  Key: 'apify-screenshots/run-123/example-page.png',
  Body: screenshotBytes,
  ContentType: 'image/png',
}));

This example shows the S3 side of the bridge. Your Apify integration must still retrieve the intended record and supply its bytes as screenshotBytes. Consult AWS PutObject documentation for request behavior and permissions.

Rank #3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
  • Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

Choose a transfer workflow

One-off export

  1. Find the screenshot record in the correct Apify key-value store.
  2. Download or retrieve the record as bytes, preserving its actual image format.
  3. Upload those bytes to your chosen bucket and object key with S3 PutObject.
  4. Confirm the object key, content type, and that the intended consumer can read the object.

Recurring export

  1. Have your Actor or external worker identify each screenshot record and its store key.
  2. Read the binary record and upload it to S3 with the appropriate content type.
  3. Use a predictable, collision-resistant key convention, such as a run ID plus a normalized page identifier.
  4. Track completion and failures in structured metadata; a dataset can serve as a manifest without becoming the image store.
  5. Define retry behavior and handle credentials outside source code.

Dataset export

If the material you need in S3 is structured rows—such as a manifest of screenshot URLs, keys, or statuses—the Apify S3 Uploader may fit that dataset workflow. Apify’s help article and the official listing describe dataset uploads; check the current Actor input schema and output layout before relying on a particular export format. They do not establish that the integration reads binary screenshot records from a key-value store. Apify help: uploading a dataset to AWS S3 · Apify S3 Uploader listing

Verify the exported object

After uploading, verify the exact bucket and key, check that the stored content type matches the file, and test access using the same identity or delivery path the eventual consumer will use. A successful API call alone does not confirm that your key convention, permissions, or downstream access setup is correct.

Rank #4
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue
  • Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

Troubleshoot common failures

  • The S3 Uploader does not show the screenshot image. The documented integration targets dataset content. Use a custom bridge or manual download/upload for image records in a key-value store.
  • The uploaded object is unreadable or mislabeled. Ensure the request body contains the raw image bytes rather than a URL or encoded text, and set ContentType to the actual format, such as image/png.
  • The object appears at an unexpected path or overwrites another image. Review the bucket and key passed to the upload call. Normalize source identifiers and include a run ID or other uniqueness component where needed.
  • The upload is denied or the object cannot be read later. Check the AWS identity’s permissions for the destination and the intended consumer’s access path. S3 objects are private by default unless access is granted.
  • A record cannot be found later. Confirm the key-value store name and record key used by the Actor, and check the store’s retention behavior rather than assuming it follows dataset rules.
  • Example capture code does not work with your Actor. The cited screenshot snippet is for Apify JavaScript SDK v1.3. Check the API and browser tooling used by your current Actor before adapting it.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a screenshot API rather than an Apify browser workflow, ScreenshotNeo returns PNG, JPEG, WebP, or PDF from one GET request and also offers an MCP server for AI agents. It accepts consent banners like a visitor and removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be switched off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, with response headers indicating the page verdict and billing status. This is an alternative capture service, not a direct Apify-to-S3 transfer; you would still need to store or upload the returned bytes to your bucket.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

One-call cURL example, using the ScreenshotNeo API documentation:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo includes 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 screenshots. Sign up for ScreenshotNeo free.

Frequently Asked Questions

Can Apify’s S3 Uploader copy a screenshot from a key-value store directly?

Its documented scope is uploading dataset content to S3; direct key-value-store image copying is not established. Use a custom byte-transfer bridge for screenshot files.

Should screenshot metadata go in the same place as the image?

A useful pattern is to keep image bytes in a key-value store and put structured metadata or a manifest in a dataset.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

SaleBestseller No. 1
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$129.99
Bestseller No. 2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$229.99
Bestseller No. 3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$119.80
Bestseller No. 4
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue
Seagate Portable 4TB External Hard Drive HDD – USB 3.0, 1-Year Rescue
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$208.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.