国立国会図書館サーチが提供する書影API
国立国会図書館サーチでは、図書館の蔵書検索システム(OPAC)等でご活用いただけるよう書影APIを提供しています。 書影APIで取得可能な書影は、次に示すデータプロバイダから提供されたものです。 ※出版情報登録センター(JPRO)から提供されたメタデータについては発売予定日から60日経過した時点で国立国会図書館サーチから削除されますが、書影についてはメタデータの削除に関わらず提供を継続します。ただし、出版取消等の事情で当該書影の提供を停止する場合があります。また、提供される書影は、最終刊行版とは異なる場合があります。 書影APIで取得可能な書影は、定期的に上記データプロバイダから提供を受け更新されます。書影APIから出力される書影については、変更・提供中止となる場合がありますのでご注意ください。 書影APIの利用にあたってはあらかじめ以下をご確認ください。
1. 書影APIについて
1-1. 概要
書影APIは図書のISBNまたはJP-eコードを引数としてリクエストすることで、書影画像を返戻するAPIです。
※国立国会図書館サーチでは、資料がJP-eコードを持つ場合、書誌詳細画面の注記に「JP-e コード:」という接頭辞とともに表示しています。1-2. データプロバイダ
下記の3つのデータプロバイダのデータは、いずれも出版書誌情報データベース(Books)から検索することができます。
1-3. 更新
書影画像を蔵書検索システム等にキャッシュする場合は、定期的に書影APIから書影を取得しなおすことをおすすめします。1-4. ご利用にあたって
2. リクエスト方法
書影画像を取得するためには以下のURLに対しHTTP GETリクエストを送信します。https://iss.ndl.go.jp/thumbnail/[isbn又はJP-eコード]
ここで[isbn又はJP-eコード]は、書影画像を取得したい図書のISBNを13桁かつハイフン区切りなしで指定したもの、もしくはJP-eコードを20桁かつ区切りなしで指定したものです。例えばISBNが 978-4-422-31107-4 の資料の書影を取得するためのURLは
https://iss.ndl.go.jp/thumbnail/9784422311074
となり、JP-eコードが 0621849700100011000D の資料の書影を取得するためのURLは
https://iss.ndl.go.jp/thumbnail/0621849700100011000D
となります。1度のリクエストで指定可能なISBN/JP-eコードは1件となります。(複数のISBN/JP-eコードを指定するようなリクエストにはエラーが返戻されます。)
3. 返戻形式
国立国会図書館サーチが公開対象の書影を保持しているISBN/JP-eコードが指定された場合はその画像(JPEG形式)を返戻します。国立国会図書館サーチが公開対象の書影を保持していない場合(存在していないISBN/JP-eコードを指定した場合、ISBN/JP-eコードの形式が不正な場合や未指定の場合を含みます)は、エラーとしてHTTPステータスコード「404 not found」を返します。
書影APIへのアクセスが集中し結果を正常に返戻できない場合は、HTTPステータスコード「503 Service Unavailable」を返します。
4. 使用例
例えば、ウェブページ上で書影表示などに本APIを使用することができます。その場合、HTMLのimgタグのsrcに本APIのURLを指定することで、書影を表示することが考えられます。
<img src="https://iss.ndl.go.jp/thumbnail/9784422311074"/>
ただし、書影APIは上述の通りHTTPステータスコード404または503を返す場合があります。その場合のハンドリングのために、たとえばonerrorイベントハンドラを使用することが考えられます。- 画像取得失敗時にimg要素を非表示とする場合の例
<img src="https://iss.ndl.go.jp/thumbnail/9784999999996" onerror="this.style.display='none'"/>
- 画像取得失敗時に代替画像を表示する場合の例
(data URI schemeを使用して画像を出力しています)
<img src="https://iss.ndl.go.jp/thumbnail/9784999999996" onerror="this.onerror=null;this.src='data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNSA4LjVjMC0uODI4LjY3Mi0xLjUgMS41LTEuNXMxLjUuNjcyIDEuNSAxLjVjMCAuODI5LS42NzIgMS41LTEuNSAxLjVzLTEuNS0uNjcxLTEuNS0xLjV6bTkgLjVsLTIuNTE5IDQtMi40ODEtMS45Ni00IDUuOTZoMTRsLTUtOHptOC00djE0aC0yMHYtMTRoMjB6bTItMmgtMjR2MThoMjR2LTE4eiIvPjwvc3ZnPg==';" />