mcpField
D
dataforseo

dataforseo

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

dataforseo について

dataforseoは、DataForSEO APIを通じてSEOデータを取得・分析するマーケティング向けスキルです。キーワード、検索結果、被リンク、サイト監査などを扱い、結果の抽出とCSV出力にも対応します。

主な機能

  1. 01キーワード検索量と候補の取得
  2. 02検索結果と順位データの取得
  3. 03被リンクと競合ドメインの分析
  4. 04ページ監査と技術情報の取得
  5. 05結果の抽出とCSV出力

活用シーン

  1. 01キーワード検索量と競争度の調査
  2. 02サイトの順位対象キーワードの確認
  3. 03競合と被リンク差分の分析
  4. 04SEOデータのCSV保存

インストール

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

$npx skills add https://github.com/nikhilbhansali/dataforseo-skill-claude --skill dataforseo

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api_reference.md
use_cases.md
scripts/
dataforseo_client.py

詳細

DataForSEO API スキル

包括的な SEO データの取得と分析を行うための、すべての DataForSEO API への汎用インターフェースです。

認証情報の設定

初回使用の前に、認証情報を設定してください。

import sys, os
sys.path.insert(0, os.path.expanduser('~/.agents/skills/dataforseo/scripts'))
from dataforseo_client import save_credentials, verify_credentials

# Get credentials from https://app.dataforseo.com/
login = "[email protected]"  # API login (email)
password = "your_api_password"    # API password (from dashboard)

# Verify and save
if verify_credentials(login, password):
    save_credentials(login, password)
    print("Credentials saved!")

認証情報は ~/.dataforseo_config.json に保存されます。更新するには、セットアップを再度実行してください。

クイックスタート

import sys, os
sys.path.insert(0, os.path.expanduser('~/.agents/skills/dataforseo/scripts'))
from dataforseo_client import *

# Example: Get search volume
response = keywords_search_volume(
    keywords=["seo tools", "keyword research"],
    location_name="United States"
)
results = extract_results(response)
csv_path = to_csv(results, "keyword_volumes")
print(f"Results saved to: {csv_path}")

API の選択ガイド

ユーザーのリクエスト使用する関数
検索ボリューム、CPC、競合状況keywords_search_volume()
キーワード候補/提案labs_keyword_ideas() または labs_related_keywords()
サイトが検索順位を獲得しているキーワードlabs_ranked_keywords()
キーワードの SERP 結果serp_google_organic()
ローカル/マップの検索順位serp_google_maps()
YouTube の検索順位serp_youtube()
被リンクプロファイルbacklinks_summary()
被リンク一覧backlinks_list()
参照ドメインbacklinks_referring_domains()
ドメインのオーソリティ/ランクbacklinks_bulk_ranks()
競合ドメインlabs_competitors_domain()
キーワードギャップ分析labs_domain_intersection()
リンクギャップ分析backlinks_domain_intersection()
技術的なページ監査onpage_instant_pages()
Lighthouse スコアlighthouse_live()
テクノロジースタックdomain_technologies()
ブランドの言及content_search()
Google Trendsgoogle_trends()

基本的なワークフロー

  1. クライアントをインポート:スキルのパスを追加し、関数をインポートします
  2. API 関数を呼び出す:必須パラメーターを渡します
  3. 結果を抽出:extract_results(response) を使用します
  4. CSV にエクスポート:to_csv(results, "filename") を使用します
import sys, os
sys.path.insert(0, os.path.expanduser('~/.agents/skills/dataforseo/scripts'))
from dataforseo_client import labs_ranked_keywords, extract_results, to_csv

response = labs_ranked_keywords(
    target="competitor.com",
    location_name="United States",
    language_name="English",
    limit=500
)
results = extract_results(response)
csv_path = to_csv(results, "ranked_keywords")

デフォルトパラメーター

ほとんどの関数では、次の値がデフォルトで使用されます。

  • location_name:「United States」(「India」、「United Kingdom」などに変更できます)
  • language_name:「English」
  • limit:100(結果を増やすには最大 1000 まで指定できます)
  • device:「desktop」(SERP の場合は「mobile」も指定できます)

よく使われる地域名

  • United States、United Kingdom、India、Germany、Australia、Canada
  • 市区町村単位の場合:「New York,New York,United States」、「London,England,United Kingdom」

出力

すべての結果は ~/dataforseo_outputs/ に CSV としてエクスポートされます。ファイル名を指定しない場合、タイムスタンプ付きの名前が自動的に付けられます。

参考ファイル

  • API リファレンス:references/api_reference.md - エンドポイントの完全なドキュメント
  • ユースケース:references/use_cases.md - すぐに使えるコードレシピ

エラー処理

response = some_api_function(...)
if response.get("status_code") == 20000:
    results = extract_results(response)
    # Process results
else:
    print(f"Error: {response.get('status_message')}")

レート制限と料金

  • 最大 2000 リクエスト/分
  • Live メソッドは Standard よりも料金が高くなります
  • get_user_data() で使用状況を確認できます
  • レスポンスには cost フィールドが含まれます

重要な注意事項

  1. 非同期エンドポイント:一部の API(merchant、app_data、business reviews)はタスクを作成します。タスクのステータスは別途確認してください。
  2. 上限:包括的なデータを取得するには limit パラメーターを増やしてください(デフォルトは 100、通常の最大値は 1000)
  3. 複数のキーワード:リストとして渡します:keywords=["kw1", "kw2", "kw3"]

コメント