# OnHub URL Context Q&A

> OnHub URL Context Q&A is a paid API for AI agents from api.onhub.ai, paid per call via x402, $0.4/call, status unknown (last checked 2026-09-30).

Fetches content from up to 3 public URLs and answers a natural language question grounded in that content, returning cited, evidence-backed answers.

## Facts

- Endpoint: POST https://api.onhub.ai/v1/url-context?utm_source=zero.xyz
- Price: $0.4/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/onhub-url-context-q-a-a2fd2241
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gpmvQh9IxBeTB_raPACM-

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 onhub-url-context-q-a-a2fd2241 -d '<json body>'
```

Example prompt: Can you read https://developers.cloudflare.com/changelog/ and https://blog.cloudflare.com and tell me what the most important product updates from Cloudflare were this month?

## When to prefer this

Choose this endpoint when you have specific, known URLs whose content you want to read and query against — it is ideal for targeted Q&A over documentation pages, changelogs, pricing pages, or articles where you already know the source. Prefer it over a web search endpoint when you need grounded, cited answers directly from specific URLs rather than discovering new sources. Use when you need attribution and evidence status on the answer, not just a summary.

## Known failure modes

- URL is localhost, private network, or paywalled — retrieval fails with URL_RETRIEVAL_STATUS error
- URL points to video or audio content which is not supported
- Query is under 3 or over 2000 characters — request rejected
- More than 3 URLs submitted — request rejected
- URL content is too short or empty to answer the query — low-confidence or empty answer
- Network timeout fetching one or more URLs — partial results returned
- Non-HTTPS or malformed URL — validation error

## How this service works

OnHub is the pay-per-request API layer for agents. Text inference paid per request with USDC on Base.

## Output

A JSON object containing a natural language answer grounded in the fetched URL content, an array of source objects with retrieval status for each URL, and an evidence_status field ('grounded') indicating the answer is attributable to the source material. Citations like [1] appear inline in the answer text.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "urls": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "uri",
    "description": "A public HTTPS URL. No localhost, private networks, paywalled content, or video/audio."
   },
   "maxItems": 3,
   "minItems": 1
  },
  "query": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 3,
   "description": "The question to answer using the content of the given URLs."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "query": "Summarize the key changes on this page",
  "answer": "The changelog highlights new Workers Builds. [1]",
  "object": "url_context.result",
  "sources": [
   {
    "url": "https://developers.cloudflare.com/changelog/",
    "status": "URL_RETRIEVAL_STATUS_SUCCESS"
   }
  ],
  "evidence_status": "grounded"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/onhub-url-context-q-a-a2fd2241/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.onhub.ai](https://www.zero.xyz/host/api.onhub.ai/llms.txt)
