# HubVibe Raw URL Fetch

> HubVibe Raw URL Fetch is a paid API for AI agents from hubvibe-io.com, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-27).

Fetches any HTTP/HTTPS URL and returns the raw server response including status code, headers, and body — treating all status codes as valid results.

## Facts

- Endpoint: POST https://hubvibe-io.com/work/fetch/raw?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hubvibe-raw-url-fetch-0302556d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2qVKl98sw-twTxveC5fnS

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 hubvibe-raw-url-fetch-0302556d -d '<json body>'
```

Example prompt: Can you fetch https://example.com/some-page and show me the exact status code, headers, and raw body the server sends back — including if it's a 404 or 500?

## When to prefer this

Choose this endpoint when you need the literal, unprocessed server response — including status codes, headers, and raw body — especially for debugging, monitoring, or auditing purposes. It's ideal when you need to handle 4xx/5xx responses as meaningful data rather than errors. Prefer it over content extraction or scraping tools when you need the raw wire-level response rather than parsed or structured content.

## Known failure modes

- Network timeout if the target server is unreachable or too slow
- Invalid or malformed URL input returns an error
- Target server blocking the request (e.g. rate limiting, IP blocking) may return a 403 or connection error
- Very large response bodies may be truncated or cause timeout

## How this service works

HTTP fetch / GET any URL: exactly what the server sent, status code, headers and body, plus the final URL after redirects. Every status is a result, so a 404 or 500 from the target is delivered, not failed. Use it for API checks, uptime probes and raw HTML. Input: url. Readable text from a rendered page: extract.page.

## Output

Returns the HTTP status code, all response headers as key-value pairs, and the raw response body exactly as the server sent it. Unlike typical scrapers, error responses (4xx, 5xx) are returned as successful results rather than treated as failures.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string"
  },
  "language": {
   "type": "string",
   "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
   "maxLength": 35
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {
   "url": "https://example.com",
   "text": "<!doctype html><html>...",
   "bytes": 1256,
   "status": 200,
   "headers": {
    "content-type": "text/html; charset=UTF-8",
    "cache-control": "max-age=604800"
   },
   "final_url": "https://example.com/",
   "truncated": false,
   "content_type": "text/html; charset=UTF-8"
  },
  "status": "ok",
  "worker": "fetch.raw",
  "price_usd": 0.1,
  "provenance": {
   "steps": [
    {
     "ms": 640,
     "ok": true,
     "step": "raw",
     "provider": "web"
    }
   ],
   "attempts": 1,
   "elapsed_ms": 660,
   "providers_used": [
    "web"
   ]
  },
  "receipt_id": "rcpt_9f1c2b3a4d5e6f70",
  "receipt_url": "/work/receipts/rcpt_9f1c2b3a4d5e6f70"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hubvibe-raw-url-fetch-0302556d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hubvibe-io.com](https://www.zero.xyz/host/hubvibe-io.com/llms.txt)
