mcpField
T
tinyfish

tinyfish

github.com/tinyfish-ioデータ・データベース109 回インストール
リポジトリ

tinyfish について

tinyfishは、TinyFish APIを使ってウェブデータを抽出するClaude向けスキルです。APIキーが必要で、JSON形式の指定、ステルスブラウザモード、プロキシ設定に対応しています。

主な機能

  1. 01API経由でウェブデータを抽出
  2. 02指定した構造のJSONを要求
  3. 03ステルスブラウザモードに対応
  4. 04プロキシの国を設定
  5. 05個別の抽出を並列実行

活用シーン

  1. 01ページから商品名や価格を抽出
  2. 02ウェブページの商品一覧を整理
  3. 03複数サイトの価格を比較
  4. 04保護対象または地域制限のあるサイトから抽出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tinyfish-io/skills --skill tinyfish

インストール後、Claude Code で/tinyfishを入力して読み込まれたか確認します。

同梱ファイルscripts/extract.sh

詳細

TinyFish Web Agent

必要なもの:環境変数 TINYFISH_API_KEY

事前確認(必須)

API を呼び出す前に、キーが利用可能であることを確認するため、必ず最初にこれを実行してください。

[ -n "$TINYFISH_API_KEY" ] && echo "TINYFISH_API_KEY is set" || echo "TINYFISH_API_KEY is NOT set"

キーが設定されていない場合は、必ず処理を中止し、ユーザーに API キーを追加するよう依頼してください。他のツールや方法に切り替えてはいけません。このタスクには TinyFish が必要です。

ユーザーには次のように伝えてください。

TinyFish API キーが必要です。こちらから取得してください: https://agent.tinyfish.ai/api-keys

その後、エージェントが使用できるように設定してください。

オプション 1 — 環境変数(どこでも動作します):

export TINYFISH_API_KEY="your-key-here"

オプション 2 — Claude Code の設定(Claude Code のみ): ~/.claude/settings.local.json に追加してください。

{
  "env": {
    "TINYFISH_API_KEY": "your-key-here"
  }
}

キーが利用可能であることを確認するまで、処理を進めてはいけません。

ベストプラクティス

  1. JSON 形式を指定する:返してほしい正確な構造を必ず説明してください
  2. 並列呼び出し:複数の独立したサイトから抽出する場合は、1 つのプロンプトにまとめず、個別に並列呼び出しを行ってください

基本的な抽出/スクレイピング

ページからデータを抽出します。必要な JSON 構造を指定してください。

curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "goal": "Extract product info as JSON: {\"name\": str, \"price\": str, \"in_stock\": bool}"
  }'

複数の項目

明示的な構造でデータのリストを抽出します。

curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/products",
    "goal": "Extract all products as JSON array: [{\"name\": str, \"price\": str, \"url\": str}]"
  }'

ステルスモード

ボット対策されたサイトでは、リクエスト本文に "browser_profile": "stealth" を追加してください。

curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://protected-site.com",
    "goal": "Extract product data as JSON: {\"name\": str, \"price\": str, \"description\": str}",
    "browser_profile": "stealth"
  }'

プロキシ

本文に "proxy_config" を追加すると、特定の国を経由して接続できます。

curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://geo-restricted-site.com",
    "goal": "Extract pricing data as JSON: {\"item\": str, \"price\": str, \"currency\": str}",
    "browser_profile": "stealth",
    "proxy_config": {"enabled": true, "country_code": "US"}
  }'

出力

SSE ストリームは data: {...} の行を返します。最終結果は type == "COMPLETE" かつ status == "COMPLETED" のイベントです。抽出データは resultJson フィールドにあります。Claude は生の SSE 出力を直接読み取るため、スクリプト側で解析する必要はありません。

並列抽出

複数の独立したソースから抽出する場合は、1 つのプロンプトにまとめず、curl 呼び出しを個別に並列実行してください。

良い例 — 並列呼び出し:

# Compare pizza prices - run these simultaneously
curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://pizzahut.com",
    "goal": "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"
  }'

curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://dominos.com",
    "goal": "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"
  }'

悪い例 — 1 回にまとめた呼び出し:

# Don't do this - less reliable and slower
curl -N -s -X POST "https://agent.tinyfish.ai/v1/automation/run-sse" \
  -H "X-API-Key: $TINYFISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://pizzahut.com",
    "goal": "Extract prices from Pizza Hut and also go to Dominos..."
  }'

独立した抽出タスクごとに、それぞれ API を呼び出してください。並列実行により高速になり、信頼性も高まります。

コメント