curl/curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features observed · 2026-08-28
Health v2 · maintenance only
92/100
- Activity 99
- Release rhythm 78
- Longevity 100
Flags: no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 49
- age_days: 6012
- days_rel: 70
- days_push: 7
- n_releases_24m: 16
Adoption not part of the score
42687 stars · 7327 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
curl is a command-line tool and libcurl is a C library for transferring data to or from servers using URL syntax, supporting dozens of protocols including HTTP/HTTPS, FTP, SFTP, SCP, MQTT, SMTP, IMAP, and WebSockets. It is one of the most widely deployed pieces of internet software, embedded in billions of devices and applications.
Use cases
- download a file from a url from the command line
- test an http api endpoint with custom headers and post data
- upload files over ftp or sftp in scripts
- embed http client functionality in a c or c++ application
- fetch web content with redirects, cookies, and tls
- send email via smtp from a script
- debug http/2 and http/3 connections
- transfer data through socks or http proxies
When to choose
- you need a battle-tested, ubiquitous tool for url-based data transfer across virtually every platform
- you want a mature C library for adding protocol support to native applications
- you need broad protocol coverage (HTTP/1-3, FTP, SFTP, SCP, SMTP, IMAP, MQTT, WebSockets) in one tool
- you need fine-grained control over TLS, proxies, authentication, and connection behavior
When to avoid
- you need a high-level HTTP client with automatic JSON handling in a scripting language - use that language's native libraries
- you need a full browser engine with JavaScript execution
- you want a GUI download manager
- you need a persistent download service with scheduling - use a dedicated download manager
Facets
cli-tool · maturity stable
http-client cli file-upload networking security developer-tools networking apis cross-platform windows bsd cross-platform cli c embedded libcurl data-transfer ftp sftp http2 http3 quic tls websocket url-syntax proxy-support command-line linux macos android ios
10 sources
- readme: https://github.com/curl/curl · fetched 2026-08-28 · 11d1ca2946f1
- homepage: https://curl.se/ · fetched 2026-08-29 · 67eaf0501a2d
- site_page: https://curl.se/docs/releases.html · fetched 2026-08-29 · 27635af6c478
- site_page: https://curl.se/docs · fetched 2026-08-29 · d571fe515003
- site_page: https://curl.se/docs/projdocs.html · fetched 2026-08-29 · 60800800ee8e
- site_page: https://curl.se/docs/faq.html · fetched 2026-08-29 · 5de4f659e63f
- site_page: https://curl.se/docs/help-us.html · fetched 2026-08-29 · 8aee2ce7a3fc
- site_page: https://curl.se/docs/knownbugs.html · fetched 2026-08-29 · 7cb1967d3e48
- site_page: https://curl.se/docs/knownrisks.html · fetched 2026-08-29 · 728f75f33c2d
- site_page: https://curl.se/ch · fetched 2026-08-29 · 545446dcb742
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| curl/curl | main | 92 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem