---
title: "Search the web"
method: POST
path: "/v1/search"
tags: ["Search"]
---

# Search the web

`POST /v1/search`

## Request

- Base URL: `https://api.dexto.ai`
- URL: `https://api.dexto.ai/v1/search`
- Auth: HTTP bearer

Search the web. Charged to the API key's Cloud project at the provider's cost plus the platform markup; the charge is in `usage`.

## Request body

- object
  - `max_age_hours` integer: Use cached pages only when younger than this; 0 always fetches live pages.
  - `max_characters` integer: Highlight characters per result.
  - `num_results` integer
  - `query` string, required
  - `type` 'auto' | 'fast'

## Response `200`

Successful response.

- object
  - `id` string, uuid, required
  - `object` 'search', required
  - `results` object[], required
    - `highlights` string[], required
    - `published_date` string, nullable, required
    - `title` string, nullable, required
    - `url` string, required
  - `usage` object, required
    - `charge_usd` number, required: What this request was charged.

## Other responses

- `400`: Invalid JSON or request fields.
- `401`: Missing or invalid API key.
- `402`: The account has insufficient credits.
- `403`: The account cannot perform this operation.
- `404`: The requested resource was not found.
- `409`: The request conflicts with existing resource state.
- `429`: The account exceeded this operation's request rate.
- `500`: Unexpected Dexto failure.
- `502`: The upstream model provider failed.
- `503`: A required Dexto service is temporarily unavailable.

---

[API](https://skmtc.dev/dexto/apis/dexto-api.md) - [All operations](https://skmtc.dev/dexto/apis/dexto-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dexto/apis/dexto-api/revisions/47eb880cffa5?raw)
