科研費データベース(KAKEN)の情報をプログラムから取得する方法を解説します。
1. はじめに#
KAKENは、国立情報学研究所(NII)が提供する科学研究費助成事業データベースです。OpenSearch APIを利用することで、研究課題の情報をプログラムから取得できます。
2. 事前準備:アプリケーションIDの取得#
KAKEN APIを利用するには、CiNiiでアプリケーションIDを取得する必要があります。
- CiNii API利用登録にアクセス
- 必要事項を入力して登録申請
- 承認後、メールでApplication ID(appid)が届く
注意 : 登録から承認まで時間がかかる場合があります。
3. APIエンドポイント#
研究課題をさがす#
研究者をさがす#
4. 主要パラメータ(研究課題をさがす)#
| パラメータ | 説明 | 必須 | 例 |
|---|
appid | アプリケーションID | ○ | 82RKpPlZiIjbqKwFDO3D |
qb | 研究課題番号で検索 | △ | 19K20626 |
kw | フリーワード検索 | △ | IIIF |
qa | 研究課題名で検索 | △ | デジタルアーカイブ |
qg | 研究者の姓名で検索 | △ | 中村覚 |
qm | 研究者番号で検索 | △ | 80802743 |
format | レスポンス形式 | - | xml(デフォルト: html5) |
rw | 1ページの件数 | - | 20, 50, 100, 200, 500 |
lang | 言語 | - | ja, en |
△: いずれか1つ以上が必要
その他の検索パラメータ#
| パラメータ | 説明 |
|---|
qc | 研究種目で検索 |
qd | 審査区分/研究分野で検索 |
qe | 研究機関で検索 |
s1, s2 | 助成期間(From/To)で検索 |
qf | キーワードで検索 |
詳細は公式ドキュメントを参照してください。
5. 使用例#
例1: 課題番号で検索#
例2: キーワードで検索#
例3: 研究者番号で検索#
6. レスポンス形式#
format=xmlを指定した場合、以下のようなXMLが返されます。
レスポンス例(19K20626)#
7. 取得できる主な情報#
| 要素 | 説明 |
|---|
awardNumber | 課題番号 |
title | 研究課題名 |
category | 研究種目(若手研究、基盤研究など) |
member | 研究者情報(氏名、所属、研究者番号、役割) |
projectStatus | 研究状態(granted: 実施中、project_closed: 完了) |
keywordList | キーワード |
periodOfAward | 研究期間 |
overallAwardAmount | 配分額(直接経費、間接経費、合計) |
paragraphList | 研究概要 |
研究者の役割(role属性)#
| 値 | 説明 |
|---|
principal_investigator | 研究代表者 |
co_investigator_buntan | 研究分担者 |
co_investigator_renkei | 連携研究者 |
8. プログラムからの利用例#
JavaScript/TypeScript(Next.js)#
Python#
9. 注意事項#
- 利用規約の遵守 : 短時間に大量のアクセスは避けてください
- キャッシュの活用 : 同じデータを繰り返し取得する場合はキャッシュを利用しましょう
- 所属情報について : APIで取得できる所属は「採択時点」のものです。現在の所属とは異なる場合があります
- エラーハンドリング : APIが利用できない場合のフォールバック処理を実装しましょう
10. 参考リンク#