Hatena::Grouphatenadeveloper

はてなキーワードAPI

ja/keyword/apis/rest

はてなキーワードAPI

本ドキュメントに関する注意事項

本ドキュメントははてなキーワード(はてなダイアリーのキーワード)におけるAPI実装を解説するものです。

本API利用にあたっての注意事項

各キーワードのフィードを取得して、そのフィードからHTMLマークアップされた本文を取得し、それを利用して任意のウェブサイト上のコンテンツを不特定多数の閲覧者に公開する場合は、そのコンテンツが掲載されたページから該当のキーワードページへリンクを行ってください。

はてなキーワードAPIの概要

はてなキーワードAPIは、はてなキーワードのコンテンツを任意のアプリケーションから利用するためのAPIで、キーワード検索のRSSフィードと各キーワードのRSSフィードを組み合わせて操作するものです。

現在、はてなキーワードAPIがサポートしている操作は以下です。

  • 全キーワードから任意のワードでの検索
    • 検索結果のページングもサポート
  • 各キーワードの本文の取得
    • HTMLによりマークアップされた本文の取得が可能

検索フィードの取得

はてなキーワードのすべてのキーワードから、任意のワードでの検索が可能です。検索結果はRSSフィードによって取得することができます。インタフェースは HTTP GET に対して XML で処理結果を返す、REST API になっています。

たとえば、キーワード「ABC」で検索する場合は以下のURLになります。

http://search.hatena.ne.jp/keyword?word=ABC&mode=rss&ie=utf8&page=1
word
検索語をURLエンコードした値
mode
rssまたはrss2を指定。rssではRSS 1.0、rss2ではRSS 2.0が取得可能です。
ie
検索語のエンコーディング。省略時は euc-jp として扱われます。指定可能な値は euc-jp / utf8 / shiftjis です。
page
取得する検索結果のページを指定
  • 検索結果のフィードには、検索されたキーワードのリストが含まれます。
  • リストの並び順は、検索アルゴリズムが内部で持っている値によりソートされています。(求めるキーワードが見つかり易いような順番で並べています。)

openSearch名前空間によるページング処理拡張

検索結果のRSSフィードは openSearch 名前空間 (http://a9.com/-/spec/opensearchrss/1.0/) により拡張し、RSS 1.0、RSS 2.0 の場合共に channel要素にページング処理用の要素を持たせています。

<openSearch:totalResults>20</openSearch:totalResults> 
<openSearch:startIndex>1</openSearch:startIndex> 
<openSearch:itemsPerPage>10</openSearch:itemsPerPage> 
totalResults
そのワードでの検索結果の総数:
startIndex
取得したフィードの先頭要素が、検索結果総数における何番目の要素かを示す値:
itemsPerPage
1ページあたりの検索結果の数(固定):

これらの値を用いることで、任意のアプリケーションにはてなキーワードAPIによる検索機能を追加する際、ページング処理も加えることが可能です。

hatena名前空間による拡張

検索結果のRSSフィードは hatena 名前空間により拡張されています。

<hatena:score>12</hatena:score> 
<hatena:contentscore>0</hatena:contentscore> 
<hatena:furigana>えーびーしー</hatena:furigana>
<hatena:imageurl>http://d.hatena.ne.jp/images/keyword/390.gif</hatena:imageurl> 
<hatena:imageurlsmall>http://d.hatena.ne.jp/images/keyword/390_m.gif</hatena:imageurlsmall> 
score
キーワードのスコア
contentscore
キーワードの内容スコア(将来実装予定機能のための値です。現在は0固定)
furigana
キーワードのふり仮名
imageurl
画像が登録されている場合そのURL
imageurlsmall
画像が登録されている場合そのサムネイルのURL

キーワードのフィードの取得

すべてのはてなキーワードの本文をXMLにより取得が可能です。これにより、任意のアプリケーションからキーワードのコンテンツを利用することができます。その内容はRSSフィードによって取得することができます。インタフェースは HTTP GET に対して XML で処理結果を返す、REST API です。

たとえば、キーワード「はてな」のフィードを取得する場合は以下のURLになります。

http://d.hatena.ne.jp/keyword?word=%e3%81%af%e3%81%a6%e3%81%aa&mode=rss&ie=utf8
word
キーワード名をURLエンコードした値
mode
rssまたはrss2を指定。rssではRSS 1.0、rss2ではRSS 2.0が取得可能です。
ie
検索語のエンコーディング。省略時は euc-jp として扱われます。指定可能な値は euc-jp / utf8 / shiftjis です。
  • 1つのキーワードに複数の意味が登録されている場合は、各item要素でそれぞれが取得できます。
  • RSS 1.0 の場合は content:encoded 要素に、RSS 2.0 の場合は description 要素からHTMLマークアップされた本文が取得できます。
  • RSS 1.0 の場合は dc:date、RSS 2.0 の場合は pubDate からキーワードの最終更新時刻が取得できます。

hatena名前空間による拡張

検索結果のRSSフィードは hatena 名前空間により拡張されています。

<hatena:score>61</hatena:score> 
<hatena:contentscore>0</hatena:contentscore> 
<hatena:furigana>はてな</hatena:furigana> 
<hatena:imageurl>http://d.hatena.ne.jp//images/keyword/390.gif</hatena:imageurl> 
<hatena:imageurlsmall>http://d.hatena.ne.jp//images/keyword/390_m.gif</hatena:imageurlsmall> 
score
キーワードのスコア
contentscore
キーワードの内容スコア(将来実装予定機能のための値です。現在は0固定)
furigana
キーワードのふり仮名
imageurl
画像が登録されている場合そのURL
imageurlsmall
画像が登録されている場合そのサムネイルのURL

参照

はてなキーワードAPIの他にも、任意のテキストをはてなキーワードでマークアップするはてなキーワード自動リンクAPIなどの機能も公開しています。

変更履歴

  • 2005年4月8日 リリース