Web search and fetch

The hosted search and page fetch tools that the chat uses are also plain API endpoints, billed per call from your credits. GET /v1/features tells you whether they are enabled and what they cost.

Search

curl https://ozeye.ai/v1/search \
  -H "Authorization: Bearer $OZEYE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "EU AI Act article 50 transparency obligations", "limit": 5}'
{
  "depth": "standard",
  "results": [
    {"title": "...", "url": "https://...", "content": "..."}
  ],
  "cost_eur": "0.007"
}
  • query is required, up to 2,000 characters. limit caps the number of results (at most 10).
  • depth: standard (default) or deep, a multi-step search billed at the deep-search price.
  • Search is handled by Linkup, our EU search subprocessor, under a zero-data-retention agreement. ozeye stores only billing metadata, never the query or the results.

Fetch

curl https://ozeye.ai/v1/fetch \
  -H "Authorization: Bearer $OZEYE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj"}'
{
  "title": "...",
  "url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj",
  "text": "readable text of the page...",
  "content_type": "text/html",
  "truncated": false,
  "cost_eur": "0.007"
}
  • ozeye's server requests the page itself (http or https only; private and local addresses are refused) and returns its readable text, truncated for very large pages.
  • The website sees ozeye's server, not you. The URL and the page are not stored.

Both endpoints return 402 without credits, 404 when the feature is disabled, and 502 when the upstream fails; failed calls are not billed.