ウェブ検索の OpenRouter。

プロバイダーを選び、使い慣れた API はそのまま。対応 API なら Base URL とキーを変えるだけで、既存の呼び出しを利用できます。

GitHub スター 1,000+MIT ライセンス · セルフホスト
search2ai
互換 API
const client = tavily({
apiKey: process.env.GATEWAY_KEY,
apiBaseURL:
'http://localhost:3014/compat/tavily',
});
​
await client.search('AI agents');

既存の SDK 呼び出しはそのまま。

ルーティング例
Search1APITavilyBrave

プロバイダーと試行順序を自由に設定。

プロバイダーも、ルーティングも自由に。

自分のキーで使いたいプロバイダーを接続。検索・ニュース・ページ抽出の順序を設定し、すべてを search2ai から呼び出せます。

.env · プロバイダーと試行順序
SEARCH1API_KEY=your_provider_key
TAVILY_KEY=your_backup_provider_key
​
SEARCH_SERVICE=search1api,tavily
NEWS_SERVICE=tavily,search1api
CRAWL_SERVICE=search1api,jina

プロバイダーを追加

組み込みのサービスを設定。別のサービスはアダプターを実装・登録して追加できます。

自動フォールバック

レート制限・タイムアウト・エラー時は次のプロバイダーへ。応答元と失敗の理由も確認できます。

任意のキャッシュ

メモリ内キャッシュや Workers の Cloudflare KV を有効化。TTL も設定可能。

Base URL とキーを変更。コードはそのまま。

Exa・Tavily・Search1API・SearXNG・Firecrawl を利用中ですか? 対応する API・SDK 呼び出しを search2ai に向けるだけ。既存の呼び出しとレスポンス処理を維持し、設定済みのプロバイダーへルーティングできます。

Tavily SDK · 設定のみ変更 — typescript diff
import { tavily } from '@tavily/core';
​
const client = tavily({
- apiKey: process.env.TAVILY_API_KEY,
+ apiKey: process.env.GATEWAY_KEY,
+ apiBaseURL: 'http://localhost:3014/compat/tavily',
});
​
const results = await client.search('AI agent frameworks');

既存の SDK 呼び出しはそのまま。

既存 APIゲートウェイの接続先
Exa
/compat/exaPOST /search, /contents
Tavily
/compat/tavilyPOST /search, /extract
Search1API
/compat/search1apiPOST /search, /news, /crawl
SearXNG
/compat/searxngGET/POST /search (JSON)
Firecrawl
/compat/firecrawlPOST /v2/scrape, /v1/scrape

ゲートウェイに AUTH_KEYS を設定し、そのキーを SDK に渡します。プロバイダーの認証情報はゲートウェイ側で管理します。

互換性はドキュメント記載のメソッドとオプションが対象です。ネイティブ固有の機能は同じプロバイダーが必要で、他社への変換は一部に対応。Firecrawl は単一ページのスクレイピングに対応します。

いつもの環境に、ひとつの接続。

AI クライアントに接続、HTTP API を呼び出し、またはアプリへ直接組み込み。

プロバイダーキーを .env に保存して起動し、別のターミナルから検索してください。

HTTP API — bash
# .env
SEARCH1API_KEY=your_provider_key
​
# Terminal 1
npx -y search2ai serve --host 127.0.0.1
​
# Terminal 2
curl http://localhost:3014/v1/search \
-H 'Content-Type: application/json' \
-d '{"query":"hono cloudflare workers","max_results":3}'

Node.js ≥ 22.18。必要な操作に対応するプロバイダーを設定してください。例では Search1API を使用しますが、他の対応サービスも選べます。

検索・ニュース:Search1API、Tavily、Brave、Exa、Serper、SerpAPI、Google、SearXNG。ページ抽出:Search1API、Tavily、Exa、Jina、Firecrawl。機能・フィルターはサービスにより異なります。Google のニュースは日付順検索です。

設定したプロバイダーだけを使用します。認証情報・利用枠・利用料金は、ゲートウェイとは別に必要です。

ホスト版で始めたいですか?

Search1API を直接利用するか、search2ai のプロバイダーとして接続。自分でゲートウェイを運用せずに検索・ニュース・ページ抽出を利用できます。

Search1API を試すMIT ライセンス。オープンに開発。