Supported browser impersonate targets¶
curl_cffi supports the same browser versions as supported by our fork of curl-impersonate.
Browser versions will be added only when their fingerprints change. If you see a version, e.g.
chrome122, was skipped, you can simply impersonate it with your own headers and the previous version.
If you are too busy to look up those details, you can try our commercial version at impersonate.pro, which has a weekly updated list of browser profiles and even more browser types.
If you are trying to impersonate a target other than a browser, use ja3=..., akamai=... and extra_fp=...
to specify your own customized fingerprints. See below for details.
chrome99
chrome100
chrome101
chrome104
chrome107
chrome110
chrome116 1
chrome119 1
chrome120 1
chrome123 3
chrome124 3
chrome131 5
chrome133a 5 6
chrome136 8
chrome142 11
chrome145 13 14
chrome146 13 14
chrome99_android
chrome131_android 5
edge99
edge101
safari153 2 9
safari155 2 9
safari170 1 9
safari172_ios 1 9
safari180 4 9
safari180_ios 4 9
safari184 8 9
safari184_ios 8 9
safari260 9 10
safari260_ios 9 10
safari2601 9 11
firefox133 5
firefox135 7
firefox144 11 12
firefox147 13 14
tor145 8
Notes:
Added in version
0.6.0.Fixed in version
0.6.0, previous http2 fingerprints were not correct.Added in version
0.7.0.Added in version
0.8.0.Added in version
0.9.0.The version suffix
a(e.g.chrome133a) means that this is an alternative version, i.e. the fingerprint has not been officially updated by browser, but has been observed because of A/B testing.Added in version
0.10.0.Added in version
0.11.0Since
0.11.0, the formatsafari184_iosis preferred oversafari18_4_ios, both are supported, but the latter is quite confusing and hard to parse.Added in version
0.12.0Added in version
0.14.0.Fixed in version
0.15.0, previous User-Agent header was not correct.Added in version
0.15.0.http3 support included.
Which target version to use?¶
Generally speaking, you should use the latest Chrome or Safari versions. Currently, they’re
chrome146, safari260 and safari260_ios. To always impersonate the latest available
browser versions, you can simply use chrome, firefox, safari and chrome_android, safari_ios.
import curl_cffi
curl_cffi.get(url, impersonate="chrome")
Tips:
iOS has restrictions on WebView and TLS libs, so safari_*_ios should work for a lot of apps.
If you encountered an android app with custom fingerprints, you can try the safari_ios
fingerprints, given that this app should have an iOS version.