【完全自動化】noteの有料記事をAPI経由で投稿する方法 — 非公開フィールド pay_body の発見
はじめに
noteで有料記事を書いている人なら、一度はこう思ったことがあるのではないでしょうか。「記事の投稿、自動化できないかな?」
特にシリーズものや定期配信をしている人にとって、毎回エディタを開いて、タイトルを入力して、本文をコピペして、有料ラインを設定して、タグを付けて、価格を決めて、公開ボタンを押す…という作業は地味に面倒です。
しかし、noteには公式の投稿APIが公開されていません。2026年4月現在も「将来の公開予定は未定」のままです。
なぜ自動化したかったのか
私はSIerを経営しながら、Claude Code(Anthropic社のAI開発ツール)を日常的に使っています。Claude Codeはファイル操作、コマンド実行、API呼び出しを実際に行える「エージェント型AI」で、指示すれば複雑な調査や実装を自律的にやってくれます。
複数のプラットフォームにコンテンツを展開する際、QiitaやZennはAPIやgit push経由で自動投稿できますが、noteだけがボトルネックでした。そこでClaude Codeに「noteのAPIを解析して、有料記事を自動投稿できるようにして」と依頼しました。
既存ツールの限界
まず試したのが既存のツールです。PyPIに「NoteClient」というライブラリがあり、Selenium+Firefoxベースで記事投稿ができます。しかしARM環境(Raspberry Pi等)ではSelenium Managerが未対応で動作しませんでした。
次にGitHubの「note-mcp」というMCPサーバーを試しました。記事作成、画像アップロード、タグ設定まではできますが、有料ラインの設定機能がありません。
Playwrightでnoteのエディタを直接操作する方法も試しましたが、「有料エリア指定」ボタンがhover時にしか表示されないツールバー内にあり、headlessモードでは安定してクリックできませんでした。
いずれの方法でも、有料記事の「ペイウォール(有料ライン)」をAPI経由で設定する方法がわかりませんでした。
壁:有料ラインの謎
noteの有料記事には「有料ライン」という概念があります。記事の途中に境界線を引き、その上は無料プレビュー、下は購入者のみ閲覧可能にする仕組みです。
APIで price: 500 を設定すると、確かに購入ボタンは表示されます。しかし記事の全文が丸見えのまま。「ここから先は 0字」と表示されてしまいます。separatorというフィールドも見つけましたが、設定しても有料部分が隠れません。
既知のフィールド(price, separator, free_body)だけでは不十分。何かが足りない……。
ここから先は、その「何か」を特定するまでの解析過程と、完全な実装方法を解説します。
ここから先は
¥ 1,480
この記事が気に入ったらチップで応援してみませんか?
