# httpbin.org API

> httpbin.org API on Apizie: 73 endpoints (Absolutely 302 Redirects n times., Returns anything passed in request data., Returns anything passed in request data., Returns anything passed in request data., …) returned as clean JSON through one API key. 73 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/dev-tools:httpbin/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `dev-tools:httpbin`
- Category: Dev Tools
- Status: live
- Source: https://kennethreitz.org
- Page: https://zieapi.vercel.app/api/dev-tools/httpbin
- OpenAPI: https://zieapi.vercel.app/api/dev-tools/httpbin/openapi.json

A simple HTTP Request & Response Service. Run locally: $ docker run -p 80:80 kennethreitz/httpbin

## Endpoints

### Absolutely 302 Redirects n times.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-absolute-redirect-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Returns anything passed in request data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-anything`

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-anything`

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-anything`

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-anything`

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-anything`

### Returns anything passed in request data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-anything-anything`

| Parameter | Type | Required | Description |
|---|---|---|---|
| anything | string | yes | Automatically added |

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-anything-anything`

| Parameter | Type | Required | Description |
|---|---|---|---|
| anything | string | yes | Automatically added |

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-anything-anything`

| Parameter | Type | Required | Description |
|---|---|---|---|
| anything | string | yes | Automatically added |

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-anything-anything`

| Parameter | Type | Required | Description |
|---|---|---|---|
| anything | string | yes | Automatically added |

### Returns anything passed in request data.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-anything-anything`

| Parameter | Type | Required | Description |
|---|---|---|---|
| anything | string | yes | Automatically added |

### Decodes base64url-encoded string.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-base64-value`

| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | yes |  |

### Prompts the user for authorization using HTTP Basic Auth.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-basic-auth-user-passwd`

| Parameter | Type | Required | Description |
|---|---|---|---|
| user | string | yes |  |
| passwd | string | yes |  |

### Prompts the user for authorization using bearer authentication.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-bearer`

### Returns Brotli-encoded data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-brotli`

### Returns n random bytes generated with given seed
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-bytes-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Returns a 304 if an If-Modified-Since header or If-None-Match is present. Returns the same as a GET otherwise.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cache`

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-Modified-Since | string | no |  |
| If-None-Match | string | no |  |

### Sets a Cache-Control header for n seconds.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cache-value`

| Parameter | Type | Required | Description |
|---|---|---|---|
| value | integer | yes |  |

### Returns cookie data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cookies`

### Deletes cookie(s) as provided by the query string and redirects to cookie list.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cookies-delete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| freeform | string | no |  |

### Sets cookie(s) as provided by the query string and redirects to cookie list.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cookies-set`

| Parameter | Type | Required | Description |
|---|---|---|---|
| freeform | string | no |  |

### Sets a cookie and redirects to cookie list.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-cookies-set-name-value`

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes |  |
| value | string | yes |  |

### Returns Deflate-encoded data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-deflate`

### Returns a delayed response (max of 10 seconds).
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-delay-delay`

| Parameter | Type | Required | Description |
|---|---|---|---|
| delay | integer | yes |  |

### Returns a delayed response (max of 10 seconds).
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-delay-delay`

| Parameter | Type | Required | Description |
|---|---|---|---|
| delay | integer | yes |  |

### Returns a delayed response (max of 10 seconds).
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-delay-delay`

| Parameter | Type | Required | Description |
|---|---|---|---|
| delay | integer | yes |  |

### Returns a delayed response (max of 10 seconds).
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-delay-delay`

| Parameter | Type | Required | Description |
|---|---|---|---|
| delay | integer | yes |  |

### Returns a delayed response (max of 10 seconds).
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-delay-delay`

| Parameter | Type | Required | Description |
|---|---|---|---|
| delay | integer | yes |  |

### The request's DELETE parameters.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-delete`

### Returns page denied by robots.txt rules.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-deny`

### Prompts the user for authorization using Digest Auth.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-digest-auth-qop-user-passwd`

| Parameter | Type | Required | Description |
|---|---|---|---|
| qop | string | yes | auth or auth-int |
| user | string | yes |  |
| passwd | string | yes |  |

### Prompts the user for authorization using Digest Auth + Algorithm.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-digest-auth-qop-user-passwd-algorithm`

| Parameter | Type | Required | Description |
|---|---|---|---|
| qop | string | yes | auth or auth-int |
| user | string | yes |  |
| passwd | string | yes |  |
| algorithm | string | yes | MD5, SHA-256, SHA-512 |

### Prompts the user for authorization using Digest Auth + Algorithm.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-digest-auth-qop-user-passwd-algorithm-stale-after`

| Parameter | Type | Required | Description |
|---|---|---|---|
| qop | string | yes | auth or auth-int |
| user | string | yes |  |
| passwd | string | yes |  |
| algorithm | string | yes | MD5, SHA-256, SHA-512 |
| stale_after | string | yes |  |

### Drips data over a duration after an optional initial delay.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-drip`

| Parameter | Type | Required | Description |
|---|---|---|---|
| duration | number | no | The amount of time (in seconds) over which to drip each byte |
| numbytes | integer | no | The number of bytes to respond with |
| code | integer | no | The response code that will be returned |
| delay | number | no | The amount of time (in seconds) to delay before responding |

### Returns a UTF-8 encoded body.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-encoding-utf8`

### Assumes the resource has the given etag and responds to If-None-Match and If-Match headers appropriately.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-etag-etag`

| Parameter | Type | Required | Description |
|---|---|---|---|
| If-None-Match | string | no |  |
| If-Match | string | no |  |
| etag | string | yes | Automatically added |

### The request's query parameters.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-get`

### Returns GZip-encoded data.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-gzip`

### Return the incoming request's HTTP headers.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-headers`

### Prompts the user for authorization using HTTP Basic Auth.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-hidden-basic-auth-user-passwd`

| Parameter | Type | Required | Description |
|---|---|---|---|
| user | string | yes |  |
| passwd | string | yes |  |

### Returns a simple HTML document.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-html`

### Returns a simple image of the type suggest by the Accept header.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-image`

### Returns a simple JPEG image.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-image-jpeg`

### Returns a simple PNG image.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-image-png`

### Returns a simple SVG image.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-image-svg`

### Returns a simple WEBP image.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-image-webp`

### Returns the requester's IP Address.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-ip`

### Returns a simple JSON document.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-json`

### Generate a page containing n links to other pages which do the same.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-links-n-offset`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |
| offset | integer | yes |  |

### The request's PATCH parameters.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-patch`

### The request's POST parameters.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-post`

### The request's PUT parameters.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-put`

### Streams n random bytes generated with given seed, at given chunk size per packet.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-range-numbytes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| numbytes | integer | yes |  |

### 302/3XX Redirects to the given URL.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-redirect-to`

| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes |  |
| status_code | integer | no |  |

### 302/3XX Redirects to the given URL.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-redirect-to`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### 302/3XX Redirects to the given URL.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-redirect-to`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### 302/3XX Redirects to the given URL.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-redirect-to`

### 302/3XX Redirects to the given URL.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-redirect-to`

### 302 Redirects n times.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-redirect-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Relatively 302 Redirects n times.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-relative-redirect-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Returns a set of response headers from the query string.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-response-headers`

| Parameter | Type | Required | Description |
|---|---|---|---|
| freeform | string | no |  |

### Returns a set of response headers from the query string.
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-response-headers`

| Parameter | Type | Required | Description |
|---|---|---|---|
| freeform | string | no |  |

### Returns some robots.txt rules.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-robots-txt`

### Return status code or random status code if more than one are given
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-status-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| codes | string | yes |  |

### Return status code or random status code if more than one are given
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/post-status-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| codes | string | yes |  |

### Return status code or random status code if more than one are given
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/put-status-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| codes | string | yes |  |

### Return status code or random status code if more than one are given
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/patch-status-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| codes | string | yes |  |

### Return status code or random status code if more than one are given
`POST https://zieapi.vercel.app/v1/dev-tools:httpbin/delete-status-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| codes | string | yes |  |

### Streams n random bytes generated with given seed, at given chunk size per packet.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-stream-bytes-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Stream n JSON responses
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-stream-n`

| Parameter | Type | Required | Description |
|---|---|---|---|
| n | integer | yes |  |

### Return the incoming requests's User-Agent header.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-user-agent`

### Return a UUID4.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-uuid`

### Returns a simple XML document.
`GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-xml`

## Example
```
curl "https://zieapi.vercel.app/v1/dev-tools:httpbin/get-absolute-redirect-n" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the httpbin.org API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/dev-tools:httpbin/get-absolute-redirect-n with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the httpbin.org API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the httpbin.org API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key dev-tools:httpbin.

### What is the status of the httpbin.org API?
Live: works with just an Apizie key
