This article explains how to programmatically retrieve information from the KAKEN (Grants-in-Aid for Scientific Research) database.
1. Introduction
KAKEN is a database for Grants-in-Aid for Scientific Research provided by the National Institute of Informatics (NII). By using the OpenSearch API, you can programmatically retrieve information about research projects.
2. Preparation: Obtaining an Application ID
To use the KAKEN API, you need to obtain an Application ID from CiNii.
- Access the CiNii API Registration page
- Fill in the required information and submit your registration request
- After approval, you will receive an Application ID (appid) by email
Note: It may take some time from registration to approval.
3. API Endpoints
Search for Research Projects
Search for Researchers
4. Main Parameters (Search for Research Projects)
| Parameter | Description | Required | Example |
|---|---|---|---|
appid | Application ID | Yes | 82RKpPlZiIjbqKwFDO3D |
qb | Search by project number | * | 19K20626 |
kw | Free keyword search | * | IIIF |
qa | Search by project title | * | デジタルアーカイブ |
qg | Search by researcher name | * | 中村覚 |
qm | Search by researcher number | * | 80802743 |
format | Response format | - | xml (default: html5) |
rw | Number of items per page | - | 20, 50, 100, 200, 500 |
lang | Language | - | ja, en |
*: At least one of these is required
Other Search Parameters
| Parameter | Description |
|---|---|
qc | Search by research category |
qd | Search by review section/research field |
qe | Search by research institution |
s1, s2 | Search by grant period (From/To) |
qf | Search by keyword |
For details, please refer to the official documentation.
5. Usage Examples
Example 1: Search by Project Number
Example 2: Search by Keyword
Example 3: Search by Researcher Number
6. Response Format
When format=xml is specified, an XML response like the following is returned.
Response Example (19K20626)
7. Main Information Available
| Element | Description |
|---|---|
awardNumber | Project number |
title | Research project title |
category | Research category (Early-Career Research, Grant-in-Aid for Scientific Research, etc.) |
member | Researcher information (name, affiliation, researcher number, role) |
projectStatus | Project status (granted: ongoing, project_closed: completed) |
keywordList | Keywords |
periodOfAward | Research period |
overallAwardAmount | Budget allocation (direct costs, indirect costs, total) |
paragraphList | Research summary |
Researcher Roles (role attribute)
| Value | Description |
|---|---|
principal_investigator | Principal Investigator |
co_investigator_buntan | Co-Investigator (sharing responsibilities) |
co_investigator_renkei | Co-Investigator (collaboration) |
8. Programmatic Usage Examples
JavaScript/TypeScript (Next.js)
Python
9. Notes
- Comply with Terms of Use: Avoid making a large number of requests in a short period of time
- Use Caching: If you need to retrieve the same data repeatedly, use caching
- About Affiliation Information: The affiliation available through the API is from the time the grant was awarded. It may differ from the current affiliation
- Error Handling: Implement fallback processing for cases when the API is unavailable