【API】【2024年度版】note非公式API完全ガイド#1

web service

ようこそ!note APIの世界へ

このガイドでは、noteの非公式APIについて初心者にもわかりやすく、実践的な内容をお届けします。
開発経験が浅い方でも使えるように、基礎知識から具体例まで、すべてを詰め込んだ”完全版”です。


誰のための記事?

このガイドは、以下のような方におすすめです。

  • note APIを使ったアプリやスクリプトを作りたいエンジニア
  • データ分析や自動化に興味があるデータアナリスト
  • APIでnoteをもっと便利に使いたいクリエイター

このガイドで得られること

  1. APIの基礎知識を理解できる
  2. note APIのエンドポイントを使いこなす方法を学べる
  3. 実際の開発に役立つサンプルコードとTipsを活用できる

GASを有料記事として公開しております。

GASとはという方は👇️
簡単にお伝えすると、Googleアカウントをお持ちの方であれば「誰でも」「無料」で使えるクラウドのスクリプト機能です。

https://note.com/embed/notes/nd855b2386679



注意点

  • 非公式APIのため、突然の仕様変更やサービス停止があり得ます。
  • 過剰なリクエストはサーバーに負担をかけるため、利用には節度が必要です。

コンテンツ概要

以下の流れで解説を進めます。

  1. APIとは何か?
    • APIの基本概念や仕組みを初心者向けに解説。
  2. HTTPメソッドとステータスコード
    • 開発時に必須となる基礎知識とnote API特有の挙動。
  3. note APIバージョン一覧
    • バージョンごとの違いと進化を解説。
  4. note APIの主要機能
    • 各カテゴリ別のエンドポイントやサンプルを網羅。
  5. 実用例
    • 「記事一覧の取得」「ダッシュボードPVデータの可視化」などの具体例を実装。
  6. 注意点と今後の可能性
    • note APIの課題と未来を考察。

さらにこの記事では、有料記事として以下を提供予定です:

  • ダウンロード可能なサンプルコード:コピペで即使えるテンプレート。
  • API活用事例集:ユニークで実践的なアイデア。

1. APIとは何か?

**API(Application Programming Interface)**は、アプリケーション同士が情報をやり取りするための仕組みです。
たとえば、アプリが特定の機能を提供する「窓口」のような役割を果たします。

APIの基本概念

  • リクエストとレスポンス
    • クライアント(利用者側)がAPIサーバーにリクエストを送る。
    • サーバーがそれに応じてレスポンス(情報)を返す仕組み。
    • 例:noteのAPIを使って、記事一覧を取得する。

note APIの実例

  • リクエスト例:記事一覧を取得
GET https://api.note.com/v1/articles
  • レスポンス例:JSON形式のデータ
{
"articles": [
{"title": "記事1", "author": "ユーザーA", "views": 123},
{"title": "記事2", "author": "ユーザーB", "views": 456}
]
}

初心者にも直感的に理解できる仕組みです。


2. HTTPメソッドとステータスコード

APIを利用する際には、HTTP通信の基本を理解する必要があります。

HTTPメソッド

note APIでよく使うメソッドは以下の3つです:

  • GET: データを取得(例:記事一覧の取得)。
  • POST: データを新規作成(例:新しい記事の投稿)。
  • DELETE: データを削除(例:特定のマガジンを削除)。

ステータスコード

APIのレスポンスには、リクエストの結果がステータスコードで表されます:

  • 200 OK: リクエスト成功。正常なレスポンスが返る。
  • 403 Forbidden: アクセス権限がない。
  • 500 Internal Server Error: サーバー側のエラー。

note APIを扱う上で、これらのコードの意味を把握しておくとエラー解決がスムーズになります。


3. note APIバージョン一覧

noteの非公式APIは、定期的に進化しています。本セクションでは、過去から現在までのバージョンの違いを整理します。

主なバージョンと特徴

  • v1: 初期のバージョン。基本的な機能(記事取得など)のみ対応。
  • v2: より多機能に。マガジンやタグ関連のエンドポイントが追加。
  • v3: 最新版。ダッシュボードデータや通知の取得も可能に。

エンドポイント例

  • v1: 記事取得
GET https://api.note.com/v1/articles
  • v2: カテゴリー取得
GET https://note.com/api/v2/categories

4. note APIの主要機能

各カテゴリごとのエンドポイントを具体的に紹介します。

記事

  • 記事一覧の取得: 特定のタグやキーワードに基づいた記事を取得可能。
GET https://api.note.com/v3/articles?tag=tech

copy

実際に抽出したデータ。

画像

5. 実用例

このセクションでは、具体的なコード例を使い、実践的なAPI活用法を紹介します。

例1: 記事一覧をCSVに出力

Pythonを使った簡単なスクリプト例:

import requests
import csv

url = "https://api.note.com/v3/articles"
response = requests.get(url)
articles = response.json()["articles"]

with open("articles.csv", "w") as file:
    writer = csv.writer(file)
    writer.writerow(["Title", "Author", "Views"])
    for article in articles:
        writer.writerow([article["title"], article["author"], article["views"]])

6. 注意点と今後の可能性

注意点

  • 非公式APIのため、突然仕様が変わるリスクがある。
  • リクエスト数が多すぎると、IP制限される可能性あり。

スプレッドシートへ検索キーを基に書き出すスクリプトは👇️(noteで有償にて販売しております)

https://note.com/masuyohasiri/n/n7c966fe553bb