YouTubeで気になるクリエイターを見つけ、一緒に仕事をしたいと考えたとします。スポンサーシップの提案を送る前に、Instagram、TikTok、Xのアカウント、場合によってはWebサイトやポッドキャストなど、全体像を把握しておきたいところです。クリエイター1人なら数分のクリックで済みます。しかしスプレッドシートに300人のクリエイターが並んでいると、何日もかかり、ミスも積み重なります。
このガイドでは両方を扱います。まずクリエイター1人に使える手作業の調べ方と、ユーザー名の一致だけでは不十分な理由。次に、SNSアカウント検索APIを使って、プロフィール1件ずつ、またはリスト全体を一括で自動化する方法を、動くコード付きで紹介します。
始める前に対象範囲について:ここで扱うのはすべて公開されたクリエイターとビジネスのアカウント、つまり公の名前で発信し、視聴者やブランドに見つけてもらいたい人です。一般の個人を追跡するためのガイドではなく、そのような使い方はしないでください。
クリエイターのSNS全体を把握すべき理由
1つのプロフィールだけでは、判断に十分な情報が得られることはまれです。チームがクリエイターの他のアカウントを調べる主な理由は次のとおりです。
- インフルエンサーマーケティング。 中規模のYouTubeチャンネルを持つクリエイターが、TikTokではずっと大きなフォロワーを抱えていることもあれば、その逆もあります。予算や配信チャネルの組み合わせを決める前に、オーディエンス全体を見ておきたいところです。
- スポンサーシップの打診。 ビジネス用の連絡先は、リンクまとめページやチャンネルの概要欄など、1つのプラットフォームにしか載っていないことがよくあります。
- クリエイターデータベースとCRM。 購入、スクレイピング、手作業で集めたリストは、たいていクリエイター1人につきユーザー名が1つだけで、他の列は空欄です。
- 本人確認。 人気アカウントを運営していると名乗るクリエイターからメールが届いたとします。送られてきたInstagramと、知っているYouTubeチャンネルが本当に同一人物のもので、なりすましや同姓同名の別人ではないことを確認したいはずです。
手作業での調べ方:クリエイター自身のリンクをたどる
最も信頼できる証拠は、クリエイター本人が貼ったリンクです。プロフィールを編集できるのは本人だけなので、すでに信頼しているアカウントから別のアカウントへのリンクは、ほぼ証拠と言えます。次の情報源を順番に確認しましょう。
チャンネルのリンクと概要欄
YouTubeでチャンネルの概要パネルを開きます。クリエイターはそこに他のプラットフォームを載せており、多くのチャンネルにはビジネス用の連絡先もあります。チャンネルヘッダーのリンクも同じ場所を指しています。
動画の説明欄
多くのクリエイターは、すべての動画の説明欄にSNSリンクを一式貼っています。古い説明欄は名前が変わったアカウントや放置されたアカウントを指していることがあるため、最近の動画をいくつか確認しましょう。
リンクまとめページ
多くのクリエイターは、プロフィールに1つだけリンクを置き、そこからLinktree、Beacons、Stanなどのサービスや自分のドメイン上のリンク集ページを開けるようにしています。こうしたページには、クリエイターが使うすべてのプラットフォームが載っていることがよくあります。証拠の出所を示せるよう、リンクまとめページ自体のURLを記録しておきましょう。
クリエイター自身のWebサイト
クリエイターが個人サイトを持っている場合は、ヘッダー、フッター、自己紹介ページ、プレスやメディアキットのページを確認します。フッターには、他のどこにも書かれていないアカウントのSNSアイコンが載っていることがよくあります。
コンテンツ内での相互の言及
クリエイターは話の中で他のアカウントに触れます。「短いバージョンはTikTokでフォローしてね」「レシピの全文はInstagramに載せました」といった具合です。動画の文字起こしがあれば、プラットフォーム名でテキスト検索するだけで、見直さずにこうした言及を見つけられます。多くのチャンネルでこれを行うなら、文字起こしを一括で取得する方法をYouTube文字起こしAPIのガイドで解説しています。
検索演算子や画像の逆検索も含めた手作業の調べ方をさらに詳しく知りたい場合は、sociallinks.devのクリエイターのすべてのSNSアカウントを見つける方法に詳しいガイドがあります。
ユーザー名の一致だけでは当てにならない理由
一番手っ取り早いのは、クリエイターのユーザー名を各プラットフォームのURLの形に当てはめてみる方法です。YouTubeチャンネルがyoutube.com/@leorunsなら、instagram.com/leorunsやtiktok.com/@leorunsを試します。
最初の推測としては役立ちますが、ユーザー名の一致だけでは何も証明できません。
- 別人がその名前を使っていることがある。 よくある名前や短いユーザー名は、他のプラットフォームで無関係の人にすでに取られていることがよくあります。
- ファン、パロディ、なりすましのアカウントはユーザー名を真似する。 人気クリエイターほど狙われやすく、一見すると本物に見えることもあります。
- クリエイターは表記を変えることがある。 名前が取られている場合、leo.runs、leoruns_、leorunstvのような別表記を使うため、クリエイターが存在していても完全一致のアカウントはないかもしれません。
- ユーザー名は変わる。 クリエイターがアカウント名を変更すると、古いユーザー名を別人が取得できます。古いリンクが今では別人を指していることもあります。
ですから、ユーザー名の一致はすべて手がかりとして扱いましょう。採用するのは、信頼できるアカウントからのリンク、相互の言及、または一貫した内容を伴う名前とプロフィール写真の一致といった裏付けがある場合だけです。後から判断を検証できるよう、どの証拠を使ったかを書き留めておきます。
| 証拠 | 強さ | 例 |
|---|---|---|
| クリエイターが貼ったリンク | 強い | InstagramのプロフィールにYouTubeチャンネルへのリンクがある |
| コンテンツ内での相互の言及 | 強い | 動画内で「TikTokでは@leorunsで見つけてね」と言っている |
| 同じリンクまとめページ | 強い | 両方のアカウントが同じリンクページにリンクしている |
| 同じ名前と写真 | 中 | 表示名とプロフィール画像が一致している |
| 同じユーザー名のみ | 弱い | tiktok.com/@leorunsは存在するが、他に結びつけるものがない |
大量に調べるときの問題点
手作業の方法はクリエイター1人ならうまくいきます。しかしリストになると破綻します。
- 1人数分でも、500人のリストなら何日分もの作業になります。
- 人によって基準が異なり、ある担当者はユーザー名の一致を採用し、別の担当者は採用しません。
- 誰も証拠を記録しないため、CRMに誤った一致があっても原因をたどれません。
- アカウントは変わり、半年前に整理したリストもすでにずれ始めています。
ここでAPIが役立ちます。手元にある1つのプロフィールを受け取り、リンクの追跡と確認を代わりに行い、証拠付きの構造化された結果を返してくれるものが理想です。そうすれば、何を採用するかはコードが判断し、人は不確かなケースだけを確認すれば済みます。
SNSアカウント検索APIを使う
sociallinks.devは、まさにこの用途のために作った姉妹サービスです。Instagram、TikTok、YouTube、XのプロフィールURLを1つ渡すと、他のプラットフォームにあるクリエイターのアカウントを、それぞれの判定、総合信頼度スコア、根拠とともに返します。Instagram、YouTube、TikTok、X、Facebook、Twitch、LinkedIn、Threads、Kick、Snapchat、Spotify、Substack、Patreon、Reddit、GitHubの15のネットワークに加え、Webサイトとリンクまとめページも認識します。
各検索では、プロフィールを確認し、クリエイターのプロフィール内リンクとリンクまとめページを読み取り、主要ネットワークで的を絞った検索を行ったうえで、候補ごとに本人確認を実行します。検索は古いデータベースではなく、各プラットフォームに対してリアルタイムで行われます。
使い方は3通りで、すべて同じクレジットを使います。
- Webアプリ: プロフィールのリンクを1つ貼り付けて結果を確認します。
- 一括処理: 最大500件のプロフィールリンク(1行に1件、または.csvや.txtファイル)を貼り付けるかアップロードして、CSVをダウンロードします。
- API: https://sociallinks.dev/v1 のREST APIと、AIアシスタント向けのホスト型MCPサーバー。
APIでクリエイター1人を調べる
sociallinks.devのダッシュボードのAPIからAPIキーを作成します。すべてのリクエストでAuthorization: Bearerヘッダーとして送信します(x-api-keyヘッダーも使えます)。キーは作成時に一度だけ表示されます。
クリエイターを調べるには、プロフィールURLをPOST /resolveに送ります。読者の多くはYouTubeから始めるので、YouTubeチャンネルから始める検索の例を示します。
curl -X POST "https://sociallinks.dev/v1/resolve" \
-H "Authorization: Bearer $SOCIALLINKS_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/@mkbhd"}'
urlはクリエイターのプロフィールページでなければなりません。投稿、リール、動画、@ユーザー名のみの入力は400エラーで拒否されます。ツールがGETリクエストしか送れない場合は、GET /resolveでURLエンコードしたプロフィールリンクをurlクエリパラメータに入れれば同じことができます。
新規の検索には10〜40秒かかります。すでに検索されたことのあるクリエイターは即座に返ってきます。以下はドキュメントにあるレスポンス例で、Instagramのプロフィールから始めた検索のものです。
{
"creator": {
"id": "cr_0k3x9a1",
"name": "Marques Brownlee",
"kind": "person",
"aliases": ["Marques Brownlee", "mkbhd"],
"total_audience": 38000000
},
"profiles": [
{ "platform": "instagram", "handle": "mkbhd", "verdict": "seed", "net_confidence": 1 },
{
"platform": "youtube",
"handle": "mkbhd",
"url": "https://www.youtube.com/@mkbhd",
"followers": 20000000,
"verdict": "confirmed",
"net_confidence": 0.97,
"evidence": [
{ "kind": "bio_link", "detail": "Linked from the creator's own Instagram bio", "source": "https://www.instagram.com/mkbhd" }
]
}
],
"websites": [{ "url": "https://mkbhd.com", "kind": "website", "label": "mkbhd.com" }],
"identity_confidence": 0.96,
"rejected": 4
}
知っておくと便利なフィールドがいくつかあります。
- verdictは、各プロフィールが検索とどう関係しているかを示します。送信したプロフィールは"seed"として返り、一致したアカウントは"confirmed"として返ることがあります。
- net_confidenceは、検索の強さと本人確認を組み合わせた、アカウントごとの1つの数値です。表示されるのは信頼度50%以上の一致だけです。
- evidenceは、各アカウントがどのように、どこで見つかったかを一覧にしたもので、ワンクリックで確認できます。
- rejectedは、検討したうえで除外された候補の数です。
同じ呼び出しをPythonで書き、各アカウントを根拠とともに出力する例です。
import os
import requests
API = "https://sociallinks.dev/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["SOCIALLINKS_KEY"]}
def resolve(profile_url):
r = requests.post(API + "/resolve", headers=HEADERS, json={"url": profile_url}, timeout=90)
r.raise_for_status()
print("Credits left:", r.headers.get("X-Credits-Remaining"))
return r.json()
data = resolve("https://www.youtube.com/@mkbhd")
print(data["creator"]["name"], "identity confidence:", data["identity_confidence"])
for p in data["profiles"]:
print(p["platform"], p["handle"], p["verdict"], p["net_confidence"])
for e in p.get("evidence", []):
print(" ", e["kind"], "|", e["detail"], "|", e["source"])
for w in data.get("websites", []):
print("website", w["url"])
X-Credits-Remainingレスポンスヘッダーに残高が含まれ、GET /balanceでいつでも取得できます。
クリエイターのリスト全体を一括で調べる
リストの場合は、/resolveをループで呼び出さないでください。新規の検索はキーごとに1分あたり5件に制限されており、超えるとAPIは429とRetry-Afterヘッダーを返します。代わりにリストをPOST /batchesに送りましょう。1バッチあたり最大500件のプロフィールURLを、バックグラウンドで処理します。
curl -X POST "https://sociallinks.dev/v1/batches" \
-H "Authorization: Bearer $SOCIALLINKS_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Q4 shortlist","urls":["https://www.tiktok.com/@zachking","https://www.youtube.com/@mkbhd"]}'
レスポンスにはバッチIDと、行数、無効な行、重複の件数が含まれます。その後、ステータスが"completed"、"partial"、"failed"のいずれかになるまで数秒ごとにGET /batches/{id}をポーリングし、GET /batches/{id}/exportで結果をダウンロードします。
次のPythonスクリプトは、テキストファイルからYouTubeチャンネルのURLを読み込み、1つのバッチとして実行し、CSVを保存します。
import os
import time
import requests
API = "https://sociallinks.dev/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["SOCIALLINKS_KEY"]}
with open("channels.txt") as f:
urls = [line.strip() for line in f if line.strip()][:500]
r = requests.post(API + "/batches", headers=HEADERS, json={"name": "YouTube shortlist", "urls": urls})
r.raise_for_status()
batch = r.json()
print("Queued", batch["rows"], "rows,", batch["invalid"], "invalid,", batch["duplicates"], "duplicates")
while True:
status = requests.get(API + "/batches/" + batch["id"], headers=HEADERS).json()["batch"]
print(status["status"], status["succeeded"], "of", status["total"], "done")
if status["status"] in ("completed", "partial", "failed"):
break
time.sleep(5)
csv = requests.get(API + "/batches/" + batch["id"] + "/export", headers=HEADERS)
with open("results.csv", "wb") as f:
f.write(csv.content)
print("Credits charged:", status["charged"])
CSVは送信したプロフィールごとに1行、プラットフォームごとに1列で、ステータスと消費クレジットも含まれます。列は次のとおりです。
row,input,status,credits,creator,verified_creator,instagram,youtube,tiktok,x,twitch,facebook,linkedin,nothing_found_on,error
そのままスプレッドシートやCRMにインポートでき、最初に使ったYouTubeチャンネルの横にある空のInstagram、TikTok、X列が埋まります。中断したところから再開したい場合はGET /batchesでバッチの一覧を取得でき、POST /batches/{id}/cancelでバッチを停止できます(すでに実行中の行は最後まで処理されます)。
料金と制限
sociallinks.devはプラットフォームごとではなく、クリエイターごとに課金します。送信したアカウント以外に少なくとも1つのアカウントが見つかれば、見つかったプラットフォームの数にかかわらず、1回の検索で1クレジットです。何も見つからなかった検索と失敗した検索は無料です。同じルールがバッチのすべての行に適用され、プロフィールリンクでない行はスキップされて課金されません。過去30日以内に自分のアカウントで支払ったクリエイターをもう一度調べる場合も無料です。
クレジットはサブスクリプションなしの買い切りパックで、有効期限はありません。
| パック | 料金 | クリエイター検索数 | 見つかったクリエイター1人あたり |
|---|---|---|---|
| Starter | $17 | 200 | 8.5¢ |
| Pro | $49 | 750 | 6.5¢ |
| Agency | $99 | 1,750 | 5.7¢ |
新規アカウントには3件の無料検索が付き、クレジットカードは不要です。ドキュメントに記載されたAPIの制限は次のとおりです。
| 制限 | 値 |
|---|---|
| キーごとの新規検索 | 1分あたり5件 |
| 検索済みのクリエイター | 制限なし、即座に返答 |
| 1バッチあたりのプロフィール数 | 500 |
| アカウントごとの有効なAPIキー | 10 |
最新の情報は料金ページとAPIドキュメントで確認してください。
エラーの処理
エラーはすべて、読みやすいメッセージと、必要に応じて分岐に使えるコードを含むJSONオブジェクトとして返ります。よく遭遇するものは次のとおりです。
| ステータス | 意味 | 対処法 |
|---|---|---|
| 400 | プロフィールURLではない、または本文がない | 投稿、動画、@ユーザー名のみではなく、完全なプロフィールURLを送る |
| 401 | キーが不明、失効、または未指定 | Authorizationヘッダーを確認する |
| 402 | クレジット不足 | 課金はされていない。パックを購入して再試行する |
| 429 | 新規検索が多すぎる | Retry-Afterの秒数だけ待つか、/batchesを使う |
| 502 | サービス側で検索が失敗した | 課金はされていない。もう一度試す |
Claude、CursorなどのAIツールから使う
AIアシスタントで作業している場合、sociallinks.devはhttps://sociallinks.dev/mcp でホスト型MCPサーバーも提供しています。Claude Codeでは、次の1つのコマンドで追加できます。
claude mcp add --transport http sociallinks https://sociallinks.dev/mcp --header "Authorization: Bearer sl_your_key"
Cursor、VS Code、Windsurf、Gemini CLIなど、リモートMCPに対応したあらゆるクライアントで使えます。ツール(lookup_creator、check_balance、start_batch、get_batch)はRESTエンドポイントとまったく同じように課金されるため、候補リストを作りながらアシスタントにクリエイターのアカウントを探してもらえます。
クリエイター検索のベストプラクティス
- 手元で最も強いプロフィールから始める。 概要欄にリンクがあるクリエイターのメインチャンネルの方が、小さなサブアカウントよりも良い結果が得られます。
- ユーザー名だけでなく証拠も保存する。 各アカウントの横に判定、信頼度スコア、根拠の出典を保存しておけば、なぜ採用したのか誰でもわかります。
- 採用ルールを決める。 たとえば、確認済みの一致は自動で採用し、それ以外は人が確認するようにします。
- 大きな判断の前に再確認する。 アカウントは名前が変わったり放置されたりします。数か月前の行を信用するのではなく、契約を結ぶ前にもう一度クリエイターを調べましょう。
- 対象は公開クリエイターに限る。 提携、リサーチ、本人確認のために、クリエイターやビジネスとして公に発信している人を調べてください。一般の個人を追いかけるためにこれらのツールを使わないでください。
クリエイターのアカウントがわかったら、次はたいてい、その人が実際に何を話しているかを把握する段階です。YouTubeがメインのチャンネルなら、連絡する前にトピック、話し方、過去のスポンサーを確認するには文字起こしが一番の近道です。私たちのYouTube文字起こしAPIはタイムスタンプ付きのJSONセグメントで文字起こしを返します。自分のチャンネルでスポンサーシップを計画しているなら、YouTubeで収益化する方法もご覧ください。
よくある質問
YouTubeチャンネルからクリエイターのTikTokやInstagramを見つけるには?+
まずクリエイターがチャンネルのヘッダーと概要欄に追加したリンクを確認し、次に最近の動画の説明欄と、使っているリンクまとめページを見ます。クリエイターはたいてい自分のアカウントにリンクしています。リンクがない場合は、他のプラットフォームでユーザー名と名前を検索しますが、一致したアカウントは信頼する前に必ず確認してください。
すべてのプラットフォームで同じユーザー名を検索するだけで十分ですか?+
いいえ。ユーザー名の一致は手がかりであって証拠ではありません。他のプラットフォームでは別人が同じ名前を使っていることがあり、ファンアカウントやパロディアカウントはユーザー名をよく真似します。また、クリエイターがアカウント名を変更し、古いユーザー名が別人のものになることもあります。一致するたびに、すでに信頼しているアカウントからのリンクや相互の言及で確認してください。
クリエイターのすべてのSNSアカウントを調べられるAPIはありますか?+
はい。sociallinks.devにはREST APIがあります。Instagram、TikTok、YouTube、XのプロフィールURLを1つPOST /v1/resolveに送ると、他のプラットフォームにあるクリエイターのアカウントがJSONで返ってきます。各アカウントには判定、総合信頼度スコア、その根拠が付きます。リストの場合、POST /v1/batchesは最大500件のプロフィールURLを受け付けます。
@ユーザー名だけでクリエイターを調べられますか?+
sociallinks.devのAPIではできません。クリエイターのプロフィールページのURLが必要です。投稿、リール、動画、@ユーザー名のみの入力は400エラーで拒否されるため、送信する前にユーザー名を完全なプロフィールURLに変換してください。
SNSアカウント検索APIの料金はいくらですか?+
sociallinks.devでは、送信したアカウント以外に少なくとも1つのアカウントが見つかった場合に、クリエイター1人につき1クレジットを支払います。何も見つからなかった検索と失敗した検索は無料です。クレジットパックは買い切りで、200件の検索が$17、750件が$49、1,750件が$99です。新規アカウントには3件の無料検索が付きます。
他人のSNSアカウントを調べるのは合法で倫理的ですか?+
このガイドは、公開されたクリエイターやビジネスのアカウント、つまり公の名前で発信し、ブランドや視聴者に見つけてもらいたい人を対象としています。これらの方法は、提携相手の審査、クリエイターデータベースの充実、本人確認に使ってください。一般の個人を追跡したりプロファイリングしたりする目的では使わず、各プラットフォームの規約と適用されるプライバシー法を守ってください。