Atlas / Categories / Development / Httpbin Development — entry 040 of 98
Httpbin Verified Jul 2026
Httpbin.org is Kenneth Reitz's classic HTTP testing service — hit any of its endpoints (/get, /post, /headers, /status/<code>, /delay/<n>, and more) and it echoes back exactly what your client sent, making it a staple for debugging request/response behavior, auth headers, redirects, and streaming. It needs no key and returns JSON by default, with dedicated endpoints for HTML, XML, and binary payloads too. Now maintained by Postman under the postmanlabs org, the service is known for intermittent outages under load — this session hit repeated 503s from its AWS load balancer before it recovered — so momentary unavailability is a known quirk, not a sign the service is gone.
http testing debugging mock-api
Authentication None required Call it straight away — no key, no signup.
HTTPS Supported Traffic is encrypted in transit.
CORS Enabled Callable directly from browser JavaScript.
Pricing Free No paid tier — free for the documented use case.
Formats JSON, HTML, XML Responses can be requested as JSON or HTML or XML.
GreatAPIs Score Score 100 out of 100
Authentication 25/25 No authentication required
Pricing 20/20 Free to use
Docs 20/20 Machine-readable spec file bundled
Formats 15/15 Supports 3 response formats
Freshness 20/20 Verified within 6 months
Embed this badge <a href="https://greatapis.com/api/httpbin/"><img src="https://greatapis.com/badge/httpbin.svg" alt="Scored 100 on greatapis.com"></a>
Auth quickstart No key needed — call it now. Stored key No key stored Clear key
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints HTTP Methods 1 Testing different HTTP verbs
GET /getThe request's query parameters. Responses Status Description Schema 200The request's query parameters. —
Auth 6 Auth methods
GET /basic-auth/{user}/{passwd}Prompts the user for authorization using HTTP Basic Auth. Parameters Name In Required Type userpath yes string passwdpath yes string
Responses Status Description Schema 200Sucessful authentication. — 401Unsuccessful authentication. —
GET /bearerPrompts the user for authorization using bearer authentication. Parameters Name In Required Type Authorizationheader no —
Responses Status Description Schema 200Sucessful authentication. — 401Unsuccessful authentication. —
GET /digest-auth/{qop}/{user}/{passwd}Prompts the user for authorization using Digest Auth. Parameters Name In Required Type qoppath yes string userpath yes string passwdpath yes string
Responses Status Description Schema 200Sucessful authentication. — 401Unsuccessful authentication. —
GET /digest-auth/{qop}/{user}/{passwd}/{algorithm}Prompts the user for authorization using Digest Auth + Algorithm. Parameters Name In Required Type qoppath yes string userpath yes string passwdpath yes string algorithmpath yes string
Responses Status Description Schema 200Sucessful authentication. — 401Unsuccessful authentication. —
GET /digest-auth/{qop}/{user}/{passwd}/{algorithm}/{stale_after}Prompts the user for authorization using Digest Auth + Algorithm. Parameters Name In Required Type qoppath yes string userpath yes string passwdpath yes string algorithmpath yes string stale_afterpath yes string
Responses Status Description Schema 200Sucessful authentication. — 401Unsuccessful authentication. —
GET /hidden-basic-auth/{user}/{passwd}Prompts the user for authorization using HTTP Basic Auth. Parameters Name In Required Type userpath yes string passwdpath yes string
Responses Status Description Schema 200Sucessful authentication. — 404Unsuccessful authentication. —
Status codes 1 Generates responses with given status code
GET /status/{codes}Return status code or random status code if more than one are given Parameters Name In Required Type codespath yes —
Responses Status Description Schema 100Informational responses — 200Success — 300Redirection — 400Client Errors — 500Server Errors —
Request inspection 3 Inspect the request data
GET /headersReturn the incoming request's HTTP headers. Responses Status Description Schema 200The request's headers. —
GET /ipReturns the requester's IP Address. Responses Status Description Schema 200The Requester's IP Address. —
GET /user-agentReturn the incoming requests's User-Agent header. Responses Status Description Schema 200The request's User-Agent header. —
Response inspection 4 Inspect the response data like caching and headers
GET /cacheReturns a 304 if an If-Modified-Since header or If-None-Match is present. Returns the same as a GET otherwise. Parameters Name In Required Type If-Modified-Sinceheader no — If-None-Matchheader no —
Responses Status Description Schema 200Cached response — 304Modified —
GET /cache/{value}Sets a Cache-Control header for n seconds. Parameters Name In Required Type valuepath yes integer
Responses Status Description Schema 200Cache control set —
GET /etag/{etag}Assumes the resource has the given etag and responds to If-None-Match and If-Match headers appropriately. Parameters Name In Required Type If-None-Matchheader no — If-Matchheader no —
Responses Status Description Schema 200Normal response — 412match —
GET /response-headersReturns a set of response headers from the query string. Parameters Name In Required Type freeformquery no —
Responses Status Description Schema 200Response headers —
Response formats 9 Returns responses in different data formats
GET /brotliReturns Brotli-encoded data. Responses Status Description Schema 200Brotli-encoded data. —
GET /deflateReturns Deflate-encoded data. Responses Status Description Schema 200Defalte-encoded data. —
GET /denyReturns page denied by robots.txt rules. Responses Status Description Schema 200Denied message —
GET /encoding/utf8Returns a UTF-8 encoded body. Responses Status Description Schema 200Encoded UTF-8 content. —
GET /gzipReturns GZip-encoded data. Responses Status Description Schema 200GZip-encoded data. —
GET /htmlReturns a simple HTML document. Responses Status Description Schema 200An HTML page. —
GET /jsonReturns a simple JSON document. Responses Status Description Schema 200An JSON document. —
GET /robots.txtReturns some robots.txt rules. Responses Status Description Schema 200Robots file —
GET /xmlReturns a simple XML document. Responses Status Description Schema 200An XML document. —
Dynamic data 9 Generates random and dynamic data
GET /base64/{value}Decodes base64url-encoded string. Parameters Name In Required Type valuepath yes string
Responses Status Description Schema 200Decoded base64 content. —
GET /bytes/{n}Returns n random bytes generated with given seed Parameters Name In Required Type npath yes int
Responses Status Description Schema 200Bytes. —
GET /delay/{delay}Returns a delayed response (max of 10 seconds). Parameters Name In Required Type delaypath yes int
Responses Status Description Schema 200A delayed response. —
GET /dripDrips data over a duration after an optional initial delay. Parameters Name In Required Type durationquery no number numbytesquery no integer codequery no integer delayquery no number
Responses Status Description Schema 200A dripped response. —
GET /links/{n}/{offset}Generate a page containing n links to other pages which do the same. Parameters Name In Required Type npath yes int offsetpath yes int
Responses Status Description Schema 200HTML links. —
GET /range/{numbytes}Streams n random bytes generated with given seed, at given chunk size per packet. Parameters Name In Required Type numbytespath yes int
Responses Status Description Schema 200Bytes. —
GET /stream-bytes/{n}Streams n random bytes generated with given seed, at given chunk size per packet. Parameters Name In Required Type npath yes int
Responses Status Description Schema 200Bytes. —
GET /stream/{n}Stream n JSON responses Parameters Name In Required Type npath yes int
Responses Status Description Schema 200Streamed JSON responses. —
GET /uuidReturn a UUID4. Responses Status Description Schema 200A UUID4. —
Cookies 4 Creates, reads and deletes Cookies
GET /cookiesReturns cookie data. Responses Status Description Schema 200Set cookies. —
GET /cookies/deleteDeletes cookie(s) as provided by the query string and redirects to cookie list. Parameters Name In Required Type freeformquery no —
Responses Status Description Schema 200Redirect to cookie list —
GET /cookies/setSets cookie(s) as provided by the query string and redirects to cookie list. Parameters Name In Required Type freeformquery no —
Responses Status Description Schema 200Redirect to cookie list —
GET /cookies/set/{name}/{value}Sets a cookie and redirects to cookie list. Parameters Name In Required Type namepath yes string valuepath yes string
Responses Status Description Schema 200Set cookies and redirects to cookie list. —
Images 5 Returns different image formats
GET /imageReturns a simple image of the type suggest by the Accept header. Responses Status Description Schema 200An image. —
GET /image/jpegReturns a simple JPEG image. Responses Status Description Schema 200A JPEG image. —
GET /image/pngReturns a simple PNG image. Responses Status Description Schema 200A PNG image. —
GET /image/svgReturns a simple SVG image. Responses Status Description Schema 200An SVG image. —
GET /image/webpReturns a simple WEBP image. Responses Status Description Schema 200A WEBP image. —
Redirects 4 Returns different redirect responses
GET /absolute-redirect/{n}Absolutely 302 Redirects n times. Parameters Name In Required Type npath yes int
Responses Status Description Schema 302A redirection. —
GET /redirect-to302/3XX Redirects to the given URL. Parameters Name In Required Type urlquery yes string status_codequery no int
Responses Status Description Schema 302A redirection. —
GET /redirect/{n}302 Redirects n times. Parameters Name In Required Type npath yes int
Responses Status Description Schema 302A redirection. —
GET /relative-redirect/{n}Relatively 302 Redirects n times. Parameters Name In Required Type npath yes int
Responses Status Description Schema 302A redirection. —
Anything 2 Returns anything that is passed to request
GET /anythingReturns anything passed in request data. Responses Status Description Schema 200Anything passed in request —
GET /anything/{anything}Returns anything passed in request data. Responses Status Description Schema 200Anything passed in request —
Developer reference Base URL https://httpbin.org
Key endpoints GET /get GET /headers GET /ip GET /status/{codes}
Availability Uptime 100%
Median latency 243 ms
Last check Up · 200 · Sep 2026
9 checks since Sep 2026. A person runs this check by hand, not an automated monitor.