1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

国会で「宮沢賢治」は69回言及されていた。議事録79年分を検索できるAPI【kurashi-skill Day 25】

1
Posted at

「国会で何が決まったの?」と思ったとき、僕たちはだいたいニュースを読む。でも一次情報はもっと簡単に手に入る。国会の議事録は、1947年の第1回国会からぜんぶ、国立国会図書館のAPIで検索できる。APIキーもログインもいらない。本会議も委員会も、誰のどの発言でも。しかも宮沢賢治は、国会で69回も言及されていた(発言本文検索、2026-10-05実測)。

起: 60万件の発言が、1回のリクエストで

試しに「国会」という単語で発言を検索したら、608,506件ヒットした。国会は自分のことをよく話す。「憲法」は184,094件、「消費税」は62,552件(うち参議院は26,932件)。検索対象は第1回国会(1947年)からの全会議録で、本会議だけでも8,886会議ある。各発言にはspeechIDが付いていて、121704080X00920250411_169 のように回次と日付が埋まっている。発言への一意の参照が、最初から用意されているのだ。

承: エンドポイントは3つ、使い分けが本質

APIには「発言単位」「会議単位」「会議一覧」の3つの入口がある。発言単位(speech)はヒットした発言の本文だけを最大100件。会議単位(meeting)は会議の全発言をまるごと、ただし最大10会議。会議一覧(meeting_list)は発言本文なしで軽い。知りたいことが「誰が何を言ったか」ならspeech、「あの日の委員会の流れ」ならmeeting、「何回開かれたか」ならmeeting_list。ひとつだけ注意で、既定の返却形式はXML。JSONが欲しければ recordPacking=json を必ず付ける。忘れると静かにXMLが返ってくる。

転: 罠は、親切な顔をして待っていた

ひとつめ。最大件数がエンドポイントで違う。speechとlistは100まで、meetingは10まで。101を指定すると即座にHTTP 400。ただしエラーの中身が親切で、「maximumRecordsには1~100の値を指定してください」と日本語で返ってくる。公共APIのエラーメッセージとしては模範生だ。

ふたつめ。キーワードのスペースの意味が、パラメータで逆になる。発言本文の any=北海道 青森 はAND(両方を含む発言、実測3,867件)なのに、会議名の nameOfMeeting=文部 文教 はOR。同じAPIの中でルールが違う。みっつめ。any が見るのは発言本文だけ。発言者は speaker、会議名は nameOfMeeting と別パラメータだ。speaker=山田 は部分一致で50,286件も返ってきた。フルネームで渡そう。

そして一番大事な罠。収録には1か月以上のラグがある。実測日(10/5)時点で最新の発言は8月26日、最新の本会議は7月24日だった。「昨日の国会で何が言われたか」は、まだAPIにはない。載っていないのは仕様である。

結: 一次情報は、思っているより近い

  1. 議事録はAPIで直に取れる。 1947年から全部、キーなしで。ニュースの要約を待たなくていい。

  2. AND/ORのルールはAPIごとに違う。 ドキュメントを読むか、小さく実測する。今回は同じAPIの中ですら逆だった。

  3. 「まだ載ってない」は時点つきで答える。 1か月以上の収録ラグ。エージェントは「2026年8月26日時点の収録では」と言ってから話す。

スキル名はkokkai。発言検索・会議取得・一覧の3モードを1本のlookup.pyにまとめた。kurashi-skillは公開開発中。リポジトリはここ → https://github.com/tahodev/kurashi-skill

ちなみに賢治への言及の中身は、「銀河鉄道の夜」と「雨ニモマケズ」と、岩手の誇りだった。国会は意外と文学を読んでいる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?