📖 Guide

Curl — Complete Reference

Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.

81 commands across 11 categories

Basic Requests

CommandDescription
curl https://example.com
Simple GET request (output to stdout)
curl -o file.html https://example.com
Save output to a file
curl -O https://example.com/file.zip
Save with remote filename
curl -L https://example.com
Follow redirects (3xx responses)
curl -s https://api.example.com/data
Silent mode — suppress progress meter
curl -sS https://api.example.com/data
Silent but show errors
curl -f https://api.example.com/data
Fail silently on HTTP errors (no output on 4xx/5xx)
curl --compressed https://example.com
Request compressed response (gzip, deflate, br)

HTTP Methods

CommandDescription
curl -X GET https://api.example.com/users
Explicit GET request
curl -X POST https://api.example.com/users
POST request
curl -X PUT https://api.example.com/users/1
PUT request (full replace)
curl -X PATCH https://api.example.com/users/1
PATCH request (partial update)
curl -X DELETE https://api.example.com/users/1
DELETE request
curl -I https://example.com
HEAD request — fetch headers only
curl -X OPTIONS https://api.example.com
OPTIONS request (CORS preflight)

Headers

CommandDescription
curl -H "Content-Type: application/json" URL
Set a request header
curl -H "Accept: application/json" URL
Set Accept header
curl -H "Authorization: Bearer TOKEN" URL
Bearer token auth header
curl -H "X-Custom: value" -H "Another: val" URL
Multiple custom headers
curl -H "Content-Type:" URL
Remove a default header (empty value)
curl -A "MyApp/1.0" URL
Set User-Agent header
curl -e "https://referrer.com" URL
Set Referer header
curl -D headers.txt URL
Dump response headers to a file

Authentication

CommandDescription
curl -u user:pass https://api.example.com
Basic authentication
curl -u user https://api.example.com
Basic auth — prompt for password
curl -H "Authorization: Bearer TOKEN" URL
Bearer token (OAuth2, JWT)
curl --digest -u user:pass URL
HTTP Digest authentication
curl --negotiate -u : URL
Kerberos/SPNEGO authentication
curl -n URL
Use credentials from ~/.netrc file
curl --oauth2-bearer TOKEN URL
OAuth2 bearer token (curl 7.87+)

Data & POST

CommandDescription
curl -d "name=John&age=30" URL
POST form data (application/x-www-form-urlencoded)
curl -d '{"name":"John"}' -H "Content-Type: application/json" URL
POST JSON data
curl -d @data.json -H "Content-Type: application/json" URL
POST data from file
curl --data-urlencode "q=hello world" URL
URL-encode data automatically
curl -d @- URL <<< '{"key":"val"}'
POST data from stdin
curl --json '{"name":"John"}' URL
Shorthand for JSON POST (curl 7.82+, sets headers)
curl -d '' -X POST URL
POST with empty body
curl --data-binary @file.bin URL
POST binary data without processing

File Upload/Download

CommandDescription
curl -F "file=@photo.jpg" URL
Upload file as multipart form data
curl -F "file=@photo.jpg;type=image/jpeg" URL
Upload with explicit MIME type
curl -F "file=@doc.pdf" -F "name=report" URL
Upload file with additional form fields
curl -T file.txt ftp://ftp.example.com/
Upload via FTP (PUT)
curl -O -J -L URL
Download with server-suggested filename (-J)
curl -C - -O URL
Resume interrupted download
curl --limit-rate 1M -O URL
Limit download speed to 1 MB/s
curl -o /dev/null -w '%{speed_download}' URL
Measure download speed

SSL/TLS

CommandDescription
curl -k https://self-signed.example.com
Skip SSL certificate verification (insecure)
curl --cacert ca.crt https://example.com
Use custom CA certificate
curl --cert client.crt --key client.key URL
Client certificate authentication
curl --tlsv1.2 URL
Force minimum TLS version 1.2
curl --tlsv1.3 URL
Force TLS 1.3
curl -w '%{ssl_verify_result}' URL
Show SSL verification result code

Cookies

CommandDescription
curl -b "session=abc123" URL
Send a cookie
curl -b cookies.txt URL
Send cookies from file
curl -c cookies.txt URL
Save response cookies to file
curl -b cookies.txt -c cookies.txt URL
Read and update cookie jar
curl -b "a=1; b=2" URL
Send multiple cookies
curl -c - URL
Print cookies to stdout

Proxy

CommandDescription
curl -x http://proxy:8080 URL
Use HTTP proxy
curl -x socks5://proxy:1080 URL
Use SOCKS5 proxy
curl -x http://user:pass@proxy:8080 URL
Proxy with authentication
curl --noproxy "*.local,localhost" URL
Bypass proxy for specific hosts
curl -x socks5h://proxy:1080 URL
SOCKS5 with DNS through proxy
curl --proxy-insecure -x https://proxy:443 URL
Skip proxy SSL verification

Debugging & Verbose

CommandDescription
curl -v URL
Verbose output — show request/response headers
curl -vvv URL
Extra verbose (includes SSL handshake details)
curl --trace trace.log URL
Full hex dump of all data to file
curl --trace-ascii trace.log URL
ASCII trace dump (more readable)
curl -w '\n%{http_code}\n' URL
Print HTTP status code after response
curl -w '%{time_total}s\n' -o /dev/null -s URL
Measure total request time
curl -w '%{time_namelookup} %{time_connect} %{time_total}' URL
Detailed timing breakdown
curl --stderr errors.log URL
Redirect stderr to file

Common Patterns

CommandDescription
curl -sS URL | jq '.'
Fetch JSON and pretty-print with jq
curl -s -o /dev/null -w '%{http_code}' URL
Get only the HTTP status code
curl --retry 3 --retry-delay 2 URL
Retry failed requests with delay
curl --connect-timeout 5 --max-time 30 URL
Set connection and total timeout
curl -Z -O URL1 -O URL2 -O URL3
Parallel downloads (curl 7.66+)
curl -K config.txt
Read options from config file
curl -w '@format.txt' URL
Custom output format from file
while ! curl -sf URL; do sleep 5; done
e.g. Useful in CI/CD pipelines
Wait for service to become available
curl -X POST -H 'Content-Type: application/json' -d '{"text":"hello"}' https://hooks.slack.com/...
Send Slack webhook notification

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.