> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trynito.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search the web

> Search Brave using an explicit query without a model, chat messages, or inference-provider configuration. Requires an organization API key or cli:inference OAuth bearer; browser and anonymous sessions are not accepted. Retrieval is independently billed to subscription credits then prepaid funds, with API-key spending caps and no free-tier inference handoff. Queries and results are not persisted. Do not automatically replay billable work after an unknown post-dispatch outcome.

See the [guide](/api/api-reference/server-tools/web-search) for authentication, examples, and usage rules.


## OpenAPI

````yaml openapi.json POST /api/v1/web/search
openapi: 3.1.0
info:
  contact:
    email: developers@trynito.ai
    name: Nito Developer Support
    url: https://docs.trynito.ai/support
  description: >-
    Nito developer API: inference, Fusion, model catalog, attestation, web
    retrieval, document parsing, API key management, balance, rate-limit
    snapshots, and MCP.
  termsOfService: https://trynito.ai/terms
  title: Nito API
  version: '2026-07-01'
servers:
  - description: Configured gateway
    url: https://app.trynito.ai
security: []
tags:
  - description: >-
      OpenAI Chat Completions-compatible inference routes backed by gateway
      routing, billing, privacy, and streaming controls.
    name: Chat
  - description: >-
      Stateless OpenAI Responses-compatible shims for agent clients, including
      the compact output-item endpoint used by standalone compaction flows.
    name: Responses
  - description: >-
      Anthropic Messages-compatible request, response, token-count, and
      streaming surfaces mapped into canonical gateway contracts.
    name: Messages
  - description: >-
      Model discovery and browser model-picker metadata for safe logical model
      selection.
    name: Models
  - description: >-
      Request-local Attestation metadata for supported Attestable models in the
      Confidential and Encrypted tiers.
    name: Attestation
  - description: >-
      Streamable HTTP MCP transport documented with resource-bound bearer-token
      authentication.
    name: MCP
  - description: >-
      Standalone, credential-authenticated web search and fetch without an
      inference model.
    name: Web
  - description: >-
      OAuth-authorized organization API key administration with explicit consent
      and current owner/admin authorization.
    name: API Keys
  - description: >-
      Browser billing, usage, referral, balance, auto top-up, and x402 funding
      surfaces using integer nanos.
    name: Billing
externalDocs:
  description: Nito developer documentation
  url: https://docs.trynito.ai/nito
paths:
  /api/v1/web/search:
    post:
      tags:
        - Web
      summary: Search the web without an inference model
      description: >-
        Search Brave using an explicit query without a model, chat messages, or
        inference-provider configuration. Requires an organization API key or
        cli:inference OAuth bearer; browser and anonymous sessions are not
        accepted. Retrieval is independently billed to subscription credits then
        prepaid funds, with API-key spending caps and no free-tier inference
        handoff. Queries and results are not persisted. Do not automatically
        replay billable work after an unknown post-dispatch outcome.
      operationId: searchWeb
      requestBody:
        content:
          application/json:
            example:
              query: PostgreSQL release notes
            schema:
              $ref: '#/components/schemas/WebSearchRequest'
        description: >-
          Request payload for `searchWeb`. Examples use placeholder-safe values
          and do not include real secrets or private prompt content.
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                query: PostgreSQL release notes
                results:
                  - content: Release notes excerpt.
                    last_updated: null
                    title: Release notes
                    url: https://postgresql.org/docs/current/release.html
              schema:
                $ref: '#/components/schemas/WebSearchResponse'
          description: OK
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
        '400':
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: The request is invalid.
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '401':
          content:
            application/json:
              example:
                error:
                  code: unauthorized
                  message: authentication required
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authentication required
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '402':
          content:
            application/json:
              example:
                error:
                  code: payment_required
                  message: >-
                    billing credits or an active subscription are required for
                    this request
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Payment required
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '403':
          content:
            application/json:
              example:
                error:
                  code: forbidden
                  message: credential is not authorized for this operation
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '429':
          content:
            application/json:
              examples:
                insufficient_quota:
                  summary: Billing balance or free-tier quota exhausted
                  value:
                    error:
                      code: insufficient_quota
                      message: insufficient billing balance
                rate_limited:
                  summary: Gateway or provider rate limit exceeded
                  value:
                    error:
                      code: rate_limited
                      message: rate limited
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Rate limited or insufficient quota
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
            Retry-After:
              description: >-
                Seconds to wait before retrying when the gateway can compute a
                retry window.
              example: '60'
              schema:
                type: string
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
        '500':
          content:
            application/json:
              example:
                error:
                  code: internal_error
                  message: internal error
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '502':
          content:
            application/json:
              example:
                error:
                  code: provider_error
                  message: web retrieval completion could not be confirmed
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Retrieval failed after dispatch; do not automatically retry an
            unknown outcome
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
        '503':
          content:
            application/json:
              example:
                error:
                  code: unavailable
                  message: service unavailable
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
          headers:
            Cache-Control:
              description: Retrieval responses must not be cached.
              example: no-store
              schema:
                type: string
      security:
        - PublicApiBearer: []
        - PublicApiKeyHeader: []
        - CliOAuthBearer: []
components:
  schemas:
    WebSearchRequest:
      additionalProperties: false
      description: >-
        Schema for `WebSearchRequest` values returned by or accepted by the Nito
        gateway.
      example:
        query: PostgreSQL release notes
      properties:
        query:
          description: >-
            Explicit search query, at most 400 UTF-8 bytes and 50
            whitespace-delimited words.
          example: example
          maxLength: 400
          pattern: .*\S.*
          type: string
      required:
        - query
      type: object
    WebSearchResponse:
      additionalProperties: false
      description: >-
        Schema for `WebSearchResponse` values returned by or accepted by the
        Nito gateway.
      example:
        query: PostgreSQL release notes
        results:
          - content: Release notes excerpt.
            last_updated: null
            title: Release notes
            url: https://postgresql.org/docs/current/release.html
      properties:
        query:
          description: The `query` field on `WebSearchResponse`.
          example: example
          type: string
        results:
          description: The `results` field on `WebSearchResponse`.
          example: []
          items:
            additionalProperties: false
            description: >-
              Nested schema within `WebSearchResponse` for
              `WebSearchResponse.results.items`.
            properties:
              content:
                description: >-
                  Retrieved search-result excerpt; fetching a URL is a separate
                  operation.
                example: Release notes excerpt.
                type: string
              last_updated:
                description: >-
                  Provider-supplied modification date, or null when unavailable.
                  Publication dates are not substituted.
                example: null
                type:
                  - string
                  - 'null'
              title:
                description: The `title` field on `WebSearchResponse`.
                example: example
                type: string
              url:
                description: The `url` field on `WebSearchResponse`.
                example: https://example.com/callback
                format: uri
                type: string
            required:
              - title
              - url
              - content
              - last_updated
            type: object
          type: array
      required:
        - query
        - results
      type: object
    ErrorResponse:
      description: >-
        Schema for `ErrorResponse` values returned by or accepted by the Nito
        gateway.
      example:
        error:
          code: invalid_request
          message: The request is invalid.
          param: model
      properties:
        error:
          $ref: '#/components/schemas/Error'
          description: The `error` field on `ErrorResponse`.
          example: example
      required:
        - error
      type: object
    Error:
      description: Schema for `Error` values returned by or accepted by the Nito gateway.
      example:
        code: example
        message: example
        operation_id: 00000000-0000-4000-8000-000000000001
        param: example
      properties:
        code:
          description: The `code` field on `Error`.
          example: example
          type: string
        message:
          description: The `message` field on `Error`.
          example: example
          type: string
        operation_id:
          description: The `operation_id` field on `Error`.
          example: 00000000-0000-4000-8000-000000000001
          type: string
        param:
          description: The `param` field on `Error`.
          example: example
          type: string
      required:
        - message
        - code
      type: object
  headers:
    RateLimitLimit:
      description: Maximum requests for the controlling gateway request-rate bucket.
      schema:
        type: string
    RateLimitRemaining:
      description: >-
        Additional requests immediately available in the controlling gateway
        request-rate bucket.
      schema:
        type: string
    RateLimitReset:
      description: >-
        UTC Unix epoch seconds, rounded up, when the controlling gateway
        request-rate bucket is fully replenished.
      schema:
        type: string
  securitySchemes:
    PublicApiBearer:
      description: 'Org API key as Authorization: Bearer z_sk_...'
      scheme: bearer
      type: http
    PublicApiKeyHeader:
      description: Org API-key compatibility header. CLI and MCP tokens are rejected here.
      in: header
      name: X-API-Key
      type: apiKey
    CliOAuthBearer:
      description: 'OAuth CLI access token as Authorization: Bearer nito_cli_...'
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.