Result
Raw JSON
API / curl
0 ms · live
{
"count": 37,
"codes": {
"100": {
"phrase": "Continue",
"class": "1xx informational",
"rfc": "RFC 7231",
"desc": "Server received the request headers; client should send the body."
},
"101": {
"phrase": "Switching Protocols",
"class": "1xx informational",
"rfc": "RFC 7231",
"desc": "Server is switching protocols (e.g., to WebSocket) per Upgrade header."
},
"103": {
"phrase": "Early Hints",
"class": "1xx informational",
"rfc": "RFC 8297",
"desc": "Hint at resources to preload before the final response is ready."
},
"200": {
"phrase": "OK",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Standard success response. Body is the requested resource."
},
"201": {
"phrase": "Created",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Resource created. Location header points to it."
},
"202": {
"phrase": "Accepted",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Request accepted but not yet acted on."
},
"204": {
"phrase": "No Content",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Successful, but no body to return."
},
"206": {
"phrase": "Partial Content",
"class": "2xx success",
"rfc": "RFC 7233",
"desc": "Range request fulfilled."
},
"301": {
"phrase": "Moved Permanently",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Resource moved. Update bookmarks. Method may change to GET."
},
"302": {
"phrase": "Found",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Temporary redirect. Use 307 for stricter semantics."
},
"303": {
"phrase": "See Other",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Redirect after POST \u2192 GET. Strict."
},
"304": {
"phrase": "Not Modified",
"class": "3xx redirection",
"rfc": "RFC 7232",
"desc": "Cached copy is still valid (If-None-Match / If-Modified-Since matched)."
},
"307": {
"phrase": "Temporary Redirect",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Like 302 but method must be preserved."
},
"308": {
"phrase": "Permanent Redirect",
"class": "3xx redirection",
"rfc": "RFC 7538",
"desc": "Like 301 but method must be preserved."
},
"400": {
"phrase": "Bad Request",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Malformed request \u2014 syntax, size, framing."
},
"401": {
"phrase": "Unauthorized",
"class": "4xx client error",
"rfc": "RFC 7235",
"desc": "Auth required (or failed). Includes WWW-Authenticate header."
},
"403": {
"phrase": "Forbidden",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Auth identity is known but not allowed."
},
"404": {
"phrase": "Not Found",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "No resource at this URL."
},
"405": {
"phrase": "Method Not Allowed",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "URL exists but does not support this method."
},
"406": {
"phrase": "Not Acceptable",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Server can't produce a representation matching Accept headers."
},
"408": {
"phrase": "Request Timeout",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Client took too long. Safe to retry."
},
"409": {
"phrase": "Conflict",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Resource state conflict \u2014 retry after resolving."
},
"410": {
"phrase": "Gone",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Permanently removed; remove from caches."
},
"413": {
"phrase": "Payload Too Large",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Body exceeds server's limit."
},
"414": {
"phrase": "URI Too Long",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "URL exceeds server's limit."
},
"415": {
"phrase": "Unsupported Media Type",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Content-Type not handled."
},
"418": {
"phrase": "I'm a teapot",
"class": "4xx client error",
"rfc": "RFC 2324",
"desc": "April fools joke. Some teapots actually return this."
},
"422": {
"phrase": "Unprocessable Entity",
"class": "4xx client error",
"rfc": "RFC 4918",
"desc": "Body is well-formed but semantically invalid."
},
"429": {
"phrase": "Too Many Requests",
"class": "4xx client error",
"rfc": "RFC 6585",
"desc": "Rate limit hit. Retry-After header tells you when."
},
"451": {
"phrase": "Unavailable For Legal Reasons",
"class": "4xx client error",
"rfc": "RFC 7725",
"desc": "Censored / blocked by court order."
},
"500": {
"phrase": "Internal Server Error",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Generic server error. Check your logs."
},
"501": {
"phrase": "Not Implemented",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Server doesn't support this method at all."
},
"502": {
"phrase": "Bad Gateway",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Upstream returned garbage to a proxy."
},
"503": {
"phrase": "Service Unavailable",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Overloaded / down for maintenance. Retry-After."
},
"504": {
"phrase": "Gateway Timeout",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Upstream took too long. Safe to retry."
},
"505": {
"phrase": "HTTP Version Not Supported",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Server won't do that HTTP version."
},
"511": {
"phrase": "Network Authentication Required",
"class": "5xx server error",
"rfc": "RFC 6585",
"desc": "Captive portal / hotel wifi requires login."
}
}
}
{
"ok": true,
"slug": "utility/http-status",
"title": "HTTP status code reference",
"ms": 0,
"data": {
"count": 37,
"codes": {
"100": {
"phrase": "Continue",
"class": "1xx informational",
"rfc": "RFC 7231",
"desc": "Server received the request headers; client should send the body."
},
"101": {
"phrase": "Switching Protocols",
"class": "1xx informational",
"rfc": "RFC 7231",
"desc": "Server is switching protocols (e.g., to WebSocket) per Upgrade header."
},
"103": {
"phrase": "Early Hints",
"class": "1xx informational",
"rfc": "RFC 8297",
"desc": "Hint at resources to preload before the final response is ready."
},
"200": {
"phrase": "OK",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Standard success response. Body is the requested resource."
},
"201": {
"phrase": "Created",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Resource created. Location header points to it."
},
"202": {
"phrase": "Accepted",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Request accepted but not yet acted on."
},
"204": {
"phrase": "No Content",
"class": "2xx success",
"rfc": "RFC 7231",
"desc": "Successful, but no body to return."
},
"206": {
"phrase": "Partial Content",
"class": "2xx success",
"rfc": "RFC 7233",
"desc": "Range request fulfilled."
},
"301": {
"phrase": "Moved Permanently",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Resource moved. Update bookmarks. Method may change to GET."
},
"302": {
"phrase": "Found",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Temporary redirect. Use 307 for stricter semantics."
},
"303": {
"phrase": "See Other",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Redirect after POST \u2192 GET. Strict."
},
"304": {
"phrase": "Not Modified",
"class": "3xx redirection",
"rfc": "RFC 7232",
"desc": "Cached copy is still valid (If-None-Match / If-Modified-Since matched)."
},
"307": {
"phrase": "Temporary Redirect",
"class": "3xx redirection",
"rfc": "RFC 7231",
"desc": "Like 302 but method must be preserved."
},
"308": {
"phrase": "Permanent Redirect",
"class": "3xx redirection",
"rfc": "RFC 7538",
"desc": "Like 301 but method must be preserved."
},
"400": {
"phrase": "Bad Request",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Malformed request \u2014 syntax, size, framing."
},
"401": {
"phrase": "Unauthorized",
"class": "4xx client error",
"rfc": "RFC 7235",
"desc": "Auth required (or failed). Includes WWW-Authenticate header."
},
"403": {
"phrase": "Forbidden",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Auth identity is known but not allowed."
},
"404": {
"phrase": "Not Found",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "No resource at this URL."
},
"405": {
"phrase": "Method Not Allowed",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "URL exists but does not support this method."
},
"406": {
"phrase": "Not Acceptable",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Server can't produce a representation matching Accept headers."
},
"408": {
"phrase": "Request Timeout",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Client took too long. Safe to retry."
},
"409": {
"phrase": "Conflict",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Resource state conflict \u2014 retry after resolving."
},
"410": {
"phrase": "Gone",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Permanently removed; remove from caches."
},
"413": {
"phrase": "Payload Too Large",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Body exceeds server's limit."
},
"414": {
"phrase": "URI Too Long",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "URL exceeds server's limit."
},
"415": {
"phrase": "Unsupported Media Type",
"class": "4xx client error",
"rfc": "RFC 7231",
"desc": "Content-Type not handled."
},
"418": {
"phrase": "I'm a teapot",
"class": "4xx client error",
"rfc": "RFC 2324",
"desc": "April fools joke. Some teapots actually return this."
},
"422": {
"phrase": "Unprocessable Entity",
"class": "4xx client error",
"rfc": "RFC 4918",
"desc": "Body is well-formed but semantically invalid."
},
"429": {
"phrase": "Too Many Requests",
"class": "4xx client error",
"rfc": "RFC 6585",
"desc": "Rate limit hit. Retry-After header tells you when."
},
"451": {
"phrase": "Unavailable For Legal Reasons",
"class": "4xx client error",
"rfc": "RFC 7725",
"desc": "Censored / blocked by court order."
},
"500": {
"phrase": "Internal Server Error",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Generic server error. Check your logs."
},
"501": {
"phrase": "Not Implemented",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Server doesn't support this method at all."
},
"502": {
"phrase": "Bad Gateway",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Upstream returned garbage to a proxy."
},
"503": {
"phrase": "Service Unavailable",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Overloaded / down for maintenance. Retry-After."
},
"504": {
"phrase": "Gateway Timeout",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Upstream took too long. Safe to retry."
},
"505": {
"phrase": "HTTP Version Not Supported",
"class": "5xx server error",
"rfc": "RFC 7231",
"desc": "Server won't do that HTTP version."
},
"511": {
"phrase": "Network Authentication Required",
"class": "5xx server error",
"rfc": "RFC 6585",
"desc": "Captive portal / hotel wifi requires login."
}
}
},
"source": "live",
"meta": []
}
JSON endpoint
/api/v1/utility/http-status?q=443
curl
curl -s '/api/v1/utility/http-status?q=443'
How to use HTTP status code reference
-
1
Paste your input
Enter the value at the top — domain, IP, URL, email, ASN, hash, whatever fits this tool. The smart input auto-detects type.
-
2
Click "Inspect"
host.tools issues real probes (DNS, HTTP, TCP, TLS, WHOIS where applicable) and renders the result in milliseconds.
-
3
Open the API tab
Every web tool has a sibling /api/v1/utility/http-status JSON endpoint with the same payload. One copy-as-curl click and you're scripting it.
API equivalent
/api/v1/utility/http-status?q=443
curl -s '/api/v1/utility/http-status?q=443'
Embed this tool
<iframe src="/utility/http-status?q={INPUT}&embed=1"
width="100%" height="600" frameborder="0"></iframe>
Drop into any HTML page. The embed=1 flag hides nav and footer.
FAQ · HTTP status code reference
Common questions
Is HTTP status code reference free?
Yes — every tool is free on the web with a 200/hour rate limit per IP. The matching API endpoint /api/v1/utility/http-status is free up to 100 requests/hour, no key required.
Where does the data come from?
Real-time probes against authoritative sources (DNS root, RIRs, registries, the target server itself), plus partner data feeds from hostinfo.com (GeoIP/ASN) and hostcheck.com (reputation).
How fresh are the results?
Live by default. Cached for 5 minutes to make repeat queries instant; pass
?nocache=1 for a forced refresh.Can I run this from the command line?
Yes — every tool ships with a copy-as-curl. There's also an official CLI:
host.tools utility http-status YOUR_INPUT.Can I monitor results over time?
Pro tier lets you schedule any tool to run every 1/5/15/60 min and alert on diff. See monitors.
host.tools Pro
Run HTTP status code reference on a schedule. Get pinged when it changes.
Pro gets you bulk lookups, monitors, webhook alerts, history, exports and 10,000 API calls/day. $19/mo.
- ✓Schedule any tool — every 1, 5, 15, 60 min
- ✓Diff against last run, alert on change
- ✓Webhook + email + Slack + PagerDuty + OpsGenie
- ✓Bulk CSV upload, 1,000 inputs per job
- ✓Export results as CSV / NDJSON / Excel
- ✓90-day history, comparison view