ドキュメントをもとに回答するサポートボットやコーディングアシスタントの品質は、インデックスに入れるテキストの質で決まります。ページを手作業でコピーすると新しいページが漏れ、生の HTML のままではメニューやスクリプトがインデックスに混ざってしまいます。Lovely Router はサイトをクロールし、各ページをきれいな markdown で返します。開始 URL を送ると、ページ 1 件につき 1 つの JSON オブジェクトが返り、プリペイド残高からページごとに課金されます。夜間ジョブや AI エージェントのどこからでも、1 つの API キーで呼び出せます。
AI エージェントに任せる
このプロンプトを Claude Code、Cursor、Codex などのコーディングエージェントに貼り付けてください。ドキュメントの場所と API キーの使い方をエージェントに伝えます。
ドキュメントサイトを RAG インデックス用の markdown に変換する. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>仕組み
開始 URL を決める
ドキュメントのトップ、またはガイドのフォルダなど必要なセクションを指定します。デフォルトでは、クローラーはその URL の配下のページもカバーします。
上限を付けてツールを実行する
入力を
max_resultsと一緒にPOST /v1/tools/website-crawl/runに送ります。ページ数の上限はmaxCrawlPagesで指定します。実行は最大費用を残高から仮押さえし、各ページを markdown で返します。チャンク分割して埋め込む
markdown を見出しで分割してチャンクを埋め込み、再実行のたびにインデックス内の古いページを置き換えます。
1 回のリクエストでドキュメントのセクションをクロールする
Web サイトを markdown にクロールするツールは startUrls を受け取ります。maxCrawlPages は、開始ページやページネーションのページを含むクロール総ページ数の上限で、maxCrawlDepth はリンクを何階層までたどるかを制限します。
curl https://lovelyrouter.com/v1/tools/website-crawl/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"startUrls": [
{
"url": "https://docs.example.com/guides"
}
],
"maxCrawlPages": 3,
"maxCrawlDepth": 1
},
"max_results": 3
}'クロール対象を広げたり絞ったりするには includeUrlGlobs と excludeUrlGlobs を、サイトのサイトマップから URL を取り込むには useSitemaps を使います。max_results はページ数の上限と同じ値にしてください。60 秒を過ぎても実行中の場合は 202 が返ります。ポーリングの方法はツールを実行するをご覧ください。
各ページに含まれる情報
| フィールドのグループ | 取得できる内容 |
|---|---|
| コンテンツ | LLM にそのまま渡せる、きれいな markdown のページ本文 |
| ソース | ページの URL(開始 URL とパターンの範囲内) |
| 範囲 | 開始 URL、深さ、glob パターンに一致するページだけ |
サイト全体をクロールする前に、小さな maxCrawlPages で出力を確認することをおすすめします。
レシピ
製品ドキュメントをクロールし、markdown を見出しでチャンク分割して埋め込み、ボットが元ページへのリンク付きで回答できるようにします。
同じ上限でクロールを再実行し、変更があったページを置き換えます。
API リファレンスのフォルダから開始し、変更履歴を除外するパターンを追加します。
利用しているライブラリのドキュメントをクロールし、エージェントが推測ではなく検索して答えられるようにします。
useSitemaps を有効にするか、sitemap.xml を開始 URL に追加して、どこからもリンクされていないページにも到達します。
普段の言葉で頼みたい場合は、MCP サーバーを接続して Claude Code や Cursor に次のように伝えます。「https://docs.example.com/guides を 50 ページまで markdown でクロールし、各ページを docs/ に書き出してください。max_results は 50 に設定してください。」
他の Web ツールと組み合わせる
クロールは、選んだ 1 つのサイトを対象にします。ほかのツールは、単一のページやページの見た目をカバーします。
Web サイト全体(または一部)をクロールし、各ページを LLM 向けのきれいな Markdown で返します。RAG やドキュメントサイトに最適。
Web ページの全体スクリーンショット(PNG または PDF)。画像へのリンクを返します。
クエリの Google 検索結果ページ:自然検索結果、広告、「他の人はこちらも質問」、関連キーワード。1 件 = 1 ページ(自然検索リンク約 10 件)。
YouTube 動画の字幕全文(タイムスタンプ付き):動画リンクごとに 1 件、動画にあれば指定した言語で。
website-screenshotは、markdown では伝わらないページの見た目を撮影します。google-searchは、クロール対象のサイトを見つけます。youtube-transcriptは、動画チュートリアルをテキストとして加えます。
より幅広い選択肢については、あらゆる Web サイトから構造化データを抽出するとリサーチエージェントをご覧ください。
料金
料金はページ単位です。実行を開始すると最大費用(呼び出し料金 + ページ単価 × max_results)が仮押さえされ、実際に返った分で精算されて、仮押さえの残りは残高に戻ります。失敗またはタイムアウトした実行は返したページの分だけを支払い、開始時に拒否された実行は無料です。
200 ページをクロールすると 200 ページ分として課金されるため、ページ数の上限を設定しておけば、大きなサイトで請求額が膨らむことはありません。サブスクリプションや月額の最低利用料はなく、$5 からチャージでき、1 つの残高でツールとモデルの両方を支払えます。現在の価格は上のカードに表示されており、料金ではすべてのツールを一覧できます。
よくある質問
クロールを 1 つのセクションに限定するには?+
セクションの URL から開始します。開始 URL の配下のページは、デフォルトでクロールされます。調整するには includeUrlGlobs または excludeUrlGlobs を追加してください。
1 回の実行で何ページまでクロールできますか?+
maxCrawlPages で最大 200 ページです。デフォルトは 10 ページです。
サイトマップは使えますか?+
はい。useSitemaps を使うか、sitemap.xml のリンクを開始 URL として追加してください。
JavaScript で構築されたドキュメントサイトにも対応していますか?+
ツールはブラウザでページをレンダリングするため、JavaScript でコンテンツを組み立てるページも、表示されたとおりに読み取れます。
自分が運営していないサイトをクロールできますか?+
ツールが読み取るのは公開ページです。クロール対象を決めるときは、サイトの利用規約と robots のルールを尊重してください。
サブスクリプションは必要ですか?+
いいえ。プリペイド残高にクレジットを追加し、実行ごとに残高から差し引かれます。失敗した実行は返した結果の分だけを支払い、自動で更新されるものは何もありません。
単一のページを読み取りたい場合はあらゆる Web サイトから構造化データを抽出するを、そのほかのツールについてはツールカタログをご覧ください。