sociallinks.dev

ブログ / 開発者ガイド

YouTubeチャンネルからInstagramアカウントを探す方法:同日投稿でひとりのクリエイターが複数アカウントを持つ時代

少し前まで、YouTuberのInstagramは切り抜きや舞台裏を載せる場所でした。今ではInstagramが一部のYouTuberに報酬を払い、フルエピソードも同じ日にInstagramへ投稿してもらっています。クリエイターを保存、評価、または連絡するプロダクトでは、YouTubeチャンネルからInstagramアカウントを確実に探せることが欠かせなくなりました。クリエイターのレコードは、ひとりの人物、ひとつの番組、それを配信する複数のアカウントをまとめて持つ必要があるからです。このガイドでは、いまアカウントの対応付けが重要な理由、sociallinks.dev APIでYouTubeチャンネルをInstagram、TikTok、Xのアカウントに結びつける方法、そしてその対応表を最新に保つ方法を説明します。

何が変わったのか

2026年10月下旬、Instagramは最長90分の横型動画フォーマット「Features」を、少数のクリエイターとテストし始めました(The Hollywood Reporter)。クリエイターはFeatureからリールを切り出し、視聴者をフル動画へ誘導できます。その数日後、Business Insiderは、Instagramが一部のYouTuberに長尺動画をFeaturesとして投稿する対価として5万ドルを提示し、中には50万ドルに達したオファーもあると報じました。契約はYouTube公開と同じ日にInstagramにも動画を載せることを求めていますが、独占は求めていません。

YouTubeも黙ってはいません。米国、インド、インドネシアのパートナープログラム参加クリエイターから無作為に選んだグループを対象に、支払いの最低額を100ドルから20ドルに下げるテストを行っています(YouTube)。どちらの動きも同じ方向を指しています。プラットフォームは同じクリエイターを奪い合い、クリエイターにはあらゆる場所に同時に公開する理由があるということです。

クリエイターのデータベースを運用している人にとって、実務上の結論はシンプルです。同じエピソードが、同じスポンサー紹介ごと、一致するとは限らないハンドル名で2つか3つのプラットフォームに存在するようになりました。1つのプラットフォームだけにひもづいたレコードでは、クリエイターの一部しか見えません。

ひとりのクリエイターにレコードが1つ必要な理由

同じ番組がYouTubeとInstagramで配信されると、別々の、つながっていないアカウントとして保存されたクリエイターは、見落としやすい問題を起こします。

YouTubeチャンネルから始める

長尺のクリエイターなら、たいていYouTubeチャンネルが最適な出発点です。フルエピソードが最も長く置かれている場所であり、チャンネルIDはクリエイターが@ハンドルを変えても変わりません。チャンネルID UC… を安定したキーとして保存し、ハンドルは表示用の値として扱いましょう。ハンドルしか分からない場合は、ハンドルからYouTubeチャンネルIDを取得する方法のガイドで調べ方を紹介しています。

sociallinks.dev APIは、チャンネルを一般的などのURL形式でも受け付けます。youtube.com/@handle、youtube.com/channel/UC…、そして古い /c/ と /user/ のパスです。受け付けるのはコンテンツではなくプロフィールなので、動画、ショート、再生リストのリンクは400で拒否されます。受け取ったリストが動画リンクなら、まずそれぞれをチャンネルに変換してください。各一致の裏にある手作業の確認方法は、クリエイターのSNSアカウントをすべて見つける方法で解説しています。

APIでYouTubeチャンネルからInstagramアカウントを探す

1回のリクエストで1つのプロフィールURLを受け取り、クリエイターのほかのアカウントを返します。各アカウントには判定、ネット信頼スコア、起点のプロフィールと結びつけた根拠(たとえばクリエイター本人のプロフィール欄やリンクページにあるリンク)が付きます。新規の検索は10〜40秒かかり、すでに記録のあるクリエイターは即座に返ります。少なくとも1つのアカウントが見つかれば1クレジット、何も見つからなければ無料です。

Node.js

// Resolve a YouTube channel to the creator's other accounts.
const res = await fetch("https://sociallinks.dev/v1/resolve", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SOCIALLINKS_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ url: "https://www.youtube.com/@mkbhd" }),
});
if (!res.ok) throw new Error(`lookup failed: ${res.status}`);
const data = await res.json();

const wanted = ["instagram", "tiktok", "x"];
for (const p of data.profiles) {
  if (p.verdict === "seed" || !wanted.includes(p.platform)) continue;
  console.log(p.platform, p.handle, p.verdict, p.role, p.net_confidence);
}
console.log("credits left:", res.headers.get("X-Credits-Remaining"));

レスポンスはまずクリエイター(creator.name、creator.aliases、creator.total_audience)を示し、続いて profiles にすべてのアカウントを並べます。送信した起点のプロフィールは seed と表示されます。よく使うフィールドは次のとおりです。

フィールドわかること
platform, handle, urlどのアカウントか。正規のリンク付き。
platform_id判明している場合はプラットフォーム固有のID(YouTubeのチャンネルIDなど)。キーにはハンドルよりこちらを使いましょう。
verdictconfirmed、likely、uncertain のいずれか。独立した根拠があるのは confirmed だけです。
roleそのプラットフォームでのメインアカウントなら main、サブチャンネル、サブブランド、地域別アカウントなら related。
net_confidence検索スコアと検証スコアを合わせた値(0〜1)。
evidenceアカウントが一致した理由。各項目に種類、詳細、出典URLがあります。
owned_by_other_creatorこのアカウントのリンクの1つが、記録上すでに別のクリエイターに属しているので注意が必要です。

何を保存するかを決める

APIは不確かさを隠さずにラベルとして示すので、コード側で段階ごとに処理を決められます。多くのクリエイターデータベースで使えるシンプルなルールです。

結果おすすめの対応
confirmed, role: mainクリエイターのレコードに自動でひもづける。
confirmed, role: related同じクリエイターの別アカウントとして保存し、メインとは統合しない。
likely根拠と一緒にレビュー待ちに入れ、人が判断する。
uncertainクリエイターのアカウントとしては保存しない。残すとしても手がかりとしてだけ。
owned_by_other_creator: true判定にかかわらずレビューに回す。

保存した各アカウントの横に evidence 配列も残しておきましょう。なぜこのクリエイターのInstagramがシステムにあるのかと聞かれたら、証明したリンクを示せますし、クリエイターがアカウント名を変えたときには、どの根拠が古くなったかが分かります。

対応表を最新に保つ

クリエイターの対応表はある時点のスナップショットです。クリエイターは新しいアカウントを作り、古いアカウントの名前を変え、稼げなくなったプラットフォームから離れます。Featuresのようなテストは、運用を変える新たな理由になります。最初から更新を計画に入れておきましょう。

  1. Step 1定期的に検索し直す

    定期的に検索をやり直し、よく一緒に仕事をするクリエイターはより早めに更新します。新しい結果を保存済みのものと比べ、変わった点を記録しましょう。

  2. Step 2リストはまとめてバッチで送る

    リストはまとめてバッチエンドポイントに送ります。1バッチあたり最大500件のプロフィールURLをバックグラウンドで処理し、クリエイターごとに1行、プラットフォームごとに1列のCSVでエクスポートできます。過去30日以内に自分のアカウントで支払った行は無料で、何も見つからなかった行も料金はかかりません。

  3. Step 3新しいアカウントと役割の変化に注意する

    Instagramアカウントがなかったクリエイターに新しく confirmed のアカウントが現れたり、main のアカウントが related に変わったりしたら要注意です。どちらも、たいていクリエイターが投稿のしかたを組み直したサインです。

cURL

curl -X POST "https://sociallinks.dev/v1/batches" \
  -H "Authorization: Bearer $SOCIALLINKS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Long-form creators, November","urls":["https://www.youtube.com/@mkbhd","https://www.youtube.com/@ZachKing"]}'

ステータスが completed、partial、failed のいずれかになるまで GET /v1/batches/{id} を確認し、その後 GET /v1/batches/{id}/export からCSVをダウンロードします。すべてのフィールドとエラーはAPIリファレンスに載っています。

対応付けでは分からないこと

アカウントの対応付けで分かるのは、各プラットフォームでそのクリエイターが誰かということです。InstagramのFeaturesテストに参加しているか、契約の金額、再生回数がプラットフォーム間でどう分かれているかは分かりません。Instagramはテスト参加クリエイターの一覧を公開しておらず、Metaは長期的な報酬モデルを示すのはまだ早いとしています。アカウントの対応表を土台にして、こうした答えはクリエイター本人、その投稿、そして自社のキャンペーンデータから集めましょう。

自分のリストで試す

sociallinks.devにYouTubeチャンネルを貼り付けて、そのアカウントと各一致の根拠を確認してみてください。そのうえでAPIキーを作成し、手持ちのリストをAPIで処理しましょう。

よくある質問

YouTuberのInstagramアカウントはどうやって探せますか?

まずクリエイター本人が置いたリンクから確認します。チャンネルのリンク、動画の説明欄、プロフィールのリンクページです。コードで行うなら、チャンネルURLを POST /v1/resolve に送り、判定が confirmed のときだけInstagramのプロフィールを残します。

チャンネルではなくYouTube動画のリンクを送れますか?

いいえ。APIはプロフィールURLのみを受け付けるため、動画、ショート、再生リストのリンクは400で拒否されます。まず動画からチャンネルを特定し、チャンネルURLを送ってください。

メインアカウントと関連アカウントの違いは何ですか?

main はそのプラットフォームでのクリエイターのメインアカウントです。related は同じクリエイターのものですが、サブチャンネル、サブブランド、地域別アカウントです。どちらも一致として扱いますが、別々のアカウントとして保存してください。

クリエイターがInstagramのFeaturesテストに参加しているかAPIで分かりますか?

いいえ。APIが見つけるのはクリエイターのアカウントと、それらを結びつける根拠です。Featuresを投稿しているか、どんな条件かは、プロフィールで確認し、本人に直接尋ねてください。

クリエイターのひもづけたアカウントはどのくらいの頻度で更新すべきですか?

定期的に検索をやり直し、密に仕事をするクリエイターはより早めに更新しましょう。プラットフォームはクリエイターへの支払い方を変えつつあり、クリエイターはアカウントの新設、改名、放置で対応することがよくあります。バッチでは、過去30日以内に自分のアカウントで支払った行は無料です。

アカウントが見つからなかった場合はどうなりますか?

料金はかかりません。1クレジットかかるのは、少なくとも1つのアカウントが見つかったときだけです。

クリエイターのアカウントを探す