To route Puppeteer through a Crawlera-era Zyte proxy, launch Chromium with the proxy endpoint in its --proxy-server argument, then authenticate the page with your Zyte API key as the username and an empty password. Crawlera is the former name of Zyte Smart Proxy Manager (SPM), and the service’s endpoint and migration guidance have changed: check your current Zyte dashboard before deploying an endpoint copied from an older example.
This guide covers Puppeteer’s native configuration, Zyte’s wrapper package, the endpoint transition, troubleshooting, and safe operations. A proxy routes browser traffic through Zyte; it is not the same thing as a screenshot API.
Use Puppeteer’s native proxy configuration
The native approach uses Puppeteer’s standard Chromium launch argument and HTTP authentication. It avoids adding a Zyte-specific wrapper dependency and gives you direct control of the browser session. Use the API key associated with proxy mode—not a Zyte API key for a different product or mode.
- Install Puppeteer in your Node.js project. This example uses ES modules, so ensure your project is configured to run
importstatements. - Store the key outside the source code. Set
ZYTE_API_KEYin the process environment or use a secret manager. Do not put it in a URL, commit it to a repository, or print it in logs. - Launch Chromium with the proxy endpoint. Pass the endpoint as an argument in
argswhen callingpuppeteer.launch(); changing it after launch will not route that browser process. - Authenticate the page with the API key as
usernameandpassword: ''. - Navigate and close the browser, including when navigation throws an error.
import puppeteer from 'puppeteer';
const apiKey = process.env.ZYTE_API_KEY;
if (!apiKey) throw new Error('Set ZYTE_API_KEY before running this script');
const browser = await puppeteer.launch({
headless: true,
args: ['--proxy-server=http://proxy.zyte.com:8011'],
});
try {
const page = await browser.newPage();
await page.authenticate({ username: apiKey, password: '' });
const response = await page.goto('https://example.com', {
waitUntil: 'domcontentloaded',
timeout: 180000,
});
console.log('HTTP status:', response?.status() ?? 'no response');
console.log('Title:', await page.title());
} finally {
await browser.close();
}
Puppeteer’s args option passes additional command-line arguments to Chromium, while page.authenticate() supplies HTTP authentication. Zyte’s proxy-mode instructions specify API-key username authentication with an empty password. The example’s navigation timeout is a configurable ceiling, not a promise that a page will load within that time. Choose a limit appropriate to your workload and handle timeout errors.
#1 Best Overall
- 【WIRELESS MOBILE MINI TRAVEL ROUTER】 Convert a public network (wired or wireless) to a private Wi-Fi for secure surfing. Tethering. Powered by any laptop USB, power banks or 5V/2A DC adapters (sold separately). 39g (1.41 Oz) only, portable and pocket friendly. 2.4GHz ONLY
- 【OPEN SOURCE & PROGRAMMABLE】 OpenWrt pre-installed, USB disk extendable.
- 【LARGER STORAGE & EXTENDABILITY】 128MB RAM, 16MB Flash ROM, dual Ethernet ports, UART and GPIOs available for hardware DIY.
- 【OPENVPN CLIENT】 OpenVPN client pre-installed, compatible with 30+ VPN service providers.
- 【PACKAGE CONTENTS】 GL-MT300N-V2 (Mango) mini router (2-year Warranty), USB cable, Ethernet cable, User Manual. Please update to the latest firmware.
Why authenticate on the page?
In this configuration Chromium connects to the proxy, and the page’s authentication call provides the credentials required for proxy access. Keep credentials in application-side code and out of browser-visible URLs. If you use a different browser lifecycle or create additional pages, verify that the authentication configuration applies to the pages making the requests.
Which endpoint should you use?
Older Crawlera examples commonly use proxy.zyte.com:8011. Zyte’s proxy-mode documentation identifies api.zyte.com:8011 as the proxy endpoint for current Zyte API proxy mode, again using the API key as username and an empty password. The documentation also identifies api.zyte.com:8014 as an HTTPS proxy interface for clients that support it and have the required CA certificate installed.
The endpoint choice depends on the account and migration state. Zyte says Smart Proxy Manager and Zyte API use different keys, so do not assume a key from one product works in the other. Its sunset FAQ says traffic sent to proxy.crawlera.com or proxy.zyte.com will be routed automatically through Zyte API Proxy Mode from December 9; treat that routing notice as volatile and confirm the effective date and endpoint in your dashboard before relying on it. The notice does not make an old key interchangeable with a new one.
Rank #2
- 【Advanced Home Data & Media Hub】For advanced home users who need phone backup, file storage, and centralized data management. Centralize family photos, 4K videos, movies, computer backups, and personal files in one place while running multiple apps for home entertainment and everyday data management. Suitable for households with growing digital libraries and multiple NAS use cases.
- 【Built for Creators, Media Servers & Advanced Apps】Powered by the Intel N100 Quad-Core CPU, 8GB DDR5 RAM, 2.5GbE networking, and dual M.2 NVMe slots, DXP2800 handles large files and heavier workloads with ease. Run Docker, virtual machines, and media server applications compatible with Plex—ideal for content creators, tech enthusiasts, and advanced home users managing 4K videos, RAW photos, personal media libraries, and multiple NAS apps.
- 【Up to 80TB for Growing Digital Libraries】 Supports up to 80TB of storage using two HDD bays and two M.2 NVMe SSD slots for family photos, movies, RAW photos, 4K videos, work files, and device backups. AI photo management supports recognition of people, objects, scenes, and locations, album organization, and duplicate photo detection. HDDs and SSDs are not included.
- 【AI-powered Home Surveillance】Turn DXP2800 into a centralized home surveillance hub by connecting compatible network cameras and storing recordings locally on your NAS. AI-powered features include Face Recognition, People Detection, and Pet Detection, helping advanced home users review important events more efficiently while managing home surveillance and personal data in one place.
- 【One data Center Across Your Devices】Keep files from desktops, laptops, phones, tablets, and other devices together instead of scattered across cloud accounts and external drives. Access, back up, organize, and share data across Windows, macOS, Android, iOS, web browsers, and compatible smart TVs—ideal for creators and advanced home users working across multiple devices.
To try the documented api.zyte.com:8011 endpoint with the native example, replace only the proxy argument:
args: ['--proxy-server=http://api.zyte.com:8011'],
Use port 8014 only when your client is configured for the HTTPS proxy interface and the CA-certificate requirement is met. The standard HTTP proxy endpoint can be used for target URLs that use either HTTP or HTTPS; the proxy connection protocol and the target page’s protocol are separate concerns.
Use Zyte’s Puppeteer wrapper
Zyte’s zyte-smartproxy-puppeteer package wraps browser startup and exposes options aimed at SPM-style use. The documented install command is:
Rank #3
- One Place for All Your Data - Consolidate scattered files from multiple computers, phones and external drives into one accessible hub with 100% ownership
- Professional File Collaboration - Share projects with clients, sync documents across teams and maintain version control without Dropbox fees
- Automated Backup Protection - Set-and-forget backups for Macs, PCs and mobile devices to multiple destinations including cloud and external drives
- DIY Surveillance System - Transform IP cameras into a professional monitoring solution with motion alerts, recording schedules and remote viewing
- 2-Year Warranty - Reliable hardware backed by Synology's expert customer support team and ongoing software updates
npm install zyte-smartproxy-puppeteer
Example:
import puppeteer from 'zyte-smartproxy-puppeteer';
const apiKey = process.env.ZYTE_API_KEY;
if (!apiKey) throw new Error('Set ZYTE_API_KEY before running this script');
const browser = await puppeteer.launch({
spm_apikey: apiKey,
ignoreHTTPSErrors: true,
headless: true,
static_bypass: false,
block_ads: false,
headers: {
'X-Crawlera-Profile': 'desktop',
'X-Crawlera-Cookies': 'disable',
},
});
try {
const page = await browser.newPage();
const response = await page.goto('https://example.com', {
waitUntil: 'domcontentloaded',
timeout: 180000,
});
console.log('HTTP status:', response?.status() ?? 'no response');
console.log('Title:', await page.title());
} finally {
await browser.close();
}
The wrapper documents spm_apikey and defaults to http://proxy.zyte.com:8011. Its optional controls include:
headersfor proxy-related headers such as the desktop profile and cookie behavior shown above.static_bypassandblock_adsfor changing how static resources or ads are handled.ignoreHTTPSErrorsfor browser certificate errors, andheadlessfor headless operation.
Do not turn on bypass or ad blocking reflexively. Either can change a site’s behavior or prevent assets needed by the page from loading. Start with the least-modified request that meets your use case, then test optional behavior against the specific pages you need to support. If you adopt the wrapper, check its current package documentation and account compatibility rather than assuming its legacy option names select a particular current Zyte product.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Native setup, wrapper, or a different Zyte mode?
| Approach | Best fit | Important consideration |
|---|---|---|
| Native Puppeteer proxy | You want standard Puppeteer APIs and explicit control of Chromium arguments and page authentication. | You configure endpoint, credentials, lifecycle, and any proxy headers yourself. |
| Zyte Puppeteer wrapper | You want the wrapper’s startup options, including proxy headers and static-resource or ad controls. | It defaults to the older proxy.zyte.com:8011 endpoint; verify migration and key compatibility. |
| Zyte API proxy mode or browser-automation features | You are starting new work and want to evaluate Zyte’s current product paths. | Zyte warns that proxy mode is not optimized for browser-automation tools. Assess its browser-automation offering against your requirements rather than assuming a proxy is the recommended browser automation interface. |
The right choice depends on whether your task needs a browser you control, the wrapper’s particular request controls, or Zyte’s newer API path. “Crawlera proxy” is often used informally for the older service, but it does not identify a single current endpoint, account key, or product mode.
Rank #4
- Unlimited bandwidth, unlimited data.
- Super-fast VPN and one tap connect.
- Free worldwide multiple servers.
- Works with all type of data carries. (Wi-Fi, 4G, LTE, 3G).
- No registration, sign up needed.
Keep credentials and browser operations reliable
- Use an environment variable or secret manager. Inject the key at runtime. Avoid credentials embedded in source, command history, proxy URLs, browser-visible page URLs, screenshots, and diagnostic output.
- Close the browser in a
finallyblock. A navigation error should not leave Chromium processes running. For a long-running worker, also handle process shutdown and ensure active browser instances are closed. - Set a deliberate navigation timeout. A slow or stalled page should not hold a worker indefinitely. Record timeout outcomes separately from HTTP responses; a navigation timeout may occur before a response is available.
- Log useful diagnostics, not secrets. Capture the destination host, elapsed time, response status when present, and the error category. Never log the API key or a credential-bearing proxy URL.
- Check more than the final page title. For workflows that depend on content or assets, inspect the page result and relevant network failures. A successful top-level navigation does not establish that every page resource loaded as intended.
Troubleshoot common failures
407 responses or authentication failures
Confirm that the key is current for the selected Zyte mode, that it is being sent as the proxy username, and that the password is an empty string. Check that the environment variable is actually present in the process that launches Puppeteer. If the account migrated, verify the expected key and endpoint in the dashboard; Smart Proxy Manager and Zyte API keys are not interchangeable.
Requests appear to bypass the proxy
Check that --proxy-server=... is passed to puppeteer.launch() before Chromium starts. Ensure the argument is not overwritten by another launch configuration, and test from a newly launched browser. Puppeteer exposes launch arguments through LaunchOptions.args; setting a proxy argument on an already running browser cannot change how that Chromium process was launched.
Headless pages behave differently
The wrapper documentation suggests the X-Crawlera-Profile: desktop header when headless browser headers are detected. Try that documented profile if the wrapper is in use, then compare behavior with and without it. Do not assume this header fixes all differences between headless and headed browsing.
Best Value
- Complete Phone & Computer Backup - Automatically protect photos, documents and videos from iPhone android, Mac and Windows to one secure location
- Your Private File Cloud - Access files from anywhere and share large projects with family or clients without relying on expensive cloud subscriptions
- Smart Home Security Hub - Monitor your home 24/7 with AI-powered surveillance that detects people, vehicles and sends instant alerts
- 100% Data Ownership - Keep full control of your personal data with multi-platform access and no monthly subscription fees
- 2-Year Warranty - Reliable hardware backed by Synology's expert customer support team and ongoing software updates
Assets are missing or the page changes unexpectedly
With the wrapper, temporarily set static_bypass: false and block_ads: false, then retest. The wrapper notes that either feature can break some sites. If the page depends on scripts, images, or other resources, inspect those requests before restoring either optimization.
TLS or certificate errors
For ordinary HTTP proxy use, first verify the endpoint and the target URL scheme. If you specifically need the dedicated HTTPS proxy interface at api.zyte.com:8014, confirm that the client supports it and that its CA certificate is installed. ignoreHTTPSErrors in the wrapper concerns browser certificate handling; it is not a substitute for satisfying the HTTPS proxy interface’s CA setup.
Navigation times out
Distinguish a genuinely slow destination from a proxy connection or authentication problem. Record elapsed time and available response or error details, and test a lightweight destination. Increase the timeout only when the workload reasonably needs more time; a larger limit does not repair an invalid endpoint or credentials.
Or skip the browser setup
If your actual goal is to get a page image or PDF—not to control a proxied Puppeteer session—you can make one request to ScreenshotNeo, a website screenshot API and MCP server for developers. It is a different tool from a Crawlera/Zyte proxy: it returns a capture rather than giving your code a browser session to automate. Its API documentation covers the request options.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallcurl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo removes cookie and consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed. Its MCP server lets AI agents use screenshot tools. The Free plan includes 1,000 screenshots per month with no card, and paid plans start at $5 for 3,000 screenshots. Sign up for free to try it.
Frequently asked questions
Does Crawlera still exist under that name?
Crawlera is the former name associated with Zyte Smart Proxy Manager. Zyte’s current migration material discusses Zyte API proxy mode, so identify the current account product and endpoint rather than relying on the old name alone.
Can a Puppeteer proxy replace a screenshot service?
Not directly. A proxy changes how browser requests are routed; it does not itself return a screenshot or PDF. Use Puppeteer when you need to automate and inspect a browser, and a capture API when the required output is an image or document.
Quick Recap
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.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problems

