← 特典一覧に戻る
メルマガ登録特典
メルマガ限定追記アーカイブ
配信時だけ読めた「メルマガ限定パート」のまとめです。新しい追記ほど上に追加していきます。記事によっては、同じものをAIと作るときにそのまま渡せる「AIに渡す用メモ」も付けています。
📌 note記事を読む(公開後にリンクを差し替えます)

noteやSubstackにはデータを自動取得できる公式の窓口がなかったので、代わりにブラウザの開発者ツールを使いました。

Macなら「command + option + I」で開くパネルです。

そこの「アプリケーション」タブからCookieの値を1つコピーして渡すだけで、Claude Codeがログイン中の自分と同じ立場でデータを読みに行けるようになるんです。

ふだんは触らない画面ですが、今回はこれが一番の近道でした。

Cookie取得の手順(Chrome・noteの場合)

  1. Chromeでnote.comを開く(ログインした状態なら、どのページでもOK)
  2. 「command + option + I」で開発者ツールを開く(Windowsは「F12」)
  3. 上のタブから「アプリケーション」(Application)を選ぶ
  4. 左メニューの「Cookie」→「https://note.com」をクリック
  5. 一覧から「_note_session_v5」という名前の行を探す
  6. その行の値(Value)をダブルクリックして、コピーする
Chromeの開発者ツールでnote.comのCookie一覧を開き、_note_session_v5の行を選んだ画面

Substackの場合も同じ手順で、自分のSubstackページ(〇〇.substack.com)を開き、Cookie一覧から「substack.sid」の値をコピーします。

※ Cookieはログインの証明そのものなので、他人に渡さないでください。AIに渡すときも、チャット欄に直接貼らず、ファイル(.envなど)に保存して読み込ませる形が安全です。

AIに渡す用メモ
同じような自動取得の仕組みをAIと作るときは、下のメモをコピーしてそのままAIに貼ってください。中身を理解する必要はありません。私が実際にハマった落とし穴を、AIが先回りで避けてくれます。
【note・Substack・Systeme.ioの発信データを自動取得する仕組みを作るときの参考情報】

以下は実際に動作確認済みの情報です。この通りに実装してください。

■ note(直近7日間のアクセス状況)
GET https://note.com/api/v1/stats/pv?filter=week&page=1&sort=pv
ヘッダー: Cookie: _note_session_v5={Cookieの値}
・Cookieはnote.comにログインした状態で、開発者ツール→アプリケーション→Cookie→ https://note.com の「_note_session_v5」の値をコピーする
・取れるデータ: 記事タイトル(name)・PV(read_count)・スキ(like_count)・コメント(comment_count)
・filter=week はnoteの「アクセス状況」画面(直近7日間)と同じ数字になる
・filter=all だと全記事の累計。日次分析には不要で、AIに全件読ませるとトークンを無駄に消費する
・ページネーションあり。レスポンスのlast_pageがtrueになるまでpageを増やす

■ Substack(配信メール別の統計)
GET https://{自分のサブドメイン}.substack.com/api/v1/post_management/published?offset=0&limit=20&order_by=post_date&order_direction=desc
ヘッダー: Cookie: substack.sid={Cookieの値}
・Cookieは自分のSubstackにログインした状態で、開発者ツール→アプリケーション→Cookie→「substack.sid」の値をコピーする
・取れるデータ: stats内に sent(配信数)・opened(開封数)・open_rate(開封率)・views・clicked・likes・restacks・comments・unsubscribes
・post_dateはUTCなので日本時間に直すときは+9時間する

■ Substack Notes(短文投稿)
GET https://{自分のサブドメイン}.substack.com/api/v1/notes?limit=20
ヘッダー: Cookie: substack.sid={Cookieの値}
・自分のNotesだけが返ってくる(他ユーザーの投稿は混ざらない)
・取れるデータ: 本文(body)・投稿日時(date)・リアクション数(reaction_count・絵文字別はreactions)・restacks・返信数(children_count)

■ Systeme.io(メルマガ読者リスト)
GET https://api.systeme.io/api/contacts?limit=100
ヘッダー: X-API-Key: {APIキー}
・これだけ公式API。Systeme.ioの設定画面でAPIキーを発行する
・取れるデータ: 読者一覧(タグ・登録日時・配信停止フラグ)。集計すれば総読者数・タグ別人数・直近の新規登録数が出せる
・カーソル型ページネーション。レスポンスのhasMoreがtrueなら、最後のidをstartingAfterに渡して続きを取る
・メールアドレスは個人情報なので、集計値だけ使い、生データをAIのチャットやファイルに残さないこと

■ ハマった落とし穴(先回りで回避してください)
1. macOSのpython.org版PythonはSSL証明書が未設定で、urllibでHTTPS接続するとCERTIFICATE_VERIFY_FAILEDになる。HTTP通信はcurlコマンド経由(subprocess)で実装すると確実
2. BOM付きCSVをPythonのcsv.DictReaderで読むと1列目の列名が化ける。encoding='utf-8-sig'で開く
3. 毎日AI(Claude Code等)を起動して分析させる設計にする場合、差分計算・CSV追記などの機械的な処理はPythonスクリプト側で完結させ、AIには要約データと文章判断だけを渡す。全データを毎回AIに読ませるとトークン消費が大きい
4. noteとSubstackは非公式API(ログインCookie利用)なので、Cookieが失効したら取得が止まる。失効を検知したら「Cookieの貼り直しが必要」と分かるエラー処理を入れておく