mcpField
A
apify-financial-osint

apify-financial-osint

github.com/apifyマーケティング・グロース283123 回インストール5 週間前に更新
リポジトリ

apify-financial-osint について

apify-financial-osintは、投資先企業を対象にReddit、Twitter/X、Trustpilotを調べるソーシャルリスニングスキルです。シグナルの種類に応じて指定のApify Actorを選び、感情や反応の指標をまとめます。

主な機能

  1. 01Redditの感情・議論検索
  2. 02Twitter/Xのリアルタイム言及監視
  3. 03Trustpilotレビュー分析
  4. 04シグナル別のActor選択
  5. 05費用管理のための結果上限設定
  6. 06感情・エンゲージメントの集計

活用シーン

  1. 01企業イベントをめぐる議論の追跡
  2. 02リアルタイムの言及や危機シグナルの監視
  3. 03顧客満足度や苦情傾向の分析

MCP 対応

Apify MCP connectorの`call-actor`ツールで指定のApify Actorを実行できます。Apify CLIにも対応しています。

インストール

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

$npx skills add https://github.com/apify/awesome-skills --skill apify-financial-osint

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

同梱ファイルdata/osint-targets.jsonreference/osint-actor-schemas.md

詳細

Financial OSINT — ソーシャルリスニング

ポートフォリオ企業について、インターネット上の声を発見し、定量化します。検証済みの Apify アクターは 3 つのみです — Reddit(感情分析とスレッド形式の議論)、Twitter/X(リアルタイムの言及、危機モニタリング)、Trustpilot(顧客満足度)。すべてのアクターは、成功率 98% 以上の実際のデモデータで検証済みです。

前提条件

  • Apify へのアクセス — 推奨:apify CLI(npm install -g apify-cli && apify login);代替手段:Apify MCP コネクター(call-actor ツール)。両方を利用できる場合は、CLI のほうが高速なため推奨します。
  • ${CLAUDE_PLUGIN_ROOT}/data/companies.json に企業データがあること(読み取るフィールド:queries.reddit、queries.twitter、trustpilot_urls、identifiers.ticker)
  • 企業ごとのルーティングが ${CLAUDE_PLUGIN_ROOT}/skills/apify-financial-osint/data/osint-targets.json に事前計算されていること

${CLAUDE_PLUGIN_ROOT} はプラグインのルートディレクトリ(.claude-plugin/ がある場所)です。プラグインのインストール時は Claude Code によって自動的に解決されます。開発時は --plugin-dir のパスに設定してください。

ワークフローのチェックリスト

以下をコピーし、進捗に合わせてチェックしてください。

Task Progress:
- [ ] Step 0: Verify Apify access — try `apify --version && apify info`; if unavailable, check for `call-actor` MCP tool; if neither, tell user to install apify CLI or Apify MCP connector
- [ ] Step 1: Pick actor(s) by signal type — see "Choose Actor by Signal" table
- [ ] Step 2: Build input — read data/osint-targets.json or construct from data/companies.json
- [ ] Step 3: Run actor via apify CLI
- [ ] Step 4: Output — present top results with sentiment + engagement signals

制約事項

使用可能な Apify アクター(これらに限定 — 他は使用しないでください)
アクター用途コスト成功率
fatihtahta/reddit-scraper-search-fastReddit の感情分析、買収への反応、ブランド認知結果 1,000 件あたり $1.4998.4%(30 日間に 40,787 回実行)
kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapestリアルタイムの言及、危機モニタリング、ディールフローの兆候ツイート 1,000 件あたり $0.2599.7%(5 点満点中 4.3 点、58 件のレビュー)
getwally.net/trustpilot-reviews-scraperサービス品質、苦情の傾向(通信事業者、e コマース、銀行)結果 1,000 件あたり $3.00動作確認済み

他のアクターは使用しないでください。WebSearch、WebFetch、ブラウザツールは使用しないでください。

シグナルに応じたアクターの選択
必要な情報使用するアクター使用しない場合
感情分析/スレッド形式の議論/企業イベントへの反応fatihtahta/reddit-scraper-search-fast企業に消費者層がない場合(B2B フィンテック、バイオテクノロジー)— 投稿は 5 件未満と予想されます
リアルタイムの言及/危機の兆候/ディールフローに関する話題kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest1 週間を超える過去データが必要な場合 — Twitter API の制限があります
顧客満足度/サービス品質に関する苦情getwally.net/trustpilot-reviews-scraper企業に Trustpilot ページがない場合(B2B、持株会社)— reference/osint-actor-schemas.md のセクション 3 にある検証済み URL の一覧を参照してください

パイプライン

ステップ 1:アクターを選ぶ

ポートフォリオ企業の場合は、data/osint-targets.json で企業を検索してください。実行するアクターとテンプレート化された入力が事前計算されています。ルーティングのルール(このファイルの作成方法を反映):

  • queries.reddit が空でない → Reddit アクターを実行
  • queries.twitter が空でない → Twitter アクターを実行(追跡対象企業では常に設定済み)
  • trustpilot_urls が空でない → Trustpilot アクターを実行

アドホックなターゲットやポートフォリオ外のターゲットでは、入力を一から作成してください(ステップ 2 を参照)。

ステップ 2:入力を作成
Reddit 入力(主要なフィールド)
フィールド型デフォルト説明
queries文字列の配列必須(queries / urls / subredditName のいずれか)Reddit 全体を対象とする検索語です。
maxPosts整数50000(!)必ず明示的に設定してください。通常のスキャンでは30~50件、詳細な調査では100~200件が目安です。
scrapeCommentsブール値falseスレッド形式のディスカッションを抽出するには、true に設定します。
maxComments整数50000(!)scrapeComments: true の場合にのみ使用されます。通常は5~10件が目安です。
sort列挙型"relevance"relevance、hot、top、new、comments のいずれかです。(rising / best は使用できません。)
timeframe列挙型"all"all、year、month、week、day、hour のいずれかです。dateFrom~dateTo の範囲以上の期間を指定する必要があります。
dateFrom文字列—YYYY-MM-DD。取得後のフィルターで、この日付以降の投稿を残します。
dateTo文字列—YYYY-MM-DD。取得後のフィルターで、この日付までの投稿を残します。

例:

apify call fatihtahta/reddit-scraper-search-fast \
  --input '{"queries":["InPost FedEx acquisition"],"maxPosts":50,"scrapeComments":true,"maxComments":10,"sort":"relevance","timeframe":"month"}' \
  --user-agent apify-awesome-skills/apify-financial-osint
Twitter/X 入力(主要なフィールド)
フィールド型デフォルト説明
twitterContent文字列—twitterContent / tweetIDs / searchTerms のいずれかです。Twitter の高度な検索構文(OR、-、from:、since:)を使用します。
tweetIDs文字列の配列—複数形です。tweetId ではありません。
searchTerms文字列の配列—各検索語について、それぞれ maxItems 件の結果が取得されます。
maxItems整数200必須です。指定しないとアクターは失敗します。結果ごとに課金されます。
queryType列挙型"Latest"Latest、Top、Photos、Videos のいずれかです。
lang文字列"en"ISO 639-1 です。単一国を対象とした B2C では cs / pl / hu / bg / sk / tr を設定し、多言語を対象とする場合は省略します。
since / until文字列—形式:YYYY-MM-DD_HH:MM:SS_UTC(ISO 8601 形式ではありません)。
filter:news / filter:media / min_faves / min_retweets各種—エンゲージメント/コンテンツのフィルターです。

例:

apify call kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest \
  --input '{"twitterContent":"InPost FedEx acquisition OR INPST","maxItems":100,"queryType":"Latest","since":"2026-01-01_00:00:00_UTC","filter:news":true}' \
  --user-agent apify-awesome-skills/apify-financial-osint
Trustpilot 入力(フィールドは2つのみ!)
フィールド型必須説明
startUrls{"url": "..."} オブジェクトの配列はい単なる文字列ではありません。オブジェクトの配列です。
limit整数いいえ(デフォルトは1000)コスト($3/1k)を抑えるには、より小さい値を設定します。

例:

apify call getwally.net/trustpilot-reviews-scraper \
  --input '{"startUrls":[{"url":"https://www.trustpilot.com/review/inpost.pl"}],"limit":50}' \
  --user-agent apify-awesome-skills/apify-financial-osint

古いドキュメントには maxItems、includeStatistics、includeCompanyDetails、onlyNewerThan などのフィールドが記載されていますが、これらはこのアクターには存在しません。

Step 3: 実行コストを制限する

実行前に、必ず出力上限を設定してください。デフォルト値は危険なほど高く設定されています。

アクター上限フィールド複数対象のスキャン詳細な調査
RedditmaxPosts30~50100~200
Reddit のコメントmaxComments5~10(scrapeComments: true の場合のみ)20~50
Twitter/XmaxItems50~100200~500
Trustpilotlimit30~50100~200

Twitter と Trustpilot は結果ごとに課金され、返された項目すべてが請求対象になります。

Step 4: 実行する

InPost を対象に Reddit のスレッドと Twitter の言及を取得する単一の例(data/osint-targets.json に基づいて実行):

apify call fatihtahta/reddit-scraper-search-fast \
  --input "$(jq -c '.targets[] | select(.company_id=="inpost") | .inputs.reddit' \
    ${CLAUDE_PLUGIN_ROOT}/skills/apify-financial-osint/data/osint-targets.json)" \
  --user-agent apify-awesome-skills/apify-financial-osint \
  --output-dataset > reddit_inpost.json

各アクターの入力スキーマ全体(Twitter の全51プロパティ、Reddit のすべての列挙型、Trustpilot のあらゆる例外ケース)と30件以上の呼び出し例については、reference/osint-actor-schemas.md を参照してください。

Step 4b: Reddit の結果を事後フィルタリングする

Reddit の検索では引用符が無視され、部分一致します(「InPost」は「in post game thread」にも一致します)。取得後、クライアント側で結果をフィルタリングします。会社の検索クエリのいずれかが、title または body に単語全体として(大文字と小文字を区別せずに)含まれる投稿だけを残してください。一致判定には、data/osint-targets.json の queries 配列を使用します(これらは、その会社が実際に知られている名称です)。比較の前に、発音区別符号を正規化してください(Š↔S、ö↔o など)。

Reddit の生の検索結果の90~95%は誤検出になると想定してください。これは正常です。これを補うために、maxPosts は200に設定されています。

ステップ 5:出力

アクターごとの主な出力フィールド:

アクター日付フィールド日付形式URL フィールドエンゲージメントフィールド
Redditcreated_utcISO 8601 (2026-05-01T17:26:41.000Z)canonical_urlscore, num_comments
TwittercreatedAt非標準 (Fri May 01 17:35:21 +0000 2026)urllikeCount, retweetCount, replyCount
TrustpilotdateISO 8601 (2026-01-27T21:53:45.000Z)url(企業ページではなくレビュー ID)ratingValue(文字列 "1"~"5")

上位の結果には以下を含めます。

  • センチメントの目安(テキストから判定できる場合は、肯定的/否定的/中立)
  • エンゲージメント — 上の表を参照
  • 投稿者/ハンドル
  • 日付 — 表示用に YYYY-MM-DD に正規化
  • パーマリンク

センチメントスキャンの出力例:

## OSINT Scan: InPost — Last 30 days

### Reddit (3 posts, 47 comments analyzed)
| Title | Subreddit | Score | Sentiment | Date | URL |
|---|---|---|---|---|---|
| InPost lockers in UK getting better? | r/unitedkingdom | 124 | positive | 2026-04-12 | … |
| Anyone else missing parcels? | r/poland | 38 | negative | 2026-04-09 | … |

### Twitter/X (87 tweets)
| Tweet (truncated) | Author | Likes | Replies | Date | URL |
|---|---|---|---|---|---|
| FedEx-InPost rollout looks promising… | @logistics_eu | 412 | 27 | 2026-04-22 | … |

### Trustpilot (50 reviews — avg 3.2 / 5)
| Rating | Title | Author | Date | URL |
|---|---|---|---|---|
| 5 | Good system, very efficient | Yeison S. | 2026-03-10 | … |
| 1 | Parcel never delivered | Anna K. | 2026-04-18 | … |

企業ごとのルーティング

data/osint-targets.json は、ポートフォリオ企業ごとに実行する OSINT アクターと、data/companies.json から生成された事前作成済みの入力テンプレートを対応付けています。v1.0 時点のカバレッジ:31 件(ポートフォリオ 30 件+グループ)、Reddit 27 件、Twitter 31 件、Trustpilot 5 件、3 アクターすべて 5 件、Twitter のみ 4 件。アクターが空のエントリーは、確認済みの該当なしを示します(例:MONETA/CETIN/SOTIO には Trustpilot ページがありません)。

重大な注意点(頻発する誤り)

  • Reddit の maxPosts のデフォルトは 50000 です — 必ず明示的に設定してください(スキャンでは通常 30~50)。
  • Reddit の maxComments のデフォルトは 50000 です — scrapeComments: true の場合は必ず低く設定してください。
  • Reddit の subredditKeywords は文字列ではなく配列です。
  • Reddit の sort 列挙値に "rising"/"best" はありません — relevance、hot、top、new、comments のみです。
  • Reddit の includeNsfw — "sfw" は小文字です(includeNSFW ではありません)。
  • Twitter の maxItems は必須です — 指定しないとアクターは失敗します。結果ごとに課金されます。
  • Twitter の since/until の形式は YYYY-MM-DD_HH:MM:SS_UTC です(ISO 8601 ではありません)。
  • Twitter の tweetIDs は複数形の配列です — tweetId ではありません。
  • Twitter の lang のデフォルトは "en" です — 明示的に設定するか、全言語を対象にする場合は省略してください。
  • Trustpilot の startUrls は url キーを持つオブジェクトの配列である必要があります — 単なる文字列ではありません。
  • Trustpilot の入力フィールドは 2 つだけです(startUrls、limit)— 以前のドキュメントにある maxItems、includeStatistics、includeCompanyDetails、onlyNewerThan は存在しません。
  • Trustpilot の ratingValue は整数ではなく文字列です("1"~"5")— 集計前に解析してください。
  • Trustpilot には日付フィルターがありません — アクターは limit 件まで新しい順に返すため、date フィールドで事後フィルターしてください。
  • 企業ごとの Trustpilot URL は確認済みです — reference/osint-actor-schemas.md のセクション 3 にある「既知の Trustpilot URL」表を参照してください。Trustpilot ページがない企業もあります(B2B 持株会社、バイオテクノロジー企業など)。アクターを実行してもレビューは 0 件です。

アクターごとの完全なスキーマと 30 件以上の呼び出し例:reference/osint-actor-schemas.md。

参考資料

コメント