# Curl HTTP Request

> Curl HTTP Request is a paid API for AI agents from curl-http-request.underscoredone.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14, last successful call 2026-07-08).

Sends an HTTP request (GET, POST, PUT, PATCH, DELETE, or HEAD) to any URL from remote servers and returns the full response including status code, headers, body, redirect chain, and duration.

## Facts

- Endpoint: POST https://curl-http-request.underscoredone.com/curl
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Last successful call: 2026-07-08
- Success rate: 19% of calls made through Zero
- Activations on Zero: 17
- Tags: x402
- Canonical page: https://www.zero.xyz/c/curl-http-request-e75cf535
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rzdAxBp88Kf0Smcj7uP7c

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability curl-http-request-e75cf535 -d '<json body>'
```

Example prompt: Can you send a GET request to https://api.example.com/health and tell me the status code, response headers, and body that come back?

## When to prefer this

Use this endpoint when you need to make an arbitrary HTTP request to any URL from a neutral remote server without local tooling — especially for testing endpoint liveness, inspecting response headers, debugging redirect chains, or fetching raw response bodies. Prefer this over browser-based scrapers when you only need raw HTTP semantics rather than rendered HTML, and over local curl when you want a hosted, pay-per-call solution with structured JSON output.

## Known failure modes

- Invalid or malformed URL returns an error in the error field
- Target server is unreachable or times out, resulting in a non-200 status or error string
- Redirect chain exceeds 3 hops and is truncated
- Payment not fulfilled results in 402 response before the request is proxied
- Target URL returns non-JSON body which is still captured as a raw string in body field

## How this service works

Send an HTTP request to any URL from our servers and receive the full response — including the status code, all response headers, and the body content. Supports GET, POST, PUT, PATCH, DELETE, and HEAD. Automatically follows up to 3 redirects. Useful for testing endpoints, verifying servers are responding correctly, debugging redirect chains, or fetching raw data without needing a local setup.

## Output

A JSON object containing the HTTP status code, response headers (as key-value pairs), the full response body as a string, the HTTP method used, the target URL, round-trip duration in milliseconds, any redirect chain followed (up to 3 hops), an error field if the request failed, and the API version.

## Example request

```json
{
 "url": "https://httpbin.org/get",
 "method": "GET"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The full web address you want to send a request to. Must start with http:// or https://."
  },
  "method": {
   "enum": [
    "GET",
    "POST",
    "PUT",
    "PATCH",
    "DELETE",
    "HEAD"
   ],
   "type": "string",
   "description": "The type of request to make. Choose from GET, POST, PUT, PATCH, DELETE, or HEAD. Defaults to GET if not provided."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://httpbin.org/get",
  "body": "{\n  \"args\": {}, \n  \"headers\": {\n    \"Host\": \"httpbin.org\"\n  }, \n  \"url\": \"https://httpbin.org/get\"\n}",
  "error": "",
  "method": "GET",
  "headers": {
   "server": "gunicorn/19.9.0",
   "content-type": "application/json",
   "content-length": "307"
  },
  "durationMs": 312,
  "statusCode": 200,
  "api_version": "1.0.0",
  "redirectChain": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/curl-http-request-e75cf535/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from curl-http-request.underscoredone.com](https://www.zero.xyz/host/curl-http-request.underscoredone.com/llms.txt)
