Overview
curl is a command-line tool for transferring data to or from servers using URL syntax. Beyond HTTP and HTTPS it supports FTP/SFTP, SMTP, IMAP, LDAP, MQTT, WebSocket, and many other protocols, while libcurl exposes the same transfer engine for embedding in applications.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Use one CLI for HTTP requests and file transfers
Options can compose headers, GET/POST, downloads/uploads, authentication, proxies, and redirects so network requests can be reproduced from scripts and CI.
Embed the transfer engine through libcurl
Applications can use the C library behind curl to control protocols, TLS, proxies, authentication, and transfer behavior programmatically.
For API inspection and scripted network transfers
curl fits API checks, release downloads, uploads, health probes, and other URL-based network operations that need to be automated from a shell.
Protect TLS verification and credentials
-k/--insecure disables TLS certificate verification and should not be a routine production option. Credentials placed directly on command lines can also leak through shell history or process listings.
Sources: [4]
Official sources
- [1]curl/curl repository(2026-09-20)
- [2]curl README(2026-09-20)
- [3]curl license(2026-09-20)
- [4]curl documentation(2026-09-20)
- [5]libcurl documentation(2026-09-20)
Supplemental curator note
curl handles far more than API calls: one CLI covers many transfer protocols and the same engine is available as libcurl for applications. Avoid casually using `-k/--insecure` with HTTPS because it disables certificate verification.
Try it in 3 steps
- 1
Check the curl build and supported protocols
Inspect available protocols, TLS backend, and compiled features.
curl --version - 2
Inspect HTTP response headers
Send a HEAD request while keeping normal TLS certificate verification enabled.
curl --fail-with-body --show-error --silent --head https://curl.se/ - 3
Download a response to a file
Save the response body to a file to verify the basic command-line transfer workflow.
curl --fail-with-body --show-error --silent https://curl.se/ -o curl-home.html
Growth
Growth trends · Last 30 days
42,893 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 303
- Open PRs
- 40
- Issues opened
- 87
- Issues closed
- 87
- PRs opened
- 745
- PRs merged
- 6
Issues
87 / 87
Pull requests
745 / 6
Maintenance
- Median first response
- 4.4 hr
- Issue response rate
- 58.8% (47/80)
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- http
- https
- ftp
- user-agent
- client
- library
- curl
- libcurl
- c
- transfer-data
- ldap
- mqtt
- Stars
- 42,893
- Forks
- 7,370
- Watchers
- 775
- Open issues
- 8
- Contributors
- 410
- Primary language
- C
- License
- curl
- Repository last updated
- Sep 19, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Ollama181,277 Stars
A runtime for downloading and running open models on a computer or server through a CLI and local API.
Go - llama.cpp128,861 Stars
A C/C++ LLM inference runtime spanning GGUF, quantization, CPU/GPU backends, CLI, and an OpenAI-compatible server.
C++ - RustDesk124,007 Stars
A cross-platform Rust remote desktop with NAT traversal, relay fallback, and optional self-hosted ID/relay infrastructure.
Rust - Whisper109,371 Stars
A speech recognition model for multilingual transcription, English translation of non-English speech, and language identification.
Python - fzf83,141 Stars
An interactive terminal tool that fuzzy-filters any candidate list and returns selected values to a shell workflow.
Go
Report incorrect information
Tell us if any listing information is incorrect or outdated.