Live Dwango Reader (旧livedoor Reader)まとめサイト - Feed Discover API

livedoor Reader Feed Discover API


livedoor Readerのデータベースからフィードを配信しているサイトを見つけ出すAPIです。

リクエスト

http://rpc.reader.livedoor.com/feed/discover
に対してGET もしくは POSTメソッドで下記のパラメータを指定します。

パラメータ

formatopml or json
urlフィードを探すURL
links調査対象のURLのリスト(改行区切り)
  • formatパラメータは未指定の場合はopmlが使用されます。
  • urlとlinksはどちらか片方を指定します。両方指定された場合はurlが優先されます。
format jsonの場合
escapeHTMLエスケープを有効にする場合は1を指定
callbackJSONPとして使う場合に指定します

ブラウザから呼び出す場合、表示の前に適切にHTMLエスケープを行ってください。
escape=1が指定された場合URLやdescriptionがHTMLエスケープされた状態で返ります。
urlパラメータ
  • urlが指定された場合、そのurlの内容を取得してページ内に含まれるリンクを調査します。
    • 指定されたURLのサーバーの応答速度によってはレスポンスが遅れる場合があります。
linksパラメータ
  • あらかじめ調査したいURLが決まっている場合はlinksを使用してください。
    • \nで区切って複数のURLを一度に調査することが出来ます。
  • urlとは異なり、指定されたURLに対してHTTPリクエストは行いません。

フォーマットについて

OPMLとJSONに対応しています。OPMLは既存のフィードリーダーにインポートするのに適しています。
JSON形式の場合、購読者数や更新日時など、詳細な情報を取得することが出来ます。

レスポンスのサンプル

http://news.livedoor.com/がフィードを配信しているかどうかを調べる

format=opmlの場合
<?xml version="1.0" encoding="utf-8"?>
<opml version="1.0">
<head>
    <title>livedoor Reader Subscriptions</title>
    <dateCreated>Thu, 07 Jun 2007 15:40:17 JST</dateCreated>
</head>
<body>
<outline title="Subscriptions">
      <outline title="livedoor NEWS - 主なトピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss.xml" />
</outline>
</body></opml>
format=jsonの場合
[{
    "source":"http://news.livedoor.com/",
    "icon":"",
    "link":"http://news.livedoor.com",
    "description":"livedoor NEWS - 主なトピックス",
    "image":null,
    "modified_on":1178770500,
    "title":"livedoor NEWS - 主なトピックス",
    "feedlink":"http://news.livedoor.com/topics/rss.xml",
    "subscribers_count":10,
    "official":1,
    "avg_rate":3.22
}]

source: ユーザーの入力したURL
title: フィードのタイトル
link: フィード配信元のURL
feedlink: フィードのURL
description: フィードの説明
icon: キャッシュされたfaviconのURL
image: フィードの画像のURL
modified_on: 最新記事の更新時刻をエポック秒で示したもの
subscribers_count: そのフィードをlivedoor Readerで購読している人数
official: このフィードが配信元のURLからオートディスカバリで検出可能であれば1を、そうでない場合は0を返す
avg_rate: 平均レート

複数のURLを入力した場合、sourceプロパティを参照することで、どのURLに対してフィードが検出されたのかを識別することが出来ます。sourceはlinksパラメータを指定した場合に有効です。

http://news.livedoor.com/から張られているリンクからフィードの情報を取得する

format=opmlの場合
<?xml version="1.0" encoding="utf-8"?>
<opml version="1.0">
<head>
    <title>livedoor Reader Subscriptions</title>
    <dateCreated>Thu, 07 Jun 2007 15:46:15 JST</dateCreated>
</head>
<body>
<outline title="Subscriptions">
      <outline title="livedoor NEWS - ライブドア・ニュース" htmlUrl="http://news.livedoor.com/category/vender/34/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/livedoor_news" />
      <outline title="livedoor NEWS - PJ" htmlUrl="http://news.livedoor.com/category/vender/40/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/pj_news" />
      <outline title="livedoor NEWS - ファンキー通信" htmlUrl="http://news.livedoor.com/category/vender/46/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/funky_news" />

      <outline title="livedoor NEWS - 独女通信" htmlUrl="http://news.livedoor.com/category/vender/90/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/dokujyo" />
      <outline title="livedoor NEWS - livedoor スポーツ" htmlUrl="http://news.livedoor.com/category/vender/38/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/livedoor_sport..." />
      <outline title="livedoor NEWS - マルカ" htmlUrl="http://news.livedoor.com/category/vender/6/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/marca" />
      <outline title="livedoor NEWS - Gazzetta.it." htmlUrl="http://news.livedoor.com/category/vender/72/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/gazzetta" />
      <outline title="livedoor NEWS - 欧州通信" htmlUrl="http://news.livedoor.com/category/vender/77/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/europe_footbal..." />
      <outline title="livedoor NEWS - 主なトピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss.xml" />
      <outline title="livedoor NEWS - 国内トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/dom.xml" />
      <outline title="livedoor NEWS - コンピュータトピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/com.xml" />
      <outline title="livedoor NEWS - 経済トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/eco.xml" />

      <outline title="livedoor NEWS - スポーツトピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/spo.xml" />
      <outline title="livedoor NEWS - 芸能トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/ent.xml" />
      <outline title="livedoor NEWS - 海外トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/int.xml" />
      <outline title="livedoor News 地域" htmlUrl="http://news.livedoor.com/webapp/journal/topics/" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/are.xml" />
      <outline title="livedoor NEWS - 音楽トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/mus.xml" />
      <outline title="livedoor NEWS - 映画トピックス" htmlUrl="http://news.livedoor.com" type="rss" xmlUrl="http://news.livedoor.com/topics/rss/mov.xml" />
      <outline title="livedoor コンピュータ 家電" htmlUrl="http://computers.news.livedoor.com" type="rss" xmlUrl="http://computers.livedoor.com/rss/category_applian..." />
      <outline title="All About[オールアバウト]" htmlUrl="http://allabout.co.jp/" type="rss" xmlUrl="http://feeds.feedburner.jp/allabout/all" />
      <outline title="livedoor NEWS - 拝啓 、イエ男くん" htmlUrl="http://news.livedoor.com/category/vender/115/" type="rss" xmlUrl="http://news.livedoor.com/vender/rss/ieo" />

      <outline title="livedoor 検索 注目ワード" htmlUrl="http://search.livedoor.com/" type="rss" xmlUrl="http://search.livedoor.com/xml/chuumoku.rdf" />
</outline>
</body></opml>
format=jsonの場合
[{"icon":"",
"link":"http://news.livedoor.com/category/vender/34/",
"description":"livedoor NEWS - ライブドア・ニュース",
"image":null,
"modified_on":1175835126,
"title":"livedoor NEWS - ライブドア・ニュース",
"feedlink":"http://news.livedoor.com/vender/rss/livedoor_news",
"subscribers_count":100710},

{"icon":"",
"link":"http://news.livedoor.com/category/vender/40/",
"description":"livedoor NEWS - PJ",
"image":null,
"modified_on":1181190778,
"title":"livedoor NEWS - PJ",
"feedlink":"http://news.livedoor.com/vender/rss/pj_news",
"subscribers_count":82055},

{"icon":"",
"link":"http://news.livedoor.com/category/vender/46/",
"description":"livedoor NEWS - ファンキー通信",
"image":null,
"modified_on":1180760436,
"title":"livedoor NEWS - ファンキー通信",
"feedlink":"http://news.livedoor.com/vender/rss/funky_news",
"subscribers_count":100504},

{"icon":"",
"link":"http://news.livedoor.com/category/vender/90/",
"description":"livedoor NEWS - 独女通信",
"image":null,
"modified_on":1181120456,
"title":"livedoor NEWS - 独女通信",
"feedlink":"http://news.livedoor.com/vender/rss/dokujyo",
"subscribers_count":733},
 ......

制限事項

キャッシュについて

  • データは一定期間キャッシュされるため、必ずしも最新の情報ではない場合があります。

検出されるフィードについて

  • このAPIによって検出されるフィードは「RSS Auto-Discovery」の結果とは異なります。
    • Auto-Discoveryで検出可能なフィードであっても、livedoor Readerに登録されていないフィードの場合は検出されません。
  • 配信元のサイトからオートディスカバリで検出可能なフィードの場合、1人以上購読しているフィードが検出されます。
    • それ以外の場合は、購読者数が一定数以上のフィードのみ検出されます。
  • 一つのリンクに付き、一つのフィードが検出されます。
    • 複数のフィード候補がある場合は、購読者数が一番多いフィードを一つだけ返します。
  • フィード内に含まれる配信元URLの情報を元にしているため、本来のコンテンツ提供者とは異なる第三者が提供しているフィードが検出される場合があります。

officialプロパティについての補足事項

  • officialプロパティは、そのフィードがオートディスカバリで検出可能かどうかを返します。
  • officialプロパティの値は、最新の情報でない場合や正確ではない場合があります。
  • この値が1の場合は、コンテンツ配信元が提供しているフィードであると期待することができます。
  • ただし、この値が0の場合でも、非公式なフィードであるとは限りません
    • 公式なフィードであっても、オートディスカバリが記述されていない場合は0を返します。
  • 「officialが0、かつ、linkとfeedlinkのドメインと異なる」といった条件でフィルタすることで、第三者の提供するフィードを除外したり、あるいは逆に第三者の提供するフィードのみを取得することが出来ます。

リクエスト数の制限

  • linksに渡すURLは一回のリクエストにつき1000件に制限されています。
    • 1000件以上の場合は、先頭の1000件のみ有効となります。

注意事項・免責

  • 本APIの仕様は予告無く変更されることがあります。
  • リクエスト回数について得に制限は設けていませんが、悪質なリクエストがあった場合、アクセス制限やリクエストの拒否などを行う場合があります。
  • 応答速度や返ってくるデータの内容の正当性について保証しません。

変更履歴

  • 2007-06-15 JSON形式のレスポンスにavg_rateとofficialプロパティを追加。official=1のフィードは購読者数が少ない場合でも検出されるように仕様を変更。