Skip to content
cccskills
FreePublished on GitHub

ndl-books

国立国会図書館サーチ(NDL Search)の公式API(OpenSearch / SRU)で書誌を検索する。ISBN・タイトル・著者名・任意キーワードでの検索に対応し、タイトル(読み)・著者・出版社・刊行年・資料種別(紙/電子)・書誌IDを返す。APIキー・ログイン不要。

図書館の蔵書・貸出状況はcalil-books、全文が読める青空文庫はaozora(採用予定)を使う。購入・書評・在庫(書店)は対象外。

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md5.1 KB
  • lookup.py4.6 KB
  • tests/fixtures/opensearch_title_yukiguni.xml5.4 KB
  • tests/test_lookup.py1.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

ndl-books

国立国会図書館サーチの公式APIで、日本のほぼ全ての刊行物の書誌(どんな本が存在するか)を検索するスキル。APIキー・ログイン・ユーザー登録は不要。国立国会図書館はユーザー登録なしで機械可読な書誌データを公開している。

実測日: 2026-09-29。以下のURL・構造・件数はすべて当日の実測で確認。

蔵書(どの図書館に実物があるか・貸出中か)はカーリルAPIの calil-books を使う。こちらは「存在する本の書誌」専用。

エンドポイント

APIURL形式
OpenSearchhttps://ndlsearch.ndl.go.jp/api/opensearchRSS 2.0 (XML)
SRUhttps://ndlsearch.ndl.go.jp/api/sru (operation=searchRetrieve)SRU (XML)

旧ホスト iss.ndl.go.jp は 303 で ndlsearch.ndl.go.jp にリダイレクトされる(2026-09-29実測)。古い手順記事は iss.ndl.go.jp のままのものが多い。今はリダイレクトで動くが、新しい方を直接使う。

使い方(ヘルパー)

python3 ndl-books/lookup.py --isbn 9784101010014
python3 ndl-books/lookup.py --title 雪国 --mediatype books --cnt 5
python3 ndl-books/lookup.py --creator 夏目漱石
python3 ndl-books/lookup.py --keyword 東京 防災

JSONで {total, count, items[]} を返す。items の各要素は title / title_yomi(タイトル読み) / creator / creator_yomi / publisher / date / isbn / bib_id(国立国会図書館書誌ID) / material(紙・電子など) / link(NDL Searchの書誌ページ)。

curl で直接読む場合:

curl -s "https://ndlsearch.ndl.go.jp/api/opensearch?isbn=9784101010014"

実測で確認した罠

  1. タイトル検索は部分一致。 title=雪国 は 2026-09-29 実測で 7,719件。「ああ、大ゼキよ : 雪国」のような本も混ざる。mediatype=books を付けると 1,767件に絞れる。件数を見てから cnt と idx でページングする。
  2. 1つのISBNに複数レコードが返る。 9784101010014 (吾輩は猫である) は4件(2026-09-29実測)。紙・電子・改版など別レコードとして存在する。material(紙/電子)と date を見て選ぶ。
  3. ページングの既定は200件。 cnt を省略すると itemsPerPage=200 で返る(指定は1〜200)。大きなXMLを黙って受け取らないよう、必要なら cnt を小さく指定する。
  4. 著者名は「姓, 名」形式。 夏目, 漱石 のように姓と名の間がカンマ+空白。読みは creatorTranscription (ナツメ, ソウセキ) に入る。
  5. ISBNはハイフンなしで渡す。 ヘルパーはハイフンを除去するが、直接叩くときは 9784101010014 のように13桁(または10桁)の連続数字。
  6. 応答の pubDate は刊行日ではない。 item の pubDate はレコードの更新日時。刊行年は dc:date / dcterms:issued を見る。

SRU を使う場面

OpenSearch はパラメータ直指定(isbn/title/creator/any)だが、SRU は CQL クエリで柔軟に組める。

curl -s 'https://ndlsearch.ndl.go.jp/api/sru?operation=searchRetrieve&query=isbn%3D%229784101010014%22&maximumRecords=2'

numberOfRecords が件数。OpenSearchと同じ4件が返ることを2026-09-29に実測。複雑な条件(資料種別・年代の組合せ)が必要なときだけこちら。

失敗時の対応

  • 空の応答(0件): キーワードの表記(漢字/かな/カナ)を変えて再試行。書誌は存在するのに表記ゆれで0件になることがある。ISBNなら10桁↔13桁を両方試す。
  • 接続エラー・5xx: NDL Search のメンテナンス(毎週火曜夜間の予定メンテあり)の可能性。時間を置いて再試行。旧ホスト iss.ndl.go.jp 経由で叩いている場合は新ホストに切り替える。
  • XMLのパース失敗: & を含むタイトルを手でURLに埋め込むとクエリが壊れる。必ずURLエンコードする(ヘルパーは自動で行う)。

English summary

Searches the National Diet Library (NDL) Search API for bibliographic records of Japanese publications — no API key or login. Supports ISBN, title (partial match), creator, and free-keyword queries via the OpenSearch endpoint (RSS/XML), with SRU/CQL available for complex queries. Returns title (with kana reading), author, publisher, year, ISBN, NDL bib ID, material type (paper/electronic), and a link to the record. For library holdings and availability, use calil-books instead. Measured against the live API on 2026-09-29.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

デジタル庁 アドレス・ベース・レジストリ(ABR)の公式マスタ(都道府県・市区町村・町字)で日本の住所文字列を分解・正規化する。全国47都道府県・1,918市区町村・町字レコードを使い、住所から都道府県・市区町村(全国地方公共団体コード)・町字(町字ID)・番地を切り出す。表記ゆれ(漢数字/全角/半角の丁目、郡名省略、都道府県名省略)を吸収。APIキー・ログイン不要。住居表示の番地・号の正規化やジオコーディング(緯度経度)は対象外。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

環境省の大気汚染物質広域監視システム(AEROS・そらまめくん)から、PM2.5・光化学オキシダントなどの測定値(速報値)を取得する。全国約1,600測定局の最新1時間値・測定局ごとの今日/7日分・都道府県ごとの月次履歴に対応。「今のPM2.5」「空気が悪い?」の質問に答える。APIキー・ログイン不要。確定値(過去の公式統計)は対象外。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

気象庁の雨雲レーダー(解析雨量・降水ナウキャスト)タイルから、今の雨の強さとこの後30〜60分の見通しを調べる。今雨降ってる、雨雲、あとどれくらいで雨、降水ナウキャストの質問に対応。APIキー・ログイン不要。明日以降の天気はjma-weather、警報・地震・津波はbosai-alertを使う。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

気象庁のアメダス(地域気象観測システム)最新観測値を取得する。今の気温・湿度・風・降水量・気圧を全国約1,300観測所から調べる。「今の気温」「今の雨量」「今の風」の質問に対応。APIキー・ログイン不要。予報はjma-weather、雨雲の動きはamagumo、警報はbosai-alertを使う。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

aozora

Free

青空文庫の全作品カタログ(公式公開CSV)で著作権切れの文学作品を検索し、本文をプレーンテキストで取得する。タイトル部分一致・著者名・作品IDでの検索に対応し、作品ID・タイトル(読み)・著者・文字遣い種別・著作権フラグ・初出・図書カードURLを返す。APIキー・ログイン不要。書誌の網羅検索はndl-books、図書館の蔵書はcalil-booksを使う。現行の書籍の購入・在庫は対象外。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

気象庁の防災情報(地震速報・震度詳細、気象警報・注意報、津波情報)を公開JSONから取得する。地震、震度、警報、注意報、津波の確認に対応。APIキー・ログイン不要。ふだんの天気予報は対象外(jma-weatherを使う)。

The English summary is being prepared. Showing the original description.

tahodev/kurashi-skill4Updated Oct 21, 2026

See all skills by tahodev

Report a problem with this skill