Fingerprint Updates¶
curl_cffi provides fingerprint updates for professional users via impersonate.pro.
Feature matrix¶
Edition |
HTTP/2 |
HTTP/3 |
Fingerprint updates |
|---|---|---|---|
Open source |
✅ |
✅ |
Major releases |
Commercial update |
✅ |
✅ |
Frequent updates |
Configure access¶
Set your API key once:
curl-cffi config --api-key imp_xxxxxxxx
or in Python:
from curl_cffi.fingerprints import FingerprintManager
FingerprintManager.set_api_key("imp_xxxxxxxx")
Or override the configured key at runtime:
export IMPERSONATE_API_KEY=imp_xxxxxxxx
Update fingerprints¶
From CLI:
curl-cffi update
From Python:
from curl_cffi.fingerprints import FingerprintManager
updated = FingerprintManager.update_fingerprints()
print(updated)
Load local fingerprints¶
from curl_cffi.fingerprints import FingerprintManager
fingerprints = FingerprintManager.load_fingerprints()
print(len(fingerprints))
print(fingerprints["chrome136"])
Load and edit fingerprints¶
For fingerprint-backed targets, you can load a fresh editable Fingerprint object
and pass it back to a request with the impersonate=... parameter.
import curl_cffi
fingerprint = curl_cffi.get_fingerprint("edge_146_macos_26")
fingerprint.headers["User-Agent"] = "..."
r = curl_cffi.get(
"https://example.com",
impersonate=fingerprint,
)
Storage paths¶
By default, local files are written to a platform-native config directory:
Linux:
$XDG_CONFIG_HOME/impersonateor~/.config/impersonatemacOS:
~/.config/impersonateWindows:
%APPDATA%\impersonate
Files stored there:
config.json: API key configfingerprints.json: cached fingerprints
Environment overrides:
IMPERSONATE_API_KEY: override the API key loaded fromconfig.json.IMPERSONATE_CONFIG_DIR: override the config/cache directory.