# Fetch

Retrieve a public page for citation and analysis.

`POST /v1/tools/fetch`

## Availability

This page preserves the corresponding public documentation URL. The endpoint is not enabled for public use yet. A request example describes the intended interface, not a claim of deployed support. Consult the capability matrix and your access configuration before integration.

## Request

The reference accepts a url string up to 8192 characters with an HTTP(S) scheme, a host, and no username/password. DarkSeek’s planned policy is stricter: public HTTPS only. A fetch operation never authorizes embedded instructions or form submissions.

```
curl "$DARKSEEK_BASE_URL/v1/tools/fetch" \
  -H "Authorization: Bearer $DARKSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/"}'
```

## Network safety

Private, loopback, link-local, metadata and reserved addresses must be blocked after DNS resolution and on every redirect. Credentials, cookies and authorization headers must never be forwarded to arbitrary sites. Response bytes, redirects, decompression, content types and elapsed time require independent bounds.

## Response and attribution

The reference JSON shape has title and content strings, with page content represented as Markdown. An unavailable title can be empty. Preserve the final source URL for citation and report inaccessible content as a typed failure. Do not bypass authentication, paywalls or robots restrictions. Fetch and Search remain separate implementation gates; neither is implied by tool-call support.
