メインページ > 国立国会図書館サーチについて > 国立国会図書館サーチが提供する書影API

国立国会図書館サーチが提供する書影API


1. 書影APIについて

1-1. 概要

国立国会図書館サーチでは、図書館の蔵書検索システム(OPAC)等でご活用いただけるよう書影APIを提供しています。
書影APIは図書のISBNを引数としてリクエストすることで、書影画像を返戻するAPIです。

1-2. データプロバイダ

書影APIで取得可能な書影は、次に示すデータプロバイダから提供されたものです。
  • 出版情報登録センター(JPRO)

    ※出版情報登録センター(JPRO)から提供されたメタデータについては発売予定日から60日経過した時点で国立国会図書館サーチから削除されますが、書影についてはメタデータの削除に関わらず提供を継続します。ただし、出版取消等の事情で当該書影の提供を停止する場合があります。また、提供される書影は、最終刊行版とは異なる場合があります。

1-3. 更新

書影APIで取得可能な書影は、定期的に上記データプロバイダから提供を受け更新されます。書影APIから出力される書影については、変更・提供中止となる場合がありますのでご注意ください。

1-4. ご利用にあたって

書影APIの利用にあたってはあらかじめ以下をご確認ください。

2. リクエスト方法

書影画像を取得するためには以下のURLに対しHTTP GETリクエストを送信します。
http://iss.ndl.go.jp/thumbnail/[isbn]
ここで[isbn]は取得したい図書のISBNを13桁かつハイフン区切りなしで指定します。
例えばISBNが 978-4-422-31107-4 の資料の書影を取得するためのURLは
http://iss.ndl.go.jp/thumbnail/9784422311074
となります。
1度のリクエストで指定可能なISBNは1件となります。(複数のISBNを指定するようなリクエストにはエラーが返戻されます。)

3. 返戻形式

指定されたISBNの資料について、国立国会図書館サーチが公開対象の書影を保持している場合はその画像(JPEG形式)を返戻します。
国立国会図書館サーチが公開対象の書影を保持していない場合(存在していないISBNを指定した場合、ISBNの形式が不正な場合や未指定の場合を含みます)は、エラーとしてHTTPステータスコード「404 not found」を返します。
書影APIへのアクセスが集中し結果を正常に返戻できない場合は、HTTPステータスコード「503 Service Unavailable」を返します。

4. 使用例

例えば、ウェブページ上で書影表示などに本APIを使用することができます。
その場合、HTMLのimgタグのsrcに本APIのURLを指定することで、書影を表示することが考えられます。
<img src="http://iss.ndl.go.jp/thumbnail/9784422311074"/>
ただし、書影APIは上述の通りHTTPステータスコード404または503を返す場合があります。その場合のハンドリングのために、たとえばonerrorイベントハンドラを使用することが考えられます。
  • 画像取得失敗時にimg要素を非表示とする場合の例
    <img src="http://iss.ndl.go.jp/thumbnail/9784999999996" onerror="this.style.display='none'"/>
  • 画像取得失敗時に代替画像を表示する場合の例
    (data URI schemeを使用して画像を出力しています)
    <img src="http://iss.ndl.go.jp/thumbnail/9784999999996" onerror="this.onerror=null;this.src='data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA4LjVjMC0uODI4LjY3Mi0xLjUgMS41LTEuNXMxLjUuNjcyIDEuNSAxLjVjMCAuODI5LS42NzIgMS41LTEuNSAxLjVzLTEuNS0uNjcxLTEuNS0xLjV6bTkgLjVsLTIuNTE5IDQtMi40ODEtMS45Ni00IDUuOTZoMTRsLTUtOHptOC00djE0aC0yMHYtMTRoMjB6bTItMmgtMjR2MThoMjR2LTE4eiIvPjwvc3ZnPg==';" />