Microlink generates the screenshot and returns an asset URL; it does not upload the image directly to your S3 bucket. To save a capture in S3, request it from Microlink, fetch the returned image bytes in trusted server-side code, then upload those bytes with Amazon S3’s PutObject operation.
How the Microlink-to-S3 workflow works
The integration has two services and an application-side transfer between them. Microlink captures the target page and exposes screenshot data, including a URL and image metadata. Your application retrieves the image from that URL and writes it to an S3 bucket under a key you choose. Microlink’s screenshot documentation says, “It generates a screenshot over the target url.” (Microlink screenshot parameter documentation; Microlink’s comparison page says native storage upload is not included.)
- Make a Microlink API request with screenshot enabled.
- Read the screenshot asset URL from the response.
- Fetch the asset URL from your backend and check the response.
- Send the bytes to S3 using
PutObjectCommand, specifying the bucket, object key, and body. - Handle errors separately for capture, asset retrieval, and the S3 write.
The Microlink docs show screenshot options and response data; the fetch-and-upload bridge below is an application-side composition of Microlink’s output and AWS’s documented S3 upload operation, not a single vendor-provided end-to-end recipe. Confirm the actual response shape and content type for the options you use. See Microlink’s screenshot documentation and AWS’s PutObject examples.
JavaScript example: capture, fetch, and upload
This Node.js example illustrates the sequence with AWS SDK for JavaScript v3. Provide a Microlink request that enables screenshot output, then adapt getScreenshotAssetUrl to the response shape returned by the API configuration you use. Keep the Microlink credential and AWS credentials in the server environment; do not put privileged credentials in browser code.
Recommended Free Tools
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
const s3 = new S3Client({ region: process.env.AWS_REGION });
async function saveMicrolinkScreenshot({ targetUrl, bucketName, objectKey }) {
// Request a Microlink capture with screenshot enabled.
// Use the authentication and screenshot parameter format required by
// your Microlink account and current API configuration.
const capture = await requestMicrolinkScreenshot(targetUrl);
const assetUrl = getScreenshotAssetUrl(capture);
if (!assetUrl) throw new Error("Microlink response did not include a screenshot URL");
const imageResponse = await fetch(assetUrl);
if (!imageResponse.ok) {
throw new Error(`Screenshot fetch failed: ${imageResponse.status} ${imageResponse.statusText}`);
}
const imageBytes = new Uint8Array(await imageResponse.arrayBuffer());
const contentType = imageResponse.headers.get("content-type") || "application/octet-stream";
await s3.send(new PutObjectCommand({
Bucket: bucketName,
Key: objectKey,
Body: imageBytes,
ContentType: contentType,
}));
return { bucket: bucketName, key: objectKey, contentType, bytes: imageBytes.byteLength };
}
// Implement these helpers using the Microlink request and response format
// documented for the screenshot options enabled in your integration.
async function requestMicrolinkScreenshot(targetUrl) {
throw new Error("Add your Microlink API request here");
}
function getScreenshotAssetUrl(capture) {
// Select the screenshot asset URL from the actual response structure.
return capture?.data?.screenshot?.url;
}
The example intentionally leaves the Microlink request helper as an integration point: the cited screenshot reference documents request forms and the screenshot response, but the returned object can depend on the API request and options. Do not assume the illustrative property path fits every response. AWS’s documented SDK v3 upload operation takes a bucket, key, and body; the example also sets ContentType from the retrieved asset response when available.
Choose an S3 bucket, key, and access pattern
Bucket and object key
An S3 object is identified by its bucket and key. Choose a key strategy intentionally: a deterministic key replaces the object at that same key when you upload again, while a unique key can retain multiple captures. Include any application-specific grouping, such as a site identifier or capture date, if it helps retrieval. AWS’s PutObject example demonstrates the required bucket, key, and object body.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Credentials and permissions
Run the transfer in a backend, job worker, or other trusted component. Do not expose AWS credentials in browser code or a public URL. Grant the runtime only the permissions needed for the bucket workflow; the AWS upload example documents the operation but does not provide a policy tailored to this integration. Choose the bucket’s access policy for your application rather than assuming an asset URL or S3 object should be public.
Retention and serving
The Microlink asset URL and your S3 object serve different purposes. The URL is the returned screenshot asset; the S3 object is the copy your application writes to its bucket. Decide how your system will retain and serve that object—for example, through a controlled application or CDN path—and configure retention to suit your own requirements. The cited integration references do not establish a lifecycle policy or a guarantee that the Microlink asset URL is permanent.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Reliability, retries, and cost considerations
- Separate failure boundaries: report Microlink request failures, asset-fetch failures, and S3 upload failures distinctly so an operator can identify which stage failed.
- Retry deliberately: use retry behavior appropriate to the error and your application. If retrying a write, consider whether the chosen object key makes a repeated upload acceptable; surface persistent failures rather than silently dropping captures.
- Check bytes and metadata: use the actual returned image type when setting
ContentType. The screenshot response can include a URL and image metadata such as dimensions, type, and size; validate values needed by your downstream workflow. - Account for S3 service errors: AWS’s PutObject examples show handling service errors, including an oversized-object condition. Catch and log S3 errors at the upload boundary.
- Verify current Microlink terms: quotas, prices, and availability can change. Check Microlink’s current API page before estimating capture costs or choosing a plan. No specific plan or quota is necessary to describe the transfer pattern here.
Troubleshooting
| Symptom | Likely cause | What to check |
|---|---|---|
| No screenshot URL in the response | The request did not enable screenshot output, or the response path differs from the example helper. | Check the screenshot parameter configuration and inspect the actual response against Microlink’s screenshot documentation. Update the response parser rather than assuming a fixed property path. |
| Fetching the asset fails or returns a non-success status | The URL may be invalid, inaccessible, or the asset request may have failed. | Log the status and response details, verify the exact URL from the Microlink response, and handle the fetch as its own failure stage before attempting the S3 write. |
| S3 rejects the write | The bucket, key, credentials, permissions, region configuration, or object size may be unsuitable. | Inspect the AWS service error and verify the bucket and key, runtime credentials and permissions, and configured region. AWS documents PutObject error handling, including oversized-object conditions, in its SDK and CLI examples. |
| The object exists but clients cannot read it | Upload success does not by itself mean the object is publicly accessible or served through your application. | Review the bucket and object access design, then expose the object only through the access path intended for your application. |
| Repeated runs overwrite a prior screenshot | The same bucket and key were reused. | Use a unique key when each capture must be retained; use a deterministic key only when replacing the prior object is intended. |
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. It can return screenshot bytes directly from one GET request, so your application can send the response body to S3 without separately retrieving a Microlink asset URL. The S3 upload remains your application’s responsibility.
Example cURL request for a screenshot of Stripe; replace the URL with the page you want to capture. See the ScreenshotNeo API documentation for request options and response details.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot; bot checks, blank pages, and failed loads are never billed; an MCP server lets AI agents take screenshots; and 1,000 screenshots a month are free with no card, with paid plans starting at $5 for 3,000. Sign up for free.
Frequently Asked Questions
Does Microlink upload a screenshot directly to my S3 bucket?
No. The documented flow returns a screenshot asset; your application must transfer it into your bucket.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Can I make S3 keep every capture instead of replacing the previous one?
Yes. Use a distinct object key for each capture rather than reusing a deterministic key.
Quick Recap
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
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.




