はてなブックマーク

はてなブックマークAPIの全体像と主要エンドポイント解説

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

はてなブックマーク API 全体像と主要エンドポイント

結論
はてなブックマークが提供する API は大きく分けて次の 2 系統に分類できます。

系統 主な用途 認証要否 代表エンドポイント
はてなブックマークリスト API(公開情報取得) 任意 URL のエントリー情報・ブックマーカ数だけを取得。外部サービスへの埋め込みやトレンド分析に最適。 なし(公開データのみ) https://b.hatena.ne.jp/entry/json/{url}
はてなブックマーク REST API(認証必須) 認証ユーザーのブックマーク取得、追加・削除、タグ操作などフル CRUD。自作ツールやバックエンド連携に利用。 OAuth 1.0a 必要 https://bookmark.hatena.com/rest/v1/bookmarks

※公式ドキュメント
- はてなブックマークリスト API: https://developer.hatena.ne.jp/ja/documents/bookmark/apis/getinfo/
- はてなブックマーク REST API: https://developer.hatena.ne.jp/ja/documents/bookmark/apis/rest/


1. エンドポイントとサンプルレスポンス

1‑1. 公開情報取得(はてなブックマークリスト API)

1‑2. 認証ユーザー向け CRUD(はてなブックマーク REST API)

  • 取得(GET)

レスポンス例

1‑3. 非公式「全文検索 API」

重要
本エンドポイントは Hatena が正式に公開しているものではなく、公式ドキュメントも存在しません。利用する場合は 動作が予告なしに変更・廃止される可能性 があることを十分に認識した上で、代替手段(例:自前で取得したブックマークを検索エンジンへインデックス)を検討してください。


2. 認証方式とアプリ登録手順

2‑1. 推奨認証 ― OAuth 1.0a

はてなブックマーク API の公式認可フローは OAuth 1.0a です。2024 年時点での最新エンドポイントは以下の通りです(変更があれば Hatena Developer Center の「OAuth」ページを必ず確認してください)。

ステップ エンドポイント 主なパラメータ
アプリ登録 - Hatena Developer Center → 「アプリケーションの追加」
リクエストトークン取得 POST https://www.hatena.com/oauth/initiate oauth_callback(必須)
ユーザー認可 GET https://www.hatena.com/oauth/authorize?oauth_token=… -
アクセストークン取得 POST https://www.hatena.com/oauth/token oauth_verifier

注意点

  • コールバック URL は HTTPS が推奨され、実際に受け取るエンドポイントは外部からアクセス可能である必要があります。
  • 取得した Consumer Key/SecretAccess Token/Secret は安全な場所(環境変数やシークレットマネージャ)に保管し、コードベースにハードコーディングしないでください。

2‑2. WSSE・Cookie 認証は非推奨

過去の資料に WSSECookie 認証が記載されていることがありますが、Hatena の公式情報には掲載されておらず、現在はサポート対象外です。実装時には OAuth 1.0a を唯一の選択肢 とし、他方式は使用しないようにしてください。


3. 実装サンプル

3‑1. Python(requests + requests_oauthlib)

3‑2. JavaScript(Fetch API)

ポイント
OAuth 1.0a のシグネチャはサーバ側で生成し、クライアントへ Authorization ヘッダーだけを渡す形が安全です。


4. 実務での活用シナリオ(3例)

シナリオ 主な目的 実装のポイント
個人向け「マイブックマーク」全文検索ツール 自分だけのローカル検索エンジンで過去ブックマークを高速に検索 1. /rest/v1/bookmarks で全件取得
2. SQLite/ElasticSearch にインデックス化
3. フロントはシンプルな検索ボックス
業界トレンド可視化ダッシュボード キーワードやハッシュタグの出現頻度をリアルタイムに把握 1. 非公式検索 API(※リスクあり)または自前で取得したデータを定期取得
2. TF‑IDF 等で重要語抽出
3. Grafana / Chart.js で可視化
SEO 用ブックマーク分析 自社ページの被ブックマークリストとタグ構成を把握し、被リンク効果を測定 1. URL リスト(CMS API 等)から /entry/json/{url} を叩く
2. counttags を CSV/DataFrame に集約
3. ページ別ランキングや上位タグのレポート作成

サンプル:SQLite へ保存する Python スクリプト(シナリオ①)


5. 利用上の注意点とベストプラクティス

5‑1. User-Agent の必須指定 & レートリミット

公式ドキュメントは 「User‑Agent を明示しないリクエストは制限対象」 と明記しています。
推奨フォーマット例:

例:MyBookmarkTool/1.2 (Contact: dev@example.com)

  • レートリミット は 1 分間に最大 60 リクエスト(※変更の可能性あり)です。
  • 429 が返されたら必ず指数バックオフで再試行してください。

5‑2. エラーハンドリングと再試行戦略

HTTP ステータス 想定原因 推奨対策
401 / 403 認証情報が無効、または権限不足 トークンの有効期限を確認し、必要なら再取得
429 レートリミット超過 指数バックオフ(1 s → 2 s → 4 s …)でリトライ
500 系 サーバ側障害 数秒待機後に再試行、連続失敗時はアラートを上げる

バックオフ実装例(Python)

5‑3. セキュリティ

  • シークレット情報は環境変数や Vault に保管し、Git リポジトリに絶対に含めない。
  • OAuth の署名生成はサーバ側で行い、クライアントには Authorization ヘッダーだけを渡す。
  • API 呼び出し時は常に HTTPS を使用し、中間者攻撃から保護する。

6. まとめ

  1. API の選択
  2. 公開データだけが欲しい → はてなブックマークリスト API(認証不要)
  3. ユーザー固有の操作や大量取得が必要 → はてなブックマーク REST API(OAuth 1.0a 必須)

  4. 認証は OAuth 1.0a のみを使用。WSSE・Cookie 認証は公式にサポートされていないため実装しないこと。

  5. 非公式な全文検索エンドポイントはリスクが高い。必ず代替手段(自前インデックス)を検討するか、利用の際は動作保証がない旨をコード・ドキュメントに明記してください。

  6. 実装例(Python / JavaScript)は公式推奨ライブラリを活用し、User-Agent とレートリミット対策を必ず組み込むこと。

  7. 活用シナリオとして、個人検索ツール、トレンド可視化ダッシュボード、SEO 用ブックマーク分析がすぐに試せる実務的な例です。

これらの手順とベストプラクティスをプロジェクトに組み込めば、はてなブックマークデータを安全かつ効果的に活用でき、サービス開発やマーケティング施策の速度が格段に向上します。

スポンサードリンク

-はてなブックマーク