Pinterest API v5はPinを作成できます、動画Pinも含めてですが、それはアプリが審査を通過した後だけです。それまではアプリはトライアルアクセスにとどまり、作成されるすべてのPinとボードは作成者以外には見えないサンドボックスのエンティティになります。この一点が、このAPIがあなたにとって役立つかどうかを決定づけるので、スコープに関する項目の奥に埋もれさせず、最初に書いておきます。
Pinterest APIは実際に何を公開できるのか?
認証されたアカウントが所有するボードにPinを作成します。画像Pinと動画Pinで、タイトル、説明文、遷移先リンクを付けられます。これは閲覧用APIではなく投稿用APIであり、あなたのアプリを認可したアカウントに範囲が限定されています。
評価の際に重要になる制約は以下の通りです。
| 制約 | あなたにとっての意味 |
|---|---|
| トライアルアクセスがデフォルトのティア | アプリが作成するPinとボードは、作成者にしか見えないサンドボックスのエンティティになる |
| スタンダードアクセスには審査が必要 | OAuthフローを含む、アプリがAPIを使用している様子の動画を提出する |
| 動画Pinには別途アップロード手順が必要 | Pin作成の呼び出しの前に、動画データはメディア登録とアップロードのフローを通す必要がある |
| レート制限はティアごとに異なる | トライアルはアプリごとに1日単位、スタンダードはアプリごと・ユーザーごとに1分単位で計測される |
つまり、自分自身のアカウントで使う社内ツールなら、トライアルアクセスのままでも無期限に運用できます。しかし顧客に代わって投稿する製品はそうはいきません。トライアルのPinは決して他人に見えるようにならないからです。
注: ここに記載の数値は、2026年9月時点でdevelopers.pinterest.comに基づいて確認したものです。各プラットフォームは予告なくこれらを変更することがあります。
Pinterestのアプリ審査は何を要求し、どれくらいの時間がかかるのか?
アプリを登録し、トライアルアクセスの承認を得てから、スタンダードへのアップグレードを申請します。Pinterestのドキュメントによれば、アップグレードにはアプリがすでにトライアル承認を得ていること、Developer Guidelinesに準拠していること、そしてユーザー認証フローが映った、アプリがPinterest APIを通じてアクションを完了する様子の動画を提出することが必要です。ターミナルの呼び出しやPostmanの画面録画も受け付けられる形式です。
Pinterestが挙げている最も多い却下理由は、OAuthフローが映っていないデモ、またはアプリ内でのライブなPinterest連携が映っていないデモです。
期間について:Pinterestは、スタンダードへのアップグレード申請は「定期的にレビューされ」、判断が下されるとメールで通知されると述べています。数日程度を見込むよう示唆しています。具体的な所要時間は公表されていないので、他所で見かける正確な数字は推測として扱ってください。ローンチ日は、約束されたSLAではなく、不確定な要素として計画しましょう。
認証モデル自体は通常のOAuth 2.0です。ユーザーをPinterestにリダイレクトし、コードをアクセストークンとリフレッシュトークンに交換し、両方をアカウントごとに保存し、有効期限前に更新します。特別な点はありません。特別なのはその手前にある審査のゲートです。
Pinを作成する実際の手順は?
公開URLから取得した画像Pinなら、1回の呼び出しで済みます。動画Pinの場合は4段階の手順が必要です。データを登録し、アップロードし、処理を経てからでないと、Pinがそれを参照できないためです。
- メディアアップロードを登録する。 メディアタイプを指定して
POST /v5/mediaを呼び出します。レスポンスにはメディアID、アップロードURL、フォームパラメーターのセットが含まれます。 - バイトデータをアップロードする。 そのアップロードURLへマルチパートフォームを
POSTし、返されたパラメーターを先にフォームフィールドとして送信し、ファイルを最後に送信します。これはPinterestのエンドポイントではなくS3形式の署名付きフォームポストなので、エラーレスポンスはJSONではなくXMLになります。 - メディアのステータスをポーリングする。 処理が成功するまでメディアレコードを読み取ります。アップロードが2xxを返しても、動画が使用可能になったことを意味しません。
- Pinを作成する。 処理済みのメディア、ボード、タイトル、説明文、リンクを指定して
POST /v5/pinsを呼び出します。
# 1. register
curl -X POST https://api.pinterest.com/v5/media \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_type":"video"}'
# 2. upload the bytes to the returned upload_url,
# sending every returned upload parameter as a form field first
curl -X POST "$UPLOAD_URL" \
-F key="$KEY" -F policy="$POLICY" -F "x-amz-signature=$SIG" \
-F file=@clip.mp4
# 3. poll until the media reports a succeeded status
# 4. create the pin referencing that media id
注:
POST /v5/mediaやPOST /v5/pinsの正確なリクエストおよびレスポンスのフィールド名は、公式のPinterest APIリファレンスに照らして確認できませんでした。それらのページはコンテンツをクライアント側でレンダリングしており、取得時にドキュメントのテキストが返ってこなかったためです。実装前にdevelopers.pinterest.com上の最新のAPIリファレンスを確認し、上記のフィールド名はそのままコピーできるスキーマではなく、フローの形として捉えてください。
多くの人が見落とす手順は3番目です。動画Pinにはカバー画像も必要で、これは別途用意して検証する必要のある2つ目のアセットになります。カバー画像の正確な要件は、取得可能なv5のリファレンスページでは確認できなかったため、それを前提に構築する前に最新のドキュメントで確認してください。どちらのタイプのPinでも画像サイズを決める際は、Pinterest投稿サイズガイドに現在の寸法が載っています。
Pinterest APIのレート制限は?
公開されている制限はティアによって大きく異なり、これもトライアルアクセスが本番動作のプレビューにならない理由の一つです。
| ティア | 公表されている制限 |
|---|---|
| トライアル | すべてのAPIリクエストを合わせてアプリごとに1日1,000リクエスト |
| スタンダード | すべてのAPIリクエストを合わせてアプリ・ユーザーごとに1秒間100リクエスト |
個々のエンドポイントのカテゴリーには、この全体的な制限に加えてそれぞれ独自のより狭い制限があります。読み取り、書き込み、分析、コンバージョンはそれぞれ独自の予算を持ち、Pinterest自身のドキュメントでは、すべてのレート制限は予告なく変更される可能性があると記載されています。全体的な数字がそのまま当てはまると想定せず、呼び出す各エンドポイントに割り当てられたカテゴリーを確認してください。
注: ここに記載の数値は、2026年9月時点でdevelopers.pinterest.comに基づいて確認したものです。各プラットフォームは予告なくこれらを変更することがあります。
実際に3週間かかるのはどこか
Pin作成の呼び出しではありません。Pin作成の呼び出しは午後の作業で終わります。3週間かかるのは以下の部分です。
- 審査。 トライアルアクセスのままでは顧客に提供できず、公表された所要時間もありません。早めに提出し、OAuthフローが明確に映った録画を提出しましょう。それが名指しで挙げられている却下理由だからです。
- トークンの更新。 リフレッシュトークンは期限切れになり、無効化は通知なく起こることがあります。接続済みアカウントごとに保存したリフレッシュトークン、期限前に更新するジョブ、そしてUI上の「このアカウントを再接続」という状態が必要です。最初の顧客のトークンが切れてからこれを構築するのは高くつく順序です。
- メディアのトランスコーディング。 動画Pinを扱うということは、ユーザーがアップロードするどんなものでも受け入れ、コーデックとコンテナを正規化し、カバー画像を生成し、アップロード手順がそこからストリーミングできる場所に結果を保存することを意味します。これはAPI連携ではなく、メディアパイプラインです。
- 非同期の失敗処理。 署名付きアップロードから2xxが返ってきたということは、バイトデータが届いたことを意味するだけです。動画が処理されたことも、Pinが存在することも意味しません。ステータスをポーリングする仕組み、一時的な失敗と恒久的な失敗を区別するリトライポリシー、そして公開済みでも失敗でもない
processingという投稿状態が必要です。この状態モデルについてはソーシャルメディアスケジューリングAPIガイドで解説しています。
これら4つすべてを、追加するプラットフォームの数だけ掛け合わせてください。それが実際の構築の全体像です。自作か購入かの比較がそれを数字で示しています。
要点まとめ
- トライアルアクセスがデフォルトで、作成者にしか見えないサンドボックスのPinを生成します。スタンダードアクセスには、OAuthフローのデモ動画を伴う審査が必要です。所要時間は公表されていません。
- 公開URLからの画像Pinは1回の呼び出しで済みます。動画Pinは登録、アップロード、ポーリング、作成に加えてカバー画像が必要です。
- トライアルはアプリごとに1日1,000リクエストに制限されています。スタンダードはアプリ・ユーザーごとに1秒間100リクエストで、その下にさらに狭いカテゴリーごとの制限があります。
- エンジニアリングのコストは審査、トークン更新、トランスコーディング、非同期の失敗処理にかかるものであり、投稿の呼び出し自体にはかかりません。
プラットフォームごとではなく一度で済ませる
Pinterestが必要な複数のネットワークのうちの一つであるなら、上記のプラットフォームごとの作業は、それぞれ異なる形で繰り返されます。異なる審査ゲート、異なるメディアフロー、異なるクォータモデル。それこそが私たちのAPIが吸収するために存在する理由です。BulkPublishは1つのRESTエンドポイントと1つの投稿モデルを通じて15のプラットフォームに投稿でき、OAuth、トークン更新、メディア処理、非同期のステータス追跡はすべて私たちの側で処理します。
開発者向けドキュメントとREST API連携ページにエンドポイントと投稿のライフサイクルが記載されています。APIを書くよりインターフェース経由でPinをスケジュールしたい場合は、Pinterestのピンをスケジュールする方法がその方法をカバーしており、無料のPinterest文字数カウンターならタイトルと説明文を上限内に収めるのに役立ちます。