How to Use Proxies with Puppeteer: Complete Guide
Set up GProxy proxies with Puppeteer for headless Chrome automation. Covers proxy authentication, page-level proxy switching, and stealth techniques.
Prerequisites
- ✓[
- ✓"
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓1
- ✓6
- ✓+
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓e
- ✓d
- ✓"
- ✓,
- ✓
- ✓"
- ✓P
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓e
- ✓d
- ✓
- ✓(
- ✓n
- ✓p
- ✓m
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓p
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓a
- ✓c
- ✓c
- ✓o
- ✓u
- ✓n
- ✓t
- ✓
- ✓w
- ✓i
- ✓t
- ✓h
- ✓
- ✓a
- ✓c
- ✓t
- ✓i
- ✓v
- ✓e
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓p
- ✓l
- ✓a
- ✓n
- ✓"
- ✓,
- ✓
- ✓"
- ✓B
- ✓a
- ✓s
- ✓i
- ✓c
- ✓
- ✓J
- ✓a
- ✓v
- ✓a
- ✓S
- ✓c
- ✓r
- ✓i
- ✓p
- ✓t
- ✓/
- ✓a
- ✓s
- ✓y
- ✓n
- ✓c
- ✓-
- ✓a
- ✓w
- ✓a
- ✓i
- ✓t
- ✓
- ✓k
- ✓n
- ✓o
- ✓w
- ✓l
- ✓e
- ✓d
- ✓g
- ✓e
- ✓"
- ✓]
Step-by-Step Setup
[
{
"
T
I
T
L
E
"
:
"
I
N
S
T
A
L
L
P
U
P
P
E
T
E
E
R
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
N
S
T
A
L
L
P
U
P
P
E
T
E
E
R
W
I
T
H
N
P
M
"
,
"
C
O
D
E
"
:
"
N
P
M
I
N
S
T
A
L
L
P
U
P
P
E
T
E
E
R
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
"
}
,
{
"
T
I
T
L
E
"
:
"
L
A
U
N
C
H
B
R
O
W
S
E
R
W
I
T
H
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
N
F
I
G
U
R
E
C
H
R
O
M
E
W
I
T
H
G
P
R
O
X
Y
P
R
O
X
Y
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
'
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
\
N
C
O
N
S
T
P
A
G
E
=
A
W
A
I
T
B
R
O
W
S
E
R
.
N
E
W
P
A
G
E
(
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
A
U
T
H
E
N
T
I
C
A
T
E
W
I
T
H
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
E
T
P
R
O
X
Y
C
R
E
D
E
N
T
I
A
L
S
U
S
I
N
G
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
)
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
{
\
N
U
S
E
R
N
A
M
E
:
'
Y
O
U
R
_
U
S
E
R
N
A
M
E
'
,
\
N
P
A
S
S
W
O
R
D
:
'
Y
O
U
R
_
P
A
S
S
W
O
R
D
'
\
N
}
)
;
\
N
\
N
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
A
W
A
I
T
P
A
G
E
.
C
O
N
T
E
N
T
(
)
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
A
D
D
S
T
E
A
L
T
H
P
L
U
G
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
U
S
E
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
T
O
A
V
O
I
D
D
E
T
E
C
T
I
O
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
'
)
;
\
N
C
O
N
S
T
S
T
E
A
L
T
H
P
L
U
G
I
N
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
'
)
;
\
N
P
U
P
P
E
T
E
E
R
.
U
S
E
(
S
T
E
A
L
T
H
P
L
U
G
I
N
(
)
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
B
L
O
C
K
U
N
N
E
C
E
S
S
A
R
Y
R
E
S
O
U
R
C
E
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
P
E
E
D
U
P
S
C
R
A
P
I
N
G
B
Y
B
L
O
C
K
I
N
G
I
M
A
G
E
S
A
N
D
F
O
N
T
S
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
S
E
T
R
E
Q
U
E
S
T
I
N
T
E
R
C
E
P
T
I
O
N
(
T
R
U
E
)
;
\
N
P
A
G
E
.
O
N
(
'
R
E
Q
U
E
S
T
'
,
(
R
E
Q
)
=
>
{
\
N
I
F
(
[
'
I
M
A
G
E
'
,
'
F
O
N
T
'
,
'
S
T
Y
L
E
S
H
E
E
T
'
]
.
I
N
C
L
U
D
E
S
(
R
E
Q
.
R
E
S
O
U
R
C
E
T
Y
P
E
(
)
)
)
\
N
R
E
Q
.
A
B
O
R
T
(
)
;
\
N
E
L
S
E
\
N
R
E
Q
.
C
O
N
T
I
N
U
E
(
)
;
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
A
N
D
V
E
R
I
F
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
O
N
F
I
R
M
T
H
E
P
R
O
X
Y
I
S
W
O
R
K
I
N
G
C
O
R
R
E
C
T
L
Y
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
T
B
O
D
Y
=
A
W
A
I
T
P
A
G
E
.
E
V
A
L
U
A
T
E
(
(
)
=
>
D
O
C
U
M
E
N
T
.
B
O
D
Y
.
I
N
N
E
R
T
E
X
T
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
'
C
U
R
R
E
N
T
I
P
:
'
,
J
S
O
N
.
P
A
R
S
E
(
B
O
D
Y
)
.
O
R
I
G
I
N
)
;
\
N
A
W
A
I
T
B
R
O
W
S
E
R
.
C
L
O
S
E
(
)
;
"
}
]
Code Examples
Why Use Proxies with Puppeteer?
Puppeteer is Google's official Node.js library for controlling headless Chrome. It's widely used for web scraping, testing, and automation. When accessing websites at scale, you need proxies to avoid IP blocks and rate limits. GProxy's pool of 10M+ residential IPs across 150+ countries makes your Puppeteer scripts appear as real users from any location.
Basic Proxy Setup
Puppeteer supports proxy configuration through Chrome launch arguments. Pass --proxy-server when launching the browser. For GProxy's HTTP proxies, the format is straightforward. Unlike Selenium, Puppeteer gives you programmatic control over proxy authentication through the page.authenticate() method, eliminating the need for browser extensions.
Per-Page Proxy Authentication
Puppeteer's page.authenticate() method handles proxy authentication elegantly. Call it before navigating to set credentials that will be sent automatically when the proxy requests authentication. This works with GProxy's username/password authentication out of the box.
Proxy Rotation Strategies
With Puppeteer, you have two rotation strategies: browser-level (launch a new browser per proxy) and context-level (create new incognito contexts). Browser contexts are lighter than full browser instances and support different proxy configurations per context, making them ideal for concurrent scraping with different IPs.
Stealth and Anti-Detection
Modern websites use fingerprinting to detect automated browsers. Combine GProxy residential proxies with puppeteer-extra and the stealth plugin to evade detection. The stealth plugin patches common detection vectors like navigator.webdriver, chrome.runtime, and WebGL fingerprints.
Performance Optimization
Optimize Puppeteer with proxies by: blocking unnecessary resources (images, fonts, CSS) using request interception, setting appropriate timeouts, reusing browser instances with fresh pages, and using GProxy's datacenter proxies for speed-critical non-sensitive scraping tasks.
Use Cases
[
{
"
T
I
T
L
E
"
:
"
S
P
A
S
C
R
A
P
I
N
G
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
C
R
A
P
E
S
I
N
G
L
E
-
P
A
G
E
A
P
P
L
I
C
A
T
I
O
N
S
T
H
A
T
R
E
Q
U
I
R
E
J
A
V
A
S
C
R
I
P
T
E
X
E
C
U
T
I
O
N
T
O
R
E
N
D
E
R
C
O
N
T
E
N
T
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
C
R
E
E
N
S
H
O
T
S
E
R
V
I
C
E
S
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
E
N
E
R
A
T
E
W
E
B
S
I
T
E
S
C
R
E
E
N
S
H
O
T
S
F
R
O
M
D
I
F
F
E
R
E
N
T
C
O
U
N
T
R
I
E
S
U
S
I
N
G
G
E
O
-
T
A
R
G
E
T
E
D
P
R
O
X
I
E
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
P
R
I
C
E
C
O
M
P
A
R
I
S
O
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
O
N
I
T
O
R
C
O
M
P
E
T
I
T
O
R
P
R
I
C
E
S
A
C
R
O
S
S
R
E
G
I
O
N
S
W
I
T
H
L
O
C
A
T
I
O
N
-
S
P
E
C
I
F
I
C
R
E
S
I
D
E
N
T
I
A
L
I
P
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
O
C
I
A
L
M
E
D
I
A
A
U
T
O
M
A
T
I
O
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
U
T
O
M
A
T
E
S
O
C
I
A
L
M
E
D
I
A
W
O
R
K
F
L
O
W
S
W
I
T
H
U
N
I
Q
U
E
I
P
S
P
E
R
A
C
C
O
U
N
T
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ready to Get Started?
Start with GProxy in minutes — residential proxies from $0.85/GB, IPv6 from $0.03/proxy, pay as you go.
