Skip to main content
Version: 1.3




Type: string

URL of the target endpoint. Supports both HTTP and HTTPS schemes.


Type: string = "\"GET\""

HTTP method.


Type: Object<string, string>

Additional HTTP headers to add. It's only recommended to use this option, with headers that are typically added by websites, such as cookies. Overriding default browser headers will remove the masking this function provides.


Type: string

An HTTP proxy to be passed down to the HTTP request. Supports proxy authentication with Basic Auth.


Type: object

Configuration to be used for generating correct browser headers. See the header-generator library.


Type: string = "en"

Two-letter ISO 639 language code.


Type: string = "US"

Two-letter ISO 3166 country code.


Type: boolean

If true, the function uses User-Agent of a mobile browser.


Type: boolean = true

If set to true, SSL/TLS certificate errors will be ignored.


Type: boolean = true

Node.js' HTTP parser is stricter than parsers used by web browsers, which prevents scraping of websites whose servers do not comply with HTTP specs, either by accident or due to some anti-scraping protections, causing e.g. the invalid header value char error. The useInsecureHttpParser option forces the HTTP parser to ignore certain errors which lets you scrape such websites. However, it will also open your application to some security vulnerabilities, although the risk should be negligible as these vulnerabilities mainly relate to server applications, not clients. Learn more in this blog post.


Type: AbortFunction

Function accepts response object as a single parameter and should return true or false. If function returns true, request gets aborted.


Type: boolean = true

If set to false, it will prevent use of HTTP2 requests. This is strongly discouraged. Websites expect HTTP2 connections, because browsers use HTTP2 by default. It will automatically downgrade to HTTP/1.1 for websites that do not support HTTP2. For Node 10 this option is always set to false because Node 10 does not support HTTP2 very well. Upgrade to Node 12 for better performance.


Type: boolean

Automatically encode URLs via encodeURI() before resolving them.