# FreshFact Evidence

> FreshFact Evidence is a paid API for AI agents from fresh-fact.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-18).

Fetches a public URL and returns its text content with freshness timestamp, source metadata, and SHA-256 content hash for AI agent verification

## Facts

- Endpoint: GET https://fresh-fact.onrender.com/api/evidence?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/freshfact-evidence-7084d77f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TpyswlBn58kQN1hCA2JIR

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 freshfact-evidence-7084d77f
```

Example prompt: Fetch the current text content of https://www.bbc.com/news/technology and give me the extracted text along with its SHA-256 hash and the timestamp of when it was retrieved — up to 30000 characters.

## When to prefer this

Choose FreshFact Evidence when an AI agent needs a fresh, timestamped snapshot of a public web page's text content with cryptographic integrity proof (SHA-256 hash). It is ideal for fact-checking, content verification, competitive monitoring, or any use case where provenance and freshness of web evidence matter. Prefer this over generic web scrapers when you need the retrieval timestamp and content hash bundled together for auditability. It is not suited for authenticated pages, JavaScript-heavy SPAs, or bulk crawling of entire sites.

## Known failure modes

- URL is not publicly accessible or requires authentication — endpoint may return a non-200 HTTP status in the source object
- URL is malformed or not a valid HTTP/HTTPS URI — validation error on the queryParams.url field
- Target page returns no extractable text (e.g. pure JavaScript SPA with no server-side rendering) — data.text may be empty or minimal
- maxChars below minimum (1000) or above maximum (50000) — schema validation error
- Network timeout or upstream server error from the target URL — may return error response or empty content
- Payment not made via x402 protocol — 402 Payment Required response before content is returned

## How this service works

Fresh web evidence for AI agents and software.

## Output

Returns a JSON object containing: the extracted text content of the fetched URL (up to 50,000 chars), the final resolved URL and HTTP status code, the ISO 8601 timestamp of when the page was retrieved, and a SHA-256 hash of the content for integrity verification. The service name 'FreshFact Evidence' is also returned as a label.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri",
       "description": "Public HTTP or HTTPS URL to retrieve."
      },
      "maxChars": {
       "type": "integer",
       "default": 30000,
       "maximum": 50000,
       "minimum": 1000
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "service",
      "source",
      "freshness",
      "integrity",
      "data"
     ],
     "properties": {
      "data": {
       "type": "object"
      },
      "source": {
       "type": "object"
      },
      "service": {
       "type": "string"
      },
      "freshness": {
       "type": "object"
      },
      "integrity": {
       "type": "object"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "text": "Current extracted source text"
  },
  "source": {
   "finalUrl": "https://example.com/",
   "httpStatus": 200
  },
  "service": "FreshFact Evidence",
  "freshness": {
   "retrievedAt": "2026-01-01T00:00:00.000Z"
  },
  "integrity": {
   "algorithm": "sha256",
   "contentHash": "sha256-hex"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freshfact-evidence-7084d77f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fresh-fact.onrender.com](https://www.zero.xyz/host/fresh-fact.onrender.com/llms.txt)
