Yoinku API
YouTube・TikTok・Instagramの動画データを取得するHTTP API。構造化メタデータ、AIパイプラインでそのまま使える字幕トランスクリプト、ダウンロードURLを返します。アカウントで無料のAPIキーを発行して認証。CORS対応なので、ターミナル・スクリプト・AIエージェントから呼べます。
ベースURL
https://yoinku.com/api/v1認証
すべてのリクエストに x-api-key ヘッダーでAPIキーが必要です。キーは無料で、アカウント登録後にアカウントページから発行できます。APIでのダウンロードはWebと共通で、アカウントごとに1日5回までです。
curl -H "x-api-key: yk_..." "https://yoinku.com/api/v1/info?url=https://youtu.be/dQw4w9WgXcQ"APIキーを管理エンドポイント
/api/v1/info動画情報の取得
動画のタイトル・サムネイル・長さと、利用可能なフォーマット一覧を返します。
パラメータ
- url (必須)
- YouTube・TikTok・Instagramの動画URL。
リクエスト例
curl -H "x-api-key: yk_..." \
"https://yoinku.com/api/v1/info?url=https://youtu.be/dQw4w9WgXcQ"レスポンス例
{
"ok": true,
"data": {
"id": "dQw4w9WgXcQ",
"platform": "youtube",
"title": "Example video",
"durationSeconds": 213,
"thumbnailUrl": "https://i.ytimg.com/...",
"formats": [
{ "id": "v-1080", "kind": "video", "container": "mp4",
"quality": "1080p", "height": 1080,
"hasVideo": true, "hasAudio": true },
{ "id": "a-mp3", "kind": "audio", "container": "mp3",
"quality": "MP3", "hasVideo": false, "hasAudio": true }
]
}
}/api/v1/meta動画メタデータ
解析向けの構造化メタデータを返します: 説明文、チャンネル、再生数・高評価数、投稿日、タグ、チャプター、利用可能な字幕言語の一覧。/transcriptと共通の1日上限を消費します。
パラメータ
- url (必須)
- YouTube・TikTok・Instagramの動画URL。
リクエスト例
curl -H "x-api-key: yk_..." \
"https://yoinku.com/api/v1/meta?url=https://youtu.be/dQw4w9WgXcQ"レスポンス例
{
"ok": true,
"data": {
"id": "dQw4w9WgXcQ",
"platform": "youtube",
"title": "Example video",
"description": "…",
"author": "Example channel",
"durationSeconds": 213,
"uploadDate": "2009-10-25",
"viewCount": 1234567,
"likeCount": 45678,
"tags": ["example"],
"chapters": [
{ "title": "Intro", "startSeconds": 0, "endSeconds": 42 }
],
"subtitleLanguages": { "manual": ["en"], "auto": ["en-orig", "ja"] }
}
}/api/v1/transcriptトランスクリプト
動画の字幕をトランスクリプトとして返します: プレーンテキストとタイムスタンプ付きチャンクの両方で、LLMやRAGパイプラインでそのまま使えます。投稿者字幕を自動生成字幕より優先します。トランスクリプトとメタデータの取得は共通の1日上限(無料プランは10回/日)で、ダウンロードとは別枠です。
パラメータ
- url (必須)
- YouTube・TikTok・Instagramの動画URL。
- lang (任意)
- 字幕の言語コード(例: en、ja)。省略時は動画の元言語。
リクエスト例
curl -H "x-api-key: yk_..." \
"https://yoinku.com/api/v1/transcript?url=https://youtu.be/dQw4w9WgXcQ&lang=en"レスポンス例
{
"ok": true,
"data": {
"id": "dQw4w9WgXcQ",
"lang": "en",
"source": "manual",
"text": "We're no strangers to love …",
"chunks": [
{ "startSeconds": 18.6, "durationSeconds": 3.4,
"text": "We're no strangers to love" }
],
"availableLanguages": { "manual": ["en"], "auto": ["en-orig", "ja"] }
}
}/api/v1/downloadダウンロードURLの取得
ファイルを生成し、短時間有効なダウンロードURL(約1時間)を返します。redirect=1 を付けると302でファイルへ直接リダイレクトします(curl -L に便利)。
パラメータ
- url (必須)
- YouTube・TikTok・Instagramの動画URL。
- format (必須)
- info レスポンスのフォーマットID(例: v-720、a-mp3)。
- redirect (任意)
- 1 を指定するとJSONではなく302でファイルへリダイレクトします。
リクエスト例
# Get a short-lived download URL (JSON)
curl -H "x-api-key: yk_..." \
"https://yoinku.com/api/v1/download?url=https://youtu.be/dQw4w9WgXcQ&format=v-720"
# …or download the file directly
curl -L -o video.mp4 -H "x-api-key: yk_..." \
"https://yoinku.com/api/v1/download?url=https://youtu.be/dQw4w9WgXcQ&format=v-720&redirect=1"レスポンス例
{
"ok": true,
"url": "https://<bucket>.r2.cloudflarestorage.com/...",
"filename": "Example video.mp4",
"expiresInSeconds": 3600
}フォーマットID
info レスポンスの formats 配列からIDを選びます。動画IDは v-1080・v-720・v-360(高さ基準)、音声IDは a-mp3・a-m4a です。
フェアユース
リクエストはIPごとに1分あたり5回まで、ダウンロードはアカウントごとに1日5回まで(Webでのダウンロードと共通)です。超過するとRetry-Afterヘッダー付きのHTTP 429を返します。可能な範囲でレスポンスをキャッシュし、節度あるご利用をお願いします。
エラー
失敗時は { "ok": false, "error": { "code", "message" } } の形で、対応するHTTPステータスを返します: 400(入力不正)・401(APIキーなし/無効)・404(見つからない)・422(非対応または失敗)・429(レート制限または1日上限超過)。
料金
無料利用はアカウントごとに1日5回のダウンロードと10回のトランスクリプト取得まで。有料プランで上限を引き上げられます。アップグレードは料金ページから:
Free
$01日5回のダウンロード + 10回のトランスクリプト取得。カード登録不要。
Hobby
$9/月1日50回のダウンロードと100回のトランスクリプト/メタデータ取得。
Pro
$29/月1日100回のダウンロードと1,000回のトランスクリプト/メタデータ取得。
UIで使いたい方へ
ブラウザでYoinkuのWebアプリをどうぞ。リンクを貼ってダウンロードするだけ、コード不要です。
ダウンローダーを開く本APIは、自分が権利を持つ、またはダウンロードの許可を得たコンテンツにのみ使用してください。利用方法についての責任は利用者にあります。