web について
内蔵のウェブ取得がブロックされた場合やページを描画できない場合に、有料APIを使うウェブ検索・スクレイピングスキルです。x_payment経由で単一または一括クロール、複数形式の出力、検索を利用できます。
主な機能
- 01スニペット付きウェブ検索
- 02単一URLと複数URLのクロール
- 03Markdown、HTML、テキスト出力
- 04CSSセレクターによる抽出
- 05ブロック時に取得方式を段階的に変更
活用シーン
- 01内蔵検索が機能しない場合のページ探索
- 02JavaScript描画サイトからの内容抽出
- 03複数URLの一括クロール
- 04ページ内の特定要素の選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cascade-protocol/ agentbox --skill webインストール後、Claude Code で/webを入力して読み込まれたか確認します。
詳細
Web スクレイピングと検索
https://web.surf.cascade.fyi で利用できる、有料の Web クロールおよび検索 API です。x402 を使用した Solana 経由で、クロールは 0.005 USDC、検索は 1 回あたり 0.01 USDC かかります。すべてのリクエストには x_payment ツールを使用してください。組み込みの web_fetch ツールが失敗した場合や、ブロックされた場合(ボット対策、JS でレンダリングされたページ、有料コンテンツなど)に使用してください。
エンドポイント
Web ページをクロールする
任意の URL からコンテンツを取得して抽出します。ブロックされると、取得方法を自動的に段階的に切り替えます。高速 HTTP → ヘッドレスブラウザー → プロキシを使ったステルスブラウザー。
x_payment({
"url": "https://web.surf.cascade.fyi/v1/crawl",
"method": "POST",
"params": "{\"url\": \"https://example.com\", \"format\": \"markdown\"}"
})
本文のパラメーター:
| Param | Type | Default | Description |
|---|---|---|---|
| url | string | - | クロールする単一の URL(urls が指定されていない場合は必須) |
| urls | string[] | - | 一括クロールする複数の URL(url が指定されていない場合は必須) |
| format | string | markdown | 出力形式:markdown、html、または text |
| selector | string | - | 特定の要素を抽出する CSS セレクター |
| proxy | boolean | false | プロキシの使用を強制します(ステルス階層では自動的に有効になります) |
単一 URL のレスポンス:
{
"status": 200,
"content": ["# Page Title\n\nPage content in markdown..."],
"url": "https://example.com/"
}
複数 URL のレスポンス:
[
{"status": 200, "content": ["..."], "url": "https://example.com/"},
{"status": 200, "content": ["..."], "url": "https://other.com/"}
]
段階的な切り替え: クローラーは、より強力な方法を順に自動で試します。
- get - 高速 HTTP リクエスト(最も安価で、ほとんどの静的サイトに対応します)
- fetch - ヘッドレス Chromium(JS でレンダリングされたページ用)
- stealthy_fetch - プロキシを使ったステルスブラウザー(Cloudflare やボット対策を回避します)
切り替えが発生する条件:HTTP 403/429/503、コンテンツが空、またはコンテンツが 100 文字未満の場合です。
Web を検索する
Exa の検索 API を使用して Web を検索します。タイトル、URL、テキストのスニペットが返されます。
x_payment({
"url": "https://web.surf.cascade.fyi/v1/search",
"method": "POST",
"params": "{\"query\": \"x402 protocol crypto payments\", \"num_results\": 10}"
})
本文のパラメーター:
| Param | Type | Default | Description |
|---|---|---|---|
| query | string | required | 検索クエリ |
| num_results | 1-20 | 5 | 返す検索結果の数 |
レスポンス:
{
"results": [
{
"title": "Page Title",
"url": "https://example.com/page",
"snippet": "Relevant text excerpt from the page..."
}
]
}
使用パターン
ページを Markdown としてスクレイピングする
x_payment({
"url": "https://web.surf.cascade.fyi/v1/crawl",
"method": "POST",
"params": "{\"url\": \"https://docs.solana.com\", \"format\": \"markdown\"}"
})
CSS セレクターを使って特定の要素を抽出する
x_payment({
"url": "https://web.surf.cascade.fyi/v1/crawl",
"method": "POST",
"params": "{\"url\": \"https://news.ycombinator.com\", \"format\": \"html\", \"selector\": \".titleline\"}"
})
複数の URL を一括クロールする
x_payment({
"url": "https://web.surf.cascade.fyi/v1/crawl",
"method": "POST",
"params": "{\"urls\": [\"https://example.com\", \"https://httpbin.org/get\"], \"format\": \"text\"}"
})
検索してから上位の結果をクロールする
まず検索します:
x_payment({
"url": "https://web.surf.cascade.fyi/v1/search",
"method": "POST",
"params": "{\"query\": \"ERC-8004 agent identity standard\", \"num_results\": 5}"
})
次に、最も関連性の高い結果をクロールします:
x_payment({
"url": "https://web.surf.cascade.fyi/v1/crawl",
"method": "POST",
"params": "{\"url\": \"https://eips.ethereum.org/EIPS/eip-8004\", \"format\": \"markdown\"}"
})
費用
- クロール:1 回あたり 0.005 USDC(単一または一括)
- 検索:1 回あたり 0.01 USDC
すべての支払いは Solana メインネット上で行われます。リクエストごとに個別の呼び出しとなります。一括クロールでは、1 回の支払いでバッチ内のすべての URL を処理できます。
エラー
| HTTP | 意味 |
|---|---|
| 400 | パラメーターが無効です(本文の形式を確認してください) |
| 402 | 支払いが必要です(x_payment が自動的に処理します) |
| 429 | 同時リクエストが多すぎます(後でもう一度お試しください) |
| 502 | 上流のクロール/検索エラー |