メインページ > 国立国会図書館サーチについて > 国立国会図書館サーチが提供する書影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-9999-9999-6 の資料の書影を取得するためのURLは
http://iss.ndl.go.jp/thumbnail/9784999999996
となります。
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/9784999999996"/>
ただし、書影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/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAgMAAACcbnALAAAABGdBTUEAALGPC/xhBQAAAAxQTFRF0tLSpKSk/v7+////E4mO0wAAANlJREFUGNN90CEOwkAQBdA1NRhMl0OA4AgNaWoQlJadkkBCLeESqN6DChIYh0CjOEIPgEVRgSBpKX9aKmHUy2b+7O6oqi31S4/4q0LPGr0tMo0S6mS1buTy3oEKmjKnPlQaZj4uRRHE8/aMbRGJEgfyNtB5CwVjicSYEqygwwyT7VAaIyizRRl01fc6rKqn12e5T1WvkYyxYlUVwYL5REO8zyCsSV5q9zgxkkD4QJMECYSt6Y66UO7RQIfSVwZhSk79S1prt/m59sylUUb+dxvXsN1Q7vzdX10f1xHrcF96SwcAAAAASUVORK5CYII=';" />