LinuxCommandLibrary

curl-impersonate

TLDR

Impersonate Chrome

$ curl_chrome124 [https://example.com]
copy
Impersonate Firefox
$ curl_ff120 [https://example.com]
copy
Impersonate Safari
$ curl_safari17_0 [https://example.com]
copy
Output to file
$ curl_chrome124 -o [output.html] [https://example.com]
copy
With custom headers
$ curl_chrome124 -H "[Header: value]" [https://example.com]
copy
Follow redirects
$ curl_chrome124 -L [https://example.com]
copy

SYNOPSIS

curl_chrome\* [curloptions] url_
curl_ff\* [curloptions] url_
curl_safari\* [curloptions] url_

DESCRIPTION

curl-impersonate is a modified curl that impersonates browser TLS and HTTP fingerprints. Makes requests identical to Chrome, Firefox, Edge, or Safari. Bypasses bot detection based on TLS fingerprinting.

WRAPPER SCRIPTS

curl_chrome110, curl_chrome124

Chrome impersonation
curl_ff109, curl_ff120
Firefox impersonation
curl_safari15_5, curl_safari17_0
Safari impersonation
curl_edge101
Edge impersonation

VERSIONS

Chrome version: Impersonates Chrome, Edge, Safari
Firefox version: Impersonates Firefox

LIBCURL API

$ curl_easy_impersonate(curl, "chrome116", 1);
copy
Set target browser and whether to use default headers.

DOCKER USAGE

$ docker run --rm lwthiker/curl-impersonate:0.6-chrome \
  curl_chrome124 https://example.com
copy

CAVEATS

Some curl flags alter TLS signature and may cause detection. Wrapper scripts set necessary headers. Custom options may break impersonation.

SEE ALSO

curl(1), httpie(1), wget(1)

Copied to clipboard