Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →In Apify, screenshot format and quality depend on the screenshot API your Actor uses—not one platform-wide setting. With Puppeteer, page.screenshot() returns PNG by default; set type: 'jpeg' for JPEG. For the separate saveSnapshot utility documented in Apify SDK 2.3, screenshotQuality ranges from 0 to 100 and defaults to 50. Use the option that matches your Actor’s installed library and SDK version.
Choose the screenshot API your Actor actually uses
Apify Actors can use different libraries and SDK versions. The available settings are therefore tied to the method taking the screenshot: the general Puppeteer page method documents a PNG default and a type option for JPEG, while the SDK 2.3 saveSnapshot reference documents its own screenshotQuality option. Do not assume that screenshotQuality is a global setting for every screenshot method.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
The Proxy Playbook: The Complete Guide to Proxy Servers: How to Source, Test, and Scale Residential,... | $29.95 | Buy on Amazon |
| 2 |
|
How to Host your own Web Server | $15.60 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
- Check the Actor’s source code to identify the screenshot method it calls.
- Check the installed Apify SDK and browser-library versions, then consult the matching API reference.
- Set format and quality using options supported by that method, and save the resulting bytes with matching file metadata.
Apify’s Page methods guide documents Puppeteer’s PNG default and JPEG selection. The Apify SDK 2.3 Puppeteer reference documents quality for saveSnapshot.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteSet PNG or JPEG with Puppeteer
page.screenshot() produces PNG by default. To request JPEG, pass type: 'jpeg'. The method returns image bytes, which you can save to a file or send to Apify storage.
#1 Best Overall
PNG, the default
const screenshot = await page.screenshot();
If you save this output as an image, use a PNG filename and PNG content type.
JPEG
const screenshot = await page.screenshot({ type: 'jpeg' });
Save JPEG output with a .jpg filename and image/jpeg content type. A file extension or content type does not convert the image: they should describe the format actually returned by the screenshot method. See Apify’s Puppeteer screenshot-saving example for JPEG naming and content-type guidance.
Set quality with SDK 2.3 saveSnapshot
The Apify SDK 2.3 API reference documents screenshotQuality for puppeteer.saveSnapshot. Its default is 50, and the documented range is 0–100. Higher quality produces larger images and requires more storage. This is a setting for that documented utility; it is not a universal quality parameter for page.screenshot() or every Actor screenshot workflow.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use the option as documented by the installed SDK version. If you are using another SDK version or a different screenshot method, verify that method’s options rather than copying this setting.
Save screenshot bytes to Apify storage
Apify’s JavaScript SDK 3.6 screenshot guide demonstrates taking a screenshot buffer with Puppeteer and saving it through Actor.setValue with a content type. For a PNG screenshot, the key and content type should identify PNG:
Rank #2
const screenshot = await page.screenshot();
await Actor.setValue('screenshot.png', screenshot, {
contentType: 'image/png',
});
For JPEG, request JPEG from Puppeteer and use a JPEG key and content type:
const screenshot = await page.screenshot({ type: 'jpeg' });
await Actor.setValue('screenshot.jpg', screenshot, {
contentType: 'image/jpeg',
});
These examples show the format-metadata pairing; adapt the imports and Actor setup to the SDK version and structure already used by your Actor. The Apify SDK 3.6 screenshot guide shows the screenshot-buffer and key-value-store workflow.
Choose a format and quality for your output
| Choice | What the documentation establishes | What to check in your workflow |
|---|---|---|
| PNG | page.screenshot() uses PNG by default. |
Whether downstream tools expect PNG; use a PNG extension and content type. |
| JPEG | Set the Puppeteer screenshot type option to jpeg. |
Whether downstream tools accept JPEG; use a .jpg extension and image/jpeg. |
saveSnapshot quality |
In the Apify SDK 2.3 API reference, screenshotQuality defaults to 50 and accepts 0–100; higher quality means larger images and more storage. |
Whether this is the method and SDK version your Actor uses, and whether the resulting output suits your visual and storage needs. |
The documentation gives no universal file-size reduction or best quality value. To select a setting, capture representative pages at the values supported by your method, then inspect visual details and resulting file sizes for your page dimensions and downstream use. This is a practical comparison workflow, not a claim that any one value is optimal.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Find the output in the Actor’s storage
Apify describes key-value stores as a common place for files and other unstructured results, while datasets commonly hold structured results. The exact output location depends on the Actor. Check its README to learn where it writes screenshots and how it names them; do not assume every Actor exposes captured files in the same place. See Apify’s Actor input and output guide.
Troubleshoot format and quality problems
- The image is still PNG: Confirm the code path uses Puppeteer’s
page.screenshot()and passestype: 'jpeg'. Check the actual bytes or open the saved image; changing only the filename does not change its encoding. - The quality option is ignored or rejected: Verify that the Actor calls
puppeteer.saveSnapshotand that its installed SDK supports the documented option. The quality range cited here belongs to the SDK 2.3 reference, not every screenshot API. - The file cannot be opened or is mislabeled: Align the screenshot method’s output format, filename extension, and storage content type. PNG should be identified as
image/png; JPEG asimage/jpeg. - You cannot find the saved screenshot: Check the Actor README and its storage/output behavior. Apify notes that output organization is Actor-specific.
- Images use more storage than expected: Higher
saveSnapshotquality produces larger images. Compare representative outputs at supported settings rather than assuming a particular quality value will meet a fixed size target.
Or skip the browser setup
If you need a screenshot through an API rather than configuring an Apify Actor, ScreenshotNeo returns a screenshot or PDF with one GET request. For example, save a PNG capture:
Quick Recap
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.png
See the ScreenshotNeo API documentation for request options, including image format. Cookie banners are accepted and removed before the capture, along with known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server provides screenshot tools for AI agents. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan.
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.




