はてなブックマークエントリー情報取得API

APIを利用して、はてなブックマークに登録されている情報を取得する方法について解説します。

リクエスト

JSONとJSONPによる方法との2種類があります。

JSON

http://b.hatena.ne.jp/entry/json/URL
http://b.hatena.ne.jp/entry/json/?url=エンコード済みのURL

使用例

たとえば、以下のはてなブックマークのURLの情報を取得するには、

http://b.hatena.ne.jp/entry/example.com/

次のように指定します。

http://b.hatena.ne.jp/entry/json/http://example.com/

または、

http://b.hatena.ne.jp/entry/json/?url=http%3A%2F%2Fexample.com%2F

とします。

JSONP

クエリにcallbackを追加することで、JSONPで取得できるようになります。

http://b.hatena.ne.jp/entry/json/
    ?url=エンコード済みのURL
    &callback=関数名

使用例

http://b.hatena.ne.jp/entry/json/
    ?url=http%3A%2F%2Fexample.com%2F
    &callback=funcname

サンプルコード

[http://example.com]のブックマークを、jsonlite形式で取得します。

<script type="text/javascript">
function HatenaCallback( data )
{
  if( data )
  {
    document.write( '<pre>' );

    document.writeln( 'ページのタイトル             :' + data.title );
    document.writeln( 'ブックマークされているURL    :' + data.url );
    document.writeln( 'ブックマークしているユーザー数 :' + data.count );
    document.writeln();

    for( var i = 0; i < data.bookmarks.length; i++ )
    {
      var bookmark = data.bookmarks[ i ];

      document.writeln( 'ブックマークしたユーザー名 :' + bookmark.user );
      document.writeln( 'ブックマークした時刻     :' + bookmark.timestamp );
      document.writeln( 'ブックマークコメント     :' + bookmark.comment );
      document.writeln();
    }

    document.write( '</pre>' );
  }
}
</script>

<script type="text/javascript"
  src="http://b.hatena.ne.jp/entry/jsonlite/?url=http%3A%2F%2Fexample.com%2F&callback=HatenaCallback">
</script>

取得速度の向上

ブックマークの関連エントリの情報を省略することで、取得速度を向上できます。

http://b.hatena.ne.jp/entry/jsonlite/?url=エンコード済みのURL
http://b.hatena.ne.jp/entry/jsonlite/?url=エンコード済みのURL&callback=関数名

レスポンス

データ形式

キー 説明
title タイトル
url URL
entry_url はてなブックマークでのURL
count ブックマーク数
eid ID
screenshot スクリーンショット画像のURL
bookmarks
ブックマーク [配列]
user ユーザー名
comment コメント
tags タグ [配列]
timestamp 日時
related
関連情報 [配列]
title タイトル
url URL
entry_url はてなブックマークでのURL
count ブックマーク数
eid ID
JSON データの構造 - はてな

実行例

ユーザー名 コメント タグ 日時