ndl-books
国立国会図書館サーチ(NDL Search)の公式API(OpenSearch / SRU)で書誌を検索する。ISBN・タイトル・著者名・任意キーワードでの検索に対応し、タイトル(読み)・著者・出版社・刊行年・資料種別(紙/電子)・書誌IDを返す。APIキー・ログイン不要。図書館の蔵書・貸出状況はcalil-book…
Skill by tahodev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tahodev-ndl-books
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 3
codeload.github.com· found in install commandiss.ndl.go.jp· found in codendlsearch.ndl.go.jp· found in code
Files it touches
~/.claude/skills/ndl-books
What's inside
- Skill name
ndl-books- Description
- 国立国会図書館サーチ(NDL Search)の公式API(OpenSearch / SRU)で書誌を検索する。ISBN・タイトル・著者名・任意キーワードでの検索に対応し、タイトル(読み)・著者・出版社・刊行年・資料種別(紙/電子)・書誌IDを返す。APIキー・ログイン不要。図書館の蔵書・貸出状況はcalil-books、全文が読める青空文庫はaozora(採用予定)を使う。購入・書評・在庫(書店)は対象外。
- License
- MIT
- Metadata
- locale: ja-JP · category: books
- Instructions
- 64 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (4)
- SKILL.md
- lookup.py
- opensearch_title_yukiguni.xml · tests/fixtures/
- test_lookup.py · tests/
SKILL.md (first lines)
# ndl-books
国立国会図書館サーチの公式APIで、日本のほぼ全ての刊行物の書誌(どんな本が存在するか)を検索するスキル。APIキー・ログイン・ユーザー登録は不要。国立国会図書館はユーザー登録なしで機械可読な書誌データを公開している。
**実測日: 2026-09-29。以下のURL・構造・件数はすべて当日の実測で確認。**
蔵書(どの図書館に実物があるか・貸出中か)はカーリルAPIの `calil-books` を使う。こちらは「存在する本の書誌」専用。
## エンドポイント
| API | URL | 形式 |
| --- | --- | --- |
| OpenSearch | `https://ndlsearch.ndl.go.jp/api/opensearch` | RSS 2.0 (XML) |
| SRU | `https://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 のままのものが多い。今はリダイレクトで動くが、新しい方を直接使う。
## 使い方(ヘルパー)
```bash
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 で直接読む場合:
```bash
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 クエリで柔軟に組める。
```bash
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.From tahodev/kurashi-skill, MIT.
More from tahodev/kurashi-skill
- 0.606score
address-normalize
tahodev
デジタル庁 アドレス・ベース・レジストリ(ABR)の公式マスタ(都道府県・市区町村・町字)で日本の住所文字列を分解・正規化する。全国47都道府県・1,918市区町村・町字レコードを使い、住所から都道府県・市区町村(全国地方公共団体コード)・町字(町字ID)・番地を切り出す。表記ゆれ(漢数字/全角/半角の丁目、郡名省略…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
air-quality
tahodev
環境省の大気汚染物質広域監視システム(AEROS・そらまめくん)から、PM2.5・光化学オキシダントなどの測定値(速報値)を取得する。全国約1,600測定局の最新1時間値・測定局ごとの今日/7日分・都道府県ごとの月次履歴に対応。「今のPM2.5」「空気が悪い?」の質問に答える。APIキー・ログイン不要。確定値(過去の…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
amagumo
tahodev
気象庁の雨雲レーダー(解析雨量・降水ナウキャスト)タイルから、今の雨の強さとこの後30〜60分の見通しを調べる。今雨降ってる、雨雲、あとどれくらいで雨、降水ナウキャストの質問に対応。APIキー・ログイン不要。明日以降の天気はjma-weather、警報・地震・津波はbosai-alertを使う。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
amedas-weather
tahodev
気象庁のアメダス(地域気象観測システム)最新観測値を取得する。今の気温・湿度・風・降水量・気圧を全国約1,300観測所から調べる。「今の気温」「今の雨量」「今の風」の質問に対応。APIキー・ログイン不要。予報はjma-weather、雨雲の動きはamagumo、警報はbosai-alertを使う。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
aozora
tahodev
青空文庫の全作品カタログ(公式公開CSV)で著作権切れの文学作品を検索し、本文をプレーンテキストで取得する。タイトル部分一致・著者名・作品IDでの検索に対応し、作品ID・タイトル(読み)・著者・文字遣い種別・著作権フラグ・初出・図書カードURLを返す。APIキー・ログイン不要。書誌の網羅検索はndl-books、図書…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
bosai-typhoon
tahodev
気象庁の台風情報JSONで現在発生中の台風の有無と情報を確認する。台風、台風何号、台風接近、進路の質問に対応。APIキー・ログイン不要。地震・津波・気象警報はbosai-alert、天気予報はjma-weather、雨雲はamagumoを使う。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
egov-laws
tahodev
e-Gov法令API v2(デジタル庁・認証不要)で日本の現行法令を引く。法令名検索、条文本文の取得(第709条など枝番つきも可)、時点指定(2017-04-01以降)、改正履歴(未施行の改正を含む)、条文本文の全文キーワード検索に対応。法律の解釈・判例・法的助言は対象外。国会での発言はkokkai、書誌はndl-b…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
estat-stats
tahodev
e-Stat(政府統計の総合窓口)APIで統計表の検索・メタ情報・データ取得を行う。人口、GDP、CPI、統計、調査データに対応。無料のappId(APIキー)が必要。統計表をWebサイトで見たいだけの場合はe-Statのサイトを案内する。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
garbage-day
tahodev
5374(ゴミナシ)形式の公開データと自治体公式のオープンデータで、ごみの収集日と品目別の分別・出し方を調べる。ごみの日、収集日、燃えるごみ、資源ごみの曜日、乾電池・スプレー缶など品目ごとの分別に対応。対象外の自治体や最新ルールの確証が必要な場合は、自治体の公式案内を案内する。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
gsi-geocode
tahodev
国土地理院の公開API(認証不要)で、住所から緯度経度、緯度経度から標高、緯度経度から住所(市区町村+町丁目)を引く。住所検索は曖昧一致で件数が多く、先頭が正解とは限らない点まで扱う。地図の描画・経路・郵便番号検索は対象外(郵便番号はzipcode-lookup、住所の正規化はaddress-normalize)。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
heatstroke
tahodev
環境省 熱中症予防情報サイトの公式API v1から暑さ指数(WBGT)の予測値・実況値(推定/実測)を取得する。全国865の情報提供地点の地点マスタ(緯度経度つき)、1日3回発表の3時間ごと予測、時間単位の実況値に対応。「今日の暑さ指数」「熱中症リスクは?」の質問に答える。APIキー・ログイン不要。救急搬送統計や特別…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
kokkai
tahodev
国会会議録検索システムの公式APIで国会議事録(第1回国会1947年〜最新)を検索する。発言本文のキーワード・発言者・会議名・院・開催日・回国数での検索に対応し、発言単位/会議単位/会議一覧の3モードで返す。APIキー・ログイン不要。法律の条文そのものはegov-laws、書誌はndl-booksを使う。投票結果・議…
SkillAFreshness: A★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Oct 12, 2026 (15 days ago)
- Last release
- Oct 12, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tahodev/kurashi-skill
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tahodev
- 0.606score
amagumo
tahodev
気象庁の雨雲レーダー(解析雨量・降水ナウキャスト)タイルから、今の雨の強さとこの後30〜60分の見通しを調べる。今雨降ってる、雨雲、あとどれくらいで雨、降水ナウキャストの質問に対応。APIキー・ログイン不要。明日以降の天気はjma-weather、警報・地震・津波はbosai-alertを使う。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
aozora
tahodev
青空文庫の全作品カタログ(公式公開CSV)で著作権切れの文学作品を検索し、本文をプレーンテキストで取得する。タイトル部分一致・著者名・作品IDでの検索に対応し、作品ID・タイトル(読み)・著者・文字遣い種別・著作権フラグ・初出・図書カードURLを返す。APIキー・ログイン不要。書誌の網羅検索はndl-books、図書…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
address-normalize
tahodev
デジタル庁 アドレス・ベース・レジストリ(ABR)の公式マスタ(都道府県・市区町村・町字)で日本の住所文字列を分解・正規化する。全国47都道府県・1,918市区町村・町字レコードを使い、住所から都道府県・市区町村(全国地方公共団体コード)・町字(町字ID)・番地を切り出す。表記ゆれ(漢数字/全角/半角の丁目、郡名省略…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
air-quality
tahodev
環境省の大気汚染物質広域監視システム(AEROS・そらまめくん)から、PM2.5・光化学オキシダントなどの測定値(速報値)を取得する。全国約1,600測定局の最新1時間値・測定局ごとの今日/7日分・都道府県ごとの月次履歴に対応。「今のPM2.5」「空気が悪い?」の質問に答える。APIキー・ログイン不要。確定値(過去の…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
amedas-weather
tahodev
気象庁のアメダス(地域気象観測システム)最新観測値を取得する。今の気温・湿度・風・降水量・気圧を全国約1,300観測所から調べる。「今の気温」「今の雨量」「今の風」の質問に対応。APIキー・ログイン不要。予報はjma-weather、雨雲の動きはamagumo、警報はbosai-alertを使う。
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
bosai-typhoon
tahodev
気象庁の台風情報JSONで現在発生中の台風の有無と情報を確認する。台風、台風何号、台風接近、進路の質問に対応。APIキー・ログイン不要。地震・津波・気象警報はbosai-alert、天気予報はjma-weather、雨雲はamagumoを使う。
SkillAFreshness: A★ 4Claude Code +9
Cite this page
ndl-books skill. Agent Mart. https://agentmart.dev/skills/tahodev-ndl-books (last updated 2026-10-24)