Community研究&データ分析github.com

firecrawl/firecrawl-build-interact

Firecrawl `/interact` をプロダクトコードに統合し、スクレイピング後の動的ページやブラウザ操作を実現します。プレーンな `/scrape` では完了できないクリック、フォーム入力、ページネーション、認証対応フローなど、複数ステップのインタラクションが必要な機能に使用します。

firecrawl-build-interact とは?

このスキルは、Firecrawl の `/interact` エンドポイントをプロダクトコードに統合する方法を開発者に提供します。通常の `/scrape` では静的なコンテンツ取得しかできませんが、`/interact` を使用することで、クリック、フォームへの入力、ページネーション、認証が必要なフローなど、ブラウザ上での複数ステップのインタラクションを実行できます。これにより、動的なシングルページアプリケーション(SPA)や、ユーザー操作を必要とする複雑な Web ページからのデータ収集が可能になります。主に Cursor や Claude Code などの AI エージェント向けのツール連携を想定しており、AI が自動的にブラウザ操作を計画・実行できるようになります。スキルは、実際の API 呼び出し例や、エラーハンドリング、認証状態の維持方法などを含む実践的なガイドを提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/firecrawl/skills/tree/main/skills/firecrawl-build-interact

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

firecrawl-build-interact は何をしますか?

Firecrawl /interact をプロダクトコードに統合し、スクレイピング後の動的ページやブラウザ操作を実現します。プレーンな /scrape では完了できないクリック、フォーム入力、ページネーション、認証対応フローなど、複数ステップのインタラクションが必要な機能に使用します。

概要

/interact エンドポイントは、Firecrawl のブラウザ自動化機能を拡張し、スクレイピング後の動的な操作を可能にします。このスキルは、AI エージェント(Claude Code、Cursor、Codex など)が実際の製品コードに /interact を組み込むためのガイドを提供します。

主な機能

  • クリック操作: ボタンやリンクをプログラムでクリックします。
  • フォーム入力: テキストフィールドに値を入力します。
  • ページネーション: 「次へ」ボタンをクリックして複数ページを横断します。
  • 認証対応フロー: ログインフォームの入力や認証後の状態を維持します。
  • 複数ステップの連鎖: 一連の操作を順番に実行します。

対応プラットフォーム

  • Cursor
  • Claude Code
  • Codex
  • その他の AI エージェントツール

使用方法

1. API キーの設定

環境変数に Firecrawl API キーを設定します:

export FIRECRAWL_API_KEY="your-api-key-here"

2. 基本のインタラクション例

import requests

api_key = "YOUR_API_KEY"
url = "https://api.firecrawl.dev/v1/interact"

payload = {
    "url": "https://example.com/login",
    "actions": [
        {"type": "click", "selector": "#login-button"},
        {"type": "wait", "duration": 2000},
        {"type": "type", "selector": "#username", "value": "user"},
        {"type": "type", "selector": "#password", "value": "pass"},
        {"type": "click", "selector": "#submit"}
    ]
}

response = requests.post(url, json=payload, headers={"Authorization": f"Bearer {api_key}"})
print(response.json())

3. 認証状態の維持

# セッションクッキーを保存して再利用
session = requests.Session()
# ... 初回認証後、クッキーを保存
cookies = response.cookies
# 後続のリクエストでクッキーを送信
response = session.get("https://example.com/dashboard", cookies=cookies)

エラーハンドリング

try:
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()
    data = response.json()
    if "error" in data:
        print(f"インタラクションエラー: {data['error']}")
    else:
        print("操作成功")
except requests.exceptions.RequestException as e:
    print(f"リクエスト失敗: {e}")

注意事項

  • レート制限に注意してください。
  • 操作対象のページの利用規約を遵守してください。
  • 認証情報は安全に管理してください。

参考リンク

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

関連スキル