skillfed

curl-cffi

libcurl ffi bindings for Python, with impersonation support.

curl-cffi Permissive license MIT Active 6,306 v0.16.0 released

Install

curl-cffi on PyPI

pip

pip install curl-cffi

uv

uv add curl-cffi

poetry

poetry add curl-cffi

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 2 — cffi, certifi
Maintenance actively maintained — 12 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: curl_cffi-0.16.0-cp310-abi3-macosx_10_9_x86_64.whl; curl_cffi-0.16.0-cp310-abi3-macosx_11_0_arm64.whl; curl_cffi-0.16.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; curl_cffi-0.16.0-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl; curl_cffi-0.16.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; curl_cffi-0.16.0-cp310-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl; curl_cffi-0.16.0-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl; curl_cffi-0.16.0-cp310-abi3-musllinux_1_2_aarch64.whl; curl_cffi-0.16.0-cp310-abi3-musllinux_1_2_x86_64.whl; curl_cffi-0.16.0-cp310-abi3-win_amd64.whl; curl_cffi-0.16.0-cp310-abi3-win_arm64.whl; curl_cffi-0.16.0-cp313-abi3-android_24_arm64_v8a.whl; curl_cffi-0.16.0-cp314-cp314t-macosx_10_15_x86_64.whl; curl_cffi-0.16.0-cp314-cp314t-macosx_11_0_arm64.whl; curl_cffi-0.16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; curl_cffi-0.16.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; curl_cffi-0.16.0-cp314-cp314t-musllinux_1_2_aarch64.whl; curl_cffi-0.16.0-cp314-cp314t-musllinux_1_2_x86_64.whl; curl_cffi-0.16.0-cp314-cp314t-win_amd64.whl; curl_cffi-0.16.0-cp314-cp314t-win_arm64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Free Threading

About curl-cffi

from the package's own PyPI description — quoted content, verbatim

curl_cffi

PyPI Downloads (image) PyPI - Python Version (image) PyPI version (image) Generic badge (image) Generic badge (image)

Documentation

Python binding for curl-impersonate fork via cffi. For commercial support, visit impersonate.pro.

curl_cffi is the most popular Python binding for curl. Unlike other pure python http clients like httpx or requests, curl_cffi can impersonate browsers' TLS/JA3 and HTTP/2 fingerprints. If you are blocked by some website for no obvious reason, you can give curl_cffi a try.

Python 3.10 is the minimum supported version since v0.14.

Recent highlights

  • 💨 http/3 fingerprints and UDP socks5...

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

curl_cffi provides Python bindings to libcurl with browser TLS/JA3 and HTTP/2 fingerprint impersonation, enabling requests that evade detection by mimicking specific browser signatures.

Medium install friction due to precompiled binary wheels across many platforms (cp310-abi3 through cp314-cp314t, covering Linux, macOS, Windows, and Android). Active maintenance with recent release 12 days ago and 6306 GitHub stars indicate solid community support.

MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.

Usage

pip install curl_cffi

import curl_cffi
r = curl_cffi.get("https://example.com", impersonate="chrome")
print(r.json())

Requires Python 3.10 or later; precompiled wheels available for most platforms but may require manual compilation on unsupported architectures.

Verdict: curl_cffi is an actively maintained, MIT-licensed HTTP client with strong fingerprint impersonation capabilities for evading bot detection. Medium install friction from binary wheels is offset by broad platform support and no known vulnerabilities. Suitable for web scraping and bot-detection bypass scenarios where requests or httpx fall short.

Needs verification

  • Whether precompiled wheels cover all target deployment environments (e.g., custom Linux distributions or older glibc versions).
  • Performance characteristics and resource overhead of fingerprint impersonation compared to standard HTTP clients.
  • Whether HTTP/3 and UDP SOCKS5 proxy support (v0.15.0+) are production-ready or still experimental.
browser fingerprint impersonationTLS JA3 spoofingcurl with browser emulationbypass bot detection HTTPHTTP/2 HTTP/3 client libraryrequests-like async HTTPcloudflare bypass library

Similar packages