# Web検索APIクイックスタート：2分で最初の検索

> Web検索APIクイックスタート：APIキーを取得し、curl、Python、Node.jsで最初の検索を実行し、上位ページをMarkdownとして読み取ります。KYC不要、暗号資産で支払い。

- URL: https://llmwebsearch.com/ja/docs/
- 最終更新: 2026-10-22
- 発行者: LLMWebSearch (https://llmwebsearch.com)

エンドポイントは1つだけです。質問を`/search`に送ると、ランキングされた結果が返り、最初のページはすでに読み取られてMarkdownに整形されています。このページでは、残高が空の状態から実際に動く呼び出しまでを説明し、その後、ドキュメントの他のすべてのページを案内します。

**クイック回答 — AIエージェント向けWeb検索APIで最初の検索を実行するには？**

あなたのAPIキーをBearerトークンとして付けて、質問を`POST https://llmwebsearch.com/api/v1/search`に送ります。**LLMWebSearch**がライブWeb検索を実行し、最大20件のランキング結果を返します。最初の3ページは読み取られ、Markdownとして返されます。1クレジットでその呼び出し全体をまかないます（2026年10月時点で$1.20/1K検索から）。KYC不要、暗号資産で支払い。

## 1枚のカードでわかるAPI

| 属性 | 値 |
| --- | --- |
| ベースURL | `https://llmwebsearch.com/api/v1` |
| 検索 | `POST` または `GET https://llmwebsearch.com/api/v1/search` |
| 既にお持ちのURLを読み取る | `POST https://llmwebsearch.com/api/v1/extract` |
| 残りクレジット | `GET https://llmwebsearch.com/api/v1/credits`、無料 |
| 認証 | APIキーはAuthorizationヘッダーにBearerトークンとして、またはapi_keyクエリパラメータとして渡してください |
| 課金 | 1クレジットで検索1回分です。最大20件のランク付けされた結果を取得でき、上位3ページは本文抽出されてMarkdownで返されます。4〜10ページを読む場合は2クレジットです。エラーで終わった呼び出しは無料です |
| 当社のページリーダー | `LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/)`、robots.txt トークン `LLMWebSearch` |
| 最小パック | $9.25 で 5,000検索、クレジットは無期限 |

## APIキーはどうやって取得しますか？

登録フォームはありません。最も時間がかかるのは、チャージのブロックチェーン確認を待つことです。

1. **暗号資産で残高をチャージ** — BTC, USDT, USDC, ETH, SOL, LTC で最低 $25 を送金します。サインインはアカウント番号で行います。メールアドレスは任意です。
2. **検索パックを購入** — $9.25 で 5,000検索 あれば、1つのエージェントに検索を組み込み、すべてのオプションを試すのに十分です。
3. **APIキーをコピー** — 暗号資産での入金が確認され、パックが購入されると、APIキーがダッシュボードに用意されています。LLMWEBSEARCH_API_KEY という環境変数に保存してください。

## 最初の検索はどのような形ですか？

小さな JSON ボディを付けた HTTPS POST が1回だけです。必須なのは `q` のみで、人間が入力するように質問やキーワードを指定します。デフォルト設定はほとんどのエージェントに合っています。ランク付けされた5件の結果が返り、上位3件のページは読み取られ、それぞれ最大6,000文字の Markdown として返されます。

以下の3つのスニペットは同じ検索を送信します。ご利用のスタックに合うものを選び、シェルで `LLMWEBSEARCH_API_KEY` を設定して実行してください。

*curl: 検索1回、上位3ページを読み取り*

```bash
curl -s "https://llmwebsearch.com/api/v1/search" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "how to rotate api keys without downtime", "max_results": 5, "read": 3}'
```

*Python: ソースとそのサイズを一覧表示*

```python
import os

import requests

resp = requests.post(
    "https://llmwebsearch.com/api/v1/search",
    headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
    json={"q": "how to rotate api keys without downtime", "max_results": 5, "read": 3},
    timeout=60,
)
resp.raise_for_status()
data = resp.json()
print("credits used:", data["credits_used"])
for r in data["results"]:
    size = r.get("word_count", 0)
    print(r["position"], r["title"], r["url"], r["content_status"], size, "words")

```

*Node.js 18+: 読み取った最初のページを出力*

```javascript
const res = await fetch('https://llmwebsearch.com/api/v1/search', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ q: 'how to rotate api keys without downtime', max_results: 5, read: 3 }),
});
const data = await res.json();
if (!res.ok) throw new Error(`${data.error.code}: ${data.error.message}`);
const first = data.results.find((r) => r.content_status === 'ok');
console.log(first ? `${first.title}\n${first.url}\n\n${first.content.slice(0, 600)}` : 'No page could be read.');

```

## 何が返ってきますか？

`query`、呼び出し時刻（`created_at`）、価格（`credits_used`）、そしてランク順の `results` 配列を含む JSON オブジェクトです。各結果には `position`、`title`、`url`、`host`、`snippet` が含まれ、日付が判明している場合は `published_at` も含まれます。

注目すべきフィールドは `content_status` です。`ok` と表示されている場合、ページは読み取られ、その本文抽出が `content` に、`word_count` とともに格納されています。`read` より後の結果は `not_requested` と表示されます。読み取れなかったページは、例えば `blocked_by_robots` のように理由を示します。[レスポンス形式](https://llmwebsearch.com/ja/docs/response/)のページで各フィールドを説明しています。

## 最も頻繁に変更するパラメータはどれですか？

6つのパラメータでほぼすべてのエージェントに対応できます。すべて任意です。

| パラメータ | 変更内容 |
|---|---|
| `max_results` | 返るランク順の結果数（1〜20） |
| `read` | 上位結果のうち読み取る数（0〜10） |
| `max_chars` | 各ページの本文抽出の長さ上限（500〜50,000文字） |
| `topic` と `time_range` | Webページの代わりにニュース、および鮮度の期間 |
| `include_domains` | 指定したサイトのみからの結果 |
| `country` と `language` | 検索を実行する場所と言語 |

[検索リファレンス](https://llmwebsearch.com/ja/docs/search/)で、それぞれを例付きで、さらに `format` と `exclude_domains` も文書化しています。

## 1回の呼び出しでクレジットはいくつ使いますか？

ほとんどの呼び出しは1クレジットです。ルール全体は次のとおりです:

- **検索で0〜3ページを読み取り: 1クレジット。** これには最大20件のランク順の結果が含まれます。
- **検索で4〜10ページを読み取り: 2クレジット。**
- **Extract:** URLをすでに持っているページを読む場合は、コンテンツ付きで返される3ページごとの開始グループにつき1クレジットで、1回の呼び出しにつき最大20 URLです。拒否されたURLや失敗したURLはカウントされません。
- **エラー: 0クレジット。** 不正なパラメータ、誤ったキー、残高不足、検索の失敗には料金はかかりません。
- **読み取れなかったページ** が成功した検索の中にあっても、その価格は変わりません。
- `GET https://llmwebsearch.com/api/v1/credits` での **残高確認** は無料です。

検索クレジットに有効期限はありません。今月使わなかった分は来年も残ります。

## サイトが読み取られたくない場合はどうなりますか？

結果はタイトル、URL、スニペットとともに表示されますが、ページ本文は含まれません。当社のリーダーはrobots.txtを尊重します。LLMWebSearchとして名乗り、サイトが自身またはすべてのロボット向けに定めたルールに従い、読み取りを許可されていないページのコンテンツは除外します。robots.txtにContent-Signal: ai-input=noを設定しているサイトは、そのページのコンテンツが結果に含まれません。

サイトが当社のリーダーに拒否を返した場合、その結果には `content_status: "target_refused"` とサイト自身の HTTP ステータスが `target_status` に付きます。サイトが当社のリーダーを拒否した場合、結果はコンテンツなしで、サイトのステータスとともに返されます。当社がCAPTCHAを解いたり、アカウントにサインインしたり、ブロックやペイウォールを回避したりすることは一切ありません。[エラーページ](https://llmwebsearch.com/ja/docs/errors/)には、すべてのステータスと、リトライする価値のあるものが一覧されています。

## 次はどこへ進めばよいですか？

- [検索エンドポイント](https://llmwebsearch.com/ja/docs/search/) — /search のすべてのパラメータを例付きで
- [抽出エンドポイント](https://llmwebsearch.com/ja/docs/extract/) — 既にお持ちの1〜20件のURLを読み取る
- [レスポンス形式](https://llmwebsearch.com/ja/docs/response/) — 各フィールドとすべての content_status
- [エラー](https://llmwebsearch.com/ja/docs/errors/) — HTTP エラー、ページのステータス、リトライのルール
- [Python](https://llmwebsearch.com/ja/docs/python/) — requests、async httpx、引用付きの回答
- [Node.js](https://llmwebsearch.com/ja/docs/node/) — fetch、小さなプール、同じ引用ループ
- [curl と jq](https://llmwebsearch.com/ja/docs/curl/) — ターミナルのレシピ
- [MCPサーバー](https://llmwebsearch.com/ja/docs/mcp/) — Claude Code と Claude Desktop 向けの search_web
- [LangChainとLlamaIndex](https://llmwebsearch.com/ja/docs/langchain/) — ツールとリトリーバー
- [OpenAI function calling](https://llmwebsearch.com/ja/docs/openai/) — ツールスキーマ、ループ、Agents SDK
- [n8n](https://llmwebsearch.com/ja/docs/n8n/) — AI Agent向けのHTTPリクエストツール
- [OpenClaw](https://llmwebsearch.com/ja/docs/openclaw/) — MCP経由での検索

## クイックスタート：よくある質問

### SDKは必要ですか？

いいえ。LLMWebSearchはプレーンなHTTPS APIなので、どのHTTPクライアントでも動作します。このドキュメントにはPython、Node.js、curl向けのコピー＆ペースト可能なコードと、MCP、LangChain、LlamaIndex、OpenAI function calling、n8n、OpenClaw向けのツール定義が記載されています。パッケージは公開していません。

### APIは回答を書いてくれますか？

いいえ。APIが返すのは情報源であり、書かれた回答ではありません。あなた自身のモデルがページを読み、返答を書き、URLを引用します。モデル、プロンプト、引用スタイルを自分で選べます。

### APIキーをURLに入れられますか？

はい、`GET /search`の`api_key`クエリパラメータとして指定できます。`Authorization`ヘッダーの方が安全です。URLはログやシェル履歴に残るためです。エージェント、アプリ、チームメンバーごとに1つのAPIキーを作成し、ダッシュボードから他のキーに触れずにどれでも失効させられます。

### 無料で試せるプランはありますか？

いいえ。無料枠はありません。5,000検索パックが試す手段で、最低入金額から購入します。最低入金額に達するためだけに追加した分は、未使用であれば30日以内に依頼によりUSDTまたはUSDCで返金されます。

---

LLMWebSearch: LLMWebSearchは、AIエージェント向けのWeb検索APIです。ランキング済みの検索結果を、上位ページの本文をMarkdownに変換した内容とともに返し、暗号資産で支払えます。本人確認書類のアップロードは不要です。プリペイドのクレジットは$1.20/1K検索から購入でき、有効期限はありません。KYC不要 — 身分証も自撮りも書類も不要。暗号資産で支払い。
