What do HTTP status codes mean?
Browse the complete reference of 63 HTTP status codes organized by category — 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error. Each code includes a description, common causes, and how to handle it. Search or filter to find any code quickly.
Code: 429
429 Too Many Requests Category: Client Error (4xx) Meaning: Rate limit exceeded Common headers: Retry-After: 60 X-RateLimit-Remaining: 0 Use when: API rate limiting, throttling user requests
HTTP Status Code Reference
Complete reference for all HTTP response status codes. Search by code or name, filter by category, and click any code for detailed explanations.
61 status codes
1xxInformational
2xxSuccess
3xxRedirection
4xxClient Error
5xxServer Error
Quick reference — most common status codes
| Code | Meaning | Common Use |
|---|---|---|
| 200 | OK | Successful request |
| 201 | Created | Resource created (POST) |
| 204 | No Content | Successful delete or update |
| 301 | Moved Permanently | URL/domain migration |
| 302 | Found | Temporary redirect |
| 304 | Not Modified | Cache hit — use local copy |
| 400 | Bad Request | Invalid request body/params |
| 401 | Unauthorized | Missing/invalid auth |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource doesn't exist |
| 409 | Conflict | Version/state conflict |
| 422 | Unprocessable | Validation error |
| 429 | Too Many Requests | Rate limited |
| 500 | Internal Server Error | Unhandled server bug |
| 502 | Bad Gateway | Upstream server down |
| 503 | Service Unavailable | Maintenance/overload |
REST API cheat sheet — which codes to return
GET /resources
200 with the list. 304 if cached.
GET /resources/:id
200 with the resource. 404 if not found.
POST /resources
201 + Location header. 400/422 for validation. 409 for duplicates.
PUT/PATCH /resources/:id
200 with updated resource, or 204 if no body. 404 if not found.
DELETE /resources/:id
204 on success. 404 if not found (or 204 idempotently).
Any endpoint
401 if not authenticated. 403 if not authorized. 429 if rate limited. 500 for unexpected errors.
Tips & Best Practices
Use 201 Created for POST success, not 200 OK
200 OK means 'request succeeded.' 201 Created means 'request succeeded AND a new resource was created.' Using the right status code helps API consumers handle responses correctly and makes your API self-documenting.
Don't return 200 with an error message in the body
APIs that return `{ status: 200, error: 'Not found' }` break HTTP semantics and make error handling unreliable. HTTP clients, proxies, and monitoring tools rely on status codes. Return 404 for not found, 400 for bad input, 500 for server errors.
429 Too Many Requests should include Retry-After header
When rate limiting, always include a Retry-After header with the number of seconds until the client can retry. This lets well-behaved clients implement exponential backoff correctly instead of hammering your API in a tight loop.
Don't leak implementation details in error responses
A 500 error that returns a stack trace, database connection string, or internal path gives attackers a roadmap. In production, return generic error messages with status codes. Log detailed errors server-side where only your team can see them.
Frequently Asked Questions
What is the difference between 301 and 302 HTTP redirects?
When should I return 404 vs 410 HTTP status codes?
What does HTTP 429 Too Many Requests mean?
Related Inspect Tools
Git Diff Viewer
Paste unified diff output from git diff and view it with syntax highlighting, line numbers, and side-by-side or inline display
Compression Tester
Test and compare Brotli, Gzip, and Deflate compression ratios for text content — sizes, savings, and speed
TypeScript 6.0 Migration Checker
Analyze your tsconfig.json for TS 6.0 breaking changes, deprecated options, new defaults, and get a readiness grade with fixes
AI Code Security Scanner
Scan JavaScript and TypeScript code for vulnerabilities — hardcoded secrets, injection, XSS, SSRF, prototype pollution, and 20+ security checks