API tools / TOOL PROFILE
curl.
A command-line tool and library for transferring data using URLs.
About curl
curl is an open-source command-line tool and software library for transferring data with URLs. Developers use the curl command to make HTTP requests, download files, upload data, inspect response headers, test APIs, automate web and network tasks, and troubleshoot connectivity directly from a terminal or script. The command-line tool supports a broad range of protocols and URL schemes, including HTTP, HTTPS, FTP, FTPS, SCP, SFTP, SMTP, IMAP, LDAP, MQTT, WebSocket, and others depending on how it is built. Its options cover common developer needs such as custom request methods, headers, cookies, authentication, redirects, proxies, TLS settings, retries, timeouts, compression, uploads, downloads, parallel transfers, and response output control. curl is also powered by libcurl, a portable client-side transfer library that applications can embed through a C API. libcurl provides the transfer engine behind many software products and supports features such as SSL certificates, HTTP POST and PUT, file uploads, proxy tunneling, connection reuse, HTTP/2, HTTP/3 support where available, cookies, authentication, transfer resumption, and asynchronous multi-transfer interfaces. For API development, curl is useful for quickly reproducing requests, checking authentication behavior, validating response codes, testing request payloads, and creating small scripts for smoke tests or deployment checks. Its command-line format is easy to save in documentation, shell scripts, CI jobs, bug reports, and support conversations. The tool can also generate equivalent libcurl source code for some commands, helping developers move from a manual request to an application integration. curl is designed to be portable and is available on Linux, macOS, Windows, BSD systems, and many other platforms. It is commonly installed by default or available through standard package managers, which makes it a dependable baseline for development environments, containers, servers, automation systems, and embedded software. Because curl exposes powerful networking options, users should review commands before running them, especially when downloading files, sending credentials, changing local files, or following redirects. curl is a strong fit for developers, operations teams, security engineers, and automation workflows that need a scriptable, transparent, and widely supported way to transfer data over network protocols.
Last reviewed:
Visit official website ↗ (opens in a new tab)