httpbin APIhttpbin.org ↗
Inspect incoming HTTP requests via 5 endpoints. Get origin IP, headers, user agent, generated UUIDs, and full request echoes with query parameters.
What is the httpbin API?
The httpbin.org API provides 5 endpoints for inspecting HTTP request data as seen by a server, making it straightforward to verify what your client is actually sending. The inspect_request endpoint echoes back the full request including parsed query parameters, origin IP, headers, and the constructed URL. The remaining endpoints isolate specific request properties — IP address, headers, user agent string, and randomly generated UUID4 values — useful during development and integration testing.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/61b4a59b-122f-43e5-bd21-94ecacb424d2/get_ip' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace httpbin-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: httpbin SDK — inspect requests, get IP, headers, user-agent, generate UUIDs."""
from parse_apis.httpbin_org_api import Httpbin, ParseError
client = Httpbin()
# Get the origin IP address
ip_info = client.ip_addresses.get()
print(f"Origin IP: {ip_info.origin}")
# Get all request headers
headers_info = client.headers.get()
print(f"Request headers: {headers_info.headers}")
# Get the User-Agent string
ua_info = client.user_agents.get()
print(f"User-Agent: {ua_info.user_agent}")
# Generate a UUID
uuid_info = client.uuids.generate()
print(f"Generated UUID: {uuid_info.uuid}")
# Inspect a request with custom query params
try:
req = client.request_infos.inspect(params="color=blue,size=large")
print(f"Request URL: {req.url}")
print(f"Parsed args: {req.args}")
print(f"Origin: {req.origin}")
except ParseError as e:
print(f"Request inspection failed: {e}")
print("exercised: ip_addresses.get / headers.get / user_agents.get / uuids.generate / request_infos.inspect")
Returns the origin IP address of the incoming request as seen by the server.
No input parameters required.
{
"type": "object",
"fields": {
"origin": "string"
},
"sample": {
"data": {
"origin": "142.111.191.5"
},
"status": "success"
}
}About the httpbin API
What the API Returns
The httpbin.org API exposes five GET endpoints, each returning a focused slice of HTTP request metadata. get_ip returns the origin field — the IP address the server sees for the incoming connection. get_user_agent returns the user_agent string from the request. get_headers returns a headers object containing all request headers as key-value pairs, which lets you confirm what headers your HTTP client is actually attaching.
Request Inspection and Query Parameters
inspect_request is the most complete endpoint: it returns url (the full constructed URL), args (an object of parsed query parameters), origin (IP address), and headers (all request headers). It accepts an optional params input as a comma-separated list of key=value pairs — for example, foo=bar,name=test — which are forwarded as query string parameters and reflected back in the args field. This makes it straightforward to verify that query parameters are encoded and received correctly.
UUID Generation
get_uuid returns a freshly generated random UUID4 string on every call. It takes no inputs and returns a single uuid field. This is useful for generating unique identifiers in test fixtures or verifying that downstream services can handle UUID-formatted values.
Typical Usage Patterns
Because every endpoint reflects data from the calling request, the API is primarily useful during development: confirming IP addresses as seen externally, auditing headers attached by an HTTP client library, validating query parameter encoding, and generating test UUIDs on demand. No authentication or session state is required on the caller's side.
The httpbin API is a managed, monitored endpoint for httpbin.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when httpbin.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official httpbin.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Confirm the external IP address your application server presents to third-party services using
get_ip. - Audit which headers an HTTP client library attaches by default using
get_headers. - Verify that a proxy or load balancer is forwarding the correct User-Agent with
get_user_agent. - Test that query parameters are correctly encoded and received by a server using
inspect_requestwith theparamsinput. - Generate random UUID4 values for test data seeding or fixture generation via
get_uuid. - Debug API gateway or middleware configurations by inspecting the full request echo from
inspect_request. - Validate that custom request headers survive transit through a reverse proxy using
get_headers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does httpbin.org have an official developer API?+
What does `inspect_request` return for the `args` field when no `params` are provided?+
params input is supplied, the args object is returned empty. Query parameters only appear in args when key=value pairs are passed via the params input, which are forwarded to the server as a URL query string.Does the `get_headers` endpoint filter or redact any headers?+
Does the API support POST, PUT, or DELETE request inspection?+
Can the API return geolocation data for the origin IP address?+
get_ip returns only the raw IP string with no geolocation, ASN, or ISP enrichment. You can fork this API on Parse and revise it to add a geolocation lookup endpoint built on top of the returned origin IP.