curl: Command-line tool for data transfer
Command-line tool and C library for URL-based data transfer supporting 25+ protocols.
Learn more about curl
curl is a command-line utility and libcurl is its underlying C library for transferring data to and from servers using URL syntax. The tool implements client-side support for numerous internet protocols through a unified interface, handling authentication, SSL/TLS encryption, and various transfer methods. curl operates as a single binary that can perform HTTP requests, file transfers, email operations, and real-time streaming across different network protocols. It serves as a foundation for web scraping, API testing, file synchronization, and automated data transfer workflows.
Protocol Coverage
Implements client support for over 25 internet protocols including HTTP/HTTPS, FTP/FTPS, SMTP/SMTPS, IMAP, WebSocket, and MQTT. This broad protocol support eliminates the need for multiple specialized tools.
Library Integration
Provides libcurl as a C library that applications can embed for network transfer functionality. The library offers the same protocol support and features as the command-line tool through a programmatic interface.
Cross-Platform Availability
Runs natively on virtually all operating systems and architectures, from embedded systems to mainframes. The consistent behavior across platforms makes it reliable for automation and scripting.
8.18.0
- –changelog release blog !curl-8- 18 0
8.17.0
- –changelog release blog !curl-8 17 0
8.16.0
- –changelog release blog !curl-8 16 0-1080
See how people are using curl
Top in Networking
Related Repositories
Discover similar tools and frameworks used by developers
jitsi-meet
WebRTC video conferencing with self-hosting and embeddable SDKs.
ngrok
Original ngrok v1 reverse proxy (2013-2016, archived). For current ngrok, see the cloud service.
proxychains
Force TCP connections through chained SOCKS/HTTP proxies via LD_PRELOAD.
nginx-proxy-manager
Web UI for Nginx reverse proxy and SSL management.
SwitchyOmega
Browser extension for managing and switching between multiple proxy configurations.