---
title: "Search API：Web とニュースの検索"
description: "configured Lazu search backends を通じた provider-neutral POST /v1/search。"
source: https://lazu.ai/docs/ja/endpoints/search
updated: 2026-10-02
---

# Search

**POST** `/v1/search`

Lazu 経由で provider-neutral な web/news search を実行します。Hosted api.lazu.ai では現在 Tavily、Serper、Jina が有効です。self-hosted の operator は同じ Search Backend 仕組みで Exa や Brave も追加できます。

## リクエスト例

```bash
curl https://api.lazu.ai/v1/search \
  -H "Authorization: Bearer $LAZU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "latest OpenAI web search API changes",
    "type": "web",
    "max_results": 5,
    "backend": "auto"
  }'
```

## レスポンス例

```json
{
  "query": "latest OpenAI web search API changes",
  "results": [
    {
      "title": "OpenAI ships web search API",
      "url": "https://example.com/news",
      "snippet": "…",
      "score": 0.92,
      "source": "tavily"
    }
  ],
  "usage": {
    "web_search_requests": 1,
    "web_search_billable_units": 1
  },
  "provider_trace": { "backend": "tavily" },
  "route_receipt": {
    "selection": "auto",
    "selected_backend": "search_tavily",
    "chose_provider": "tavily",
    "candidates": ["search_tavily"],
    "decision_reason": "matched web_search capability"
  }
}
```

## What it returns

- **Normalized results** — backend ごとに `title`、`url`、`snippet`、
  optional `content`、`published_at`、`score`
  、`source` へ mapping します。
- **Auditable routing** — response は selected backend と route receipt を含みます。同じ routing
  metadata が request logs に保存され、support と billing reconciliation
  に使えます。

## Hosted configuration

`/v1/search` の実装は Tavily、Serper、Exa、Jina、Brave を support しますが、
現在表示される検索価格と、リクエスト詳細の `web_search` 明細を照合してください。過去の例やデプロイ設定から無料と推測しないでください。

| Backend     | Hosted status | Capabilities                        | Notes                                                             |
| ----------- | ------------- | ----------------------------------- | ----------------------------------------------------------------- |
| Tavily      | Enabled       | `web_search`, `web_fetch`, `answer` | `include_answer` と `search_depth` を support。`advanced` は 2 units。 |
| Serper      | Enabled       | `web_search`                        | `country` / `region`、`language`、`time_range` を mapping します。       |
| Jina        | Enabled       | `web_search`, `web_fetch`           | `https://s.jina.ai` を使い、retrieval 形式の snippet に向いています。            |
| Exa / Brave | Supported     | operator 設定後に `web_search` 対応       | self-hosted または admin-configured deployment 向けです。                 |

Hosted backends は現在 default policy を使っています。1 request あたり最大
10 results、upstream timeout は 8s です。`max_results` がそれより大きい場合、
Lazu は selected backend policy に合わせて切り詰めます。

## Request body

- `query` `string` (必須) — search query。MVP は 1 request につき 1 query を support します。
- `type` `string` (任意) — search vertical。default は `web`。 指定可能な値: `web`, `news`
- `backend` `string` (任意) — `auto`、provider name（例：`tavily`）、または
  configured backend ID/name。default は `auto`。
- `region` `string` (任意) — region hint。Serper は `gl` に mapping します。
- `language` `string` (任意) — language hint。例：`en`、`ja`。
- `time_range` `string` (任意) — freshness hint。provider が mapping できない value
  は無視されることがあります。 指定可能な値: `day`, `week`, `month`, `year`
- `max_results` `integer` (任意) — 結果数。default は `10` で、selected backend policy
  の上限が適用されます。
- `search_depth` `string` (任意) — provider depth hint。Tavily `advanced` は 2 billable credits。 指定可能な値: `basic`, `advanced`
- `include_answer` `boolean` (任意) — selected backend が answer を返す場合に含めます。Lazu はこの endpoint
  内で最終回答を生成しません。
- `include_raw_content` `boolean` (任意) — provider が raw content または cleaned content を返す場合に透過します。
  default は `false`。
- `include_domains` `string[]` (任意) — 検索対象 domain を制限します。token-level domain allowlist
  は引き続き適用されます。
- `exclude_domains` `string[]` (任意) — selected backend が support する場合に domain を除外します。
- `include_provider_payload` `boolean` (任意) — provider-native payload を debugging 用に返します。default は&#x20;
  `false`。
- `provider_options` `object` (任意) — advanced provider passthrough。selected provider の object
  だけが使われます。 例：`{"serper":{"tbs":"qdr:d"}}`。

## Response

**Search response**

```json
{
"query": "latest OpenAI web search API changes",
"results": [
  {
    "title": "Web search - OpenAI API",
    "url": "https://platform.openai.com/docs/guides/tools-web-search",
    "snippet": "Use web search in the Responses API...",
    "content": null,
    "published_at": null,
    "score": 0.91,
    "source": "web"
  }
],
"usage": {
  "web_search_requests": 1,
  "web_search_billable_units": 1
},
"provider_trace": {
  "backend": "tavily"
},
"route_receipt": {
  "selection": "auto",
  "selected_backend": "tavily",
  "chose_provider": "tavily",
  "candidates": ["tavily:Tavily"],
  "rejected": [],
  "downgraded": false,
  "fallback_count": 0,
  "decision_reason": "selected"
}
}
```

- `results[]` `object[]` — normalized search result list。raw content を request し、backend
  が返した場合だけ
  `content` が入ります。
- `usage.web_search_requests` `integer` — Lazu search request count。通常は `1`。
- `usage.web_search_billable_units` `integer` — charge に使われる provider unit。Tavily basic は 1、Tavily advanced は 2、
  Serper と Jina は通常 1 successful query です。
- `provider_trace.backend` `string` — routing 後に実際に選ばれた provider。
- `route_receipt` `object` (任意) — candidates、fallback、rejection metadata。同じ情報が request log
  に保存されます。

## Billing

Search backend は configured `search_price` から課金されます。これは
provider billing unit あたりの USD 価格であり、常に HTTP request 単位とは限りません。
現在の hosted Tavily、Serper、Jina backends には明示的な

`search_price` が設定されていないため、Lazu は`web_search`
usage を記録しますが、search line item は $0 です。 operator が価格または
provider-cost passthrough を設定したあとに、その設定で課金されます。

| Backend | Unit mapping                              |
| ------- | ----------------------------------------- |
| Tavily  | `basic` = 1 credit、`advanced` = 2 credits |
| Serper  | 1 successful query = 1 unit               |
| Jina    | 1 successful query = 1 unit               |

upstream failure、timeout、invalid request は通常の Lazu billing rules に従って refund されます。

## See also

- [料金体系](https://lazu.ai/docs/ja/billing)
- [リクエスト詳細](https://lazu.ai/docs/ja/endpoints/usage-requests)
- [モデルカタログ](https://lazu.ai/docs/ja/models/catalog)
