CiNii Research APIで論文・研究データを横断検索する

執筆:NextLogic元SE・IT実務15年/政府オープンデータ・各府省APIを自ら検証) / 最終更新:2026-07-15

CiNii Research(国立情報学研究所)は、論文・図書・博士論文に加えて、KAKEN(科研費)の研究課題や機関リポジトリの研究データまでを横断して検索できる、日本の学術情報のハブです。2022年にCiNii Articlesが統合され、国内の論文検索はここに一本化されました。OpenSearch形式のAPIが公開されていて、キーワードから書誌情報を引けます。ただし返ってくるのは素直なJSONではなくJSON-LDで、しかもフィールドの有無がレコードごとに違うという癖があります。このガイドでは、実際に叩いて確認した仕様と注意点を整理します。

CiNii Researchで検索できるもの

検索対象は種別ごとに分かれており、articles(論文)、books(図書)、dissertations(博士論文)、projects(KAKEN研究課題)、data(研究データ)などがあります。用途に応じてエンドポイントを使い分ける形です。

収録規模は、書誌が1,000万件超、論文が900万件超とされています(NIIの発表による概数で、現在の正確な値は未確認です)。2022年4月にCiNii ArticlesがCiNii Researchへ統合され、論文検索の窓口はCiNii Researchに一本化されました。古い記事がCiNii Articlesを前提に書かれていることがあるので注意してください。

実際に叩いてみると、「機械学習」で16,527件、「量子コンピュータ」で1,960件がヒットしました(2026年7月時点)。

APIの叩き方

論文検索のエンドポイントは `https://cir.nii.ac.jp/opensearch/articles` です。`q` に検索語、`format=json` でJSON形式を指定し、`count` で件数を指定します。count は1〜200の範囲で、デフォルトは20です。

ページングは `start`(取得開始位置)で行い、公式仕様では最大10000まで指定できます。count の上限が200なので、それより多く集めたい場合は start を進めながら繰り返すことになります。

0件だったかどうかは、HTTPステータスでは判別できません。正常応答が返り、本文の `opensearch:totalResults` が 0、`items` が空配列になります。件数判定は必ず本文を見てください。

appidは「必須」と書かれているが、実際には無くても通る

公式のAPI仕様書には、アプリケーションID(appid)が「必須です」と明記されています。ところが実際に appid を付けずに叩いたところ、エラーにならず、16,527件のヒットを含む正常なレスポンスが返ってきました。ドキュメントの記述と実運用が食い違っている状態です。

ただしこれを「appidは不要」と受け取るのは危険です。低頻度のアクセスだから黙認されているだけで、高頻度の利用や商用利用では制限される可能性があります(この理由の部分は推測です)。継続的に使うサービスを作るなら、素直にappidを取得して付けておくほうが安全でしょう。

レート制限の具体的な数値や、商用利用の可否といった利用条件については、公式ドキュメント上に明記が見当たりませんでした。大量取得を計画しているなら、事前に問い合わせておくのが確実です。

返ってくるのはJSON-LD(フィールドが一定しない)

`format=json` を指定しても、返るのは素朴なJSONではなくJSON-LDです。RSS 1.0・Dublin Core・PRISM といった語彙をJSON-LDで表現した形になっており、キーにコロンが含まれます。件数は `opensearch:totalResults` / `opensearch:startIndex` / `opensearch:itemsPerPage`、本体は `items` 配列で、各要素に `dc:creator`(著者)、`dc:publisher`(出版者)、`prism:publicationName`(掲載誌名)などが入ります。コロン付きのキーは、多くの言語でドット記法では読めないので、文字列キーとしてアクセスする必要があります。

そして最大の注意点が、**フィールドの有無がレコードごとに違う**ことです。実測では、`title` キー自体が存在しないアイテムがありました。`dc:creator` が無いアイテムもあります。`item.title` に決め打ちでアクセスするコードは、あっさり undefined になります。

識別子(`dc:identifier`)はさらに厄介で、レコードごとに構造が違います。NAIDだけのもの、NDL_BIB_ID と URI と NAID が並ぶもの、DOIだけのもの、といった具合です。DOIが取れるのは比較的新しい論文が中心で、全件に付いているわけではありません。「DOIをキーに他のデータベースと突き合わせる」という設計をするなら、DOIが無いレコードが相当数あることを前提にしてください。

J-STAGEとの使い分け

CiNii Research は全分野を横断し、論文・図書・博士論文・KAKEN研究課題・研究データまでを統合して検索できる「広く」型です。「この研究テーマで何が行われてきたか」を面で押さえたいときに向いています。

一方 J-STAGE は、学協会が発行するジャーナルに収録範囲が限られる代わりに、本文へのリンクとDOIに直結する「深く」型です。特定の論文の全文にたどり着きたいならJ-STAGEが早い、という住み分けになります。両方を叩いて突き合わせると、CiNiiで見つけた論文の全文がJ-STAGEにある、といった導線が作れます。

実際に叩いてみる(CiNii Research・登録不要)

CiNii Research の OpenSearch は登録不要(appid無しでも実測では通る)で、論文・図書・博士論文・研究課題を横断検索できます。format=json を付けると JSON-LD(@context 付き)で返り、フィールドが資料種別ごとに一定しない点に注意します。

論文検索(JSON-LD・2026-07-18 実取得)
curl -s "https://cir.nii.ac.jp/opensearch/articles?q=AI&count=1&format=json"

# 実際のレスポンス(抜粋・JSON-LD)
{
  "@context": { "@vocab": "http://purl.org/rss/1.0/", "dc": "http://purl.org/dc/elements/1.1/", ... },
  "@graph": [{
    "items": [ { "title": "…", "dc:creator": "…", "prism:publicationName": "…" } ]
  }]
}

出典

この記事を書いた人
NextLogicCiviNavi 主筆

元システムエンジニア。Web系アプリ開発6年+ソリューション9年、IT実務およそ15年。個人開発者として、政府オープンデータや各府省のAPIを実際に叩いて検証し、「何が取れるか」「実装時にどこで詰まるか」「どう活用するか」を一次検証にもとづいて記録しています。

運営者・検証方針について →
自分のAIに接続する →83ツールを見る

ほかのガイド

e-Stat APIで何が取れるか早わかり日本政府のオープンデータAPIの始め方RESAS廃止後の代替データAPI気象庁の天気予報・地震情報をAPIで取得する法令を全文検索・取得する(e-Gov法令API)住所を緯度経度に変換する(国土地理院ジオコーディング)日本銀行の時系列統計(為替・金利・マネー)を取得する国会の会議録・発言を検索・取得する(国会会議録API)法人番号・gBizINFO・EDINETで企業情報を調べる地震ハザード・地質・地震/津波をAPIで調べる不動産の取引価格・地価をAPIで調べるEDINET APIで何が取れるか早わかりJ-STAGE APIで論文を検索するPLATEAU 3D都市モデルをAPIで探すjGrants APIで補助金・助成金を検索する雇用・賃金の統計をAPIで取るシームレス地質図APIで地点の地質を調べるそらまめくんAPIで大気汚染データを取る国立国会図書館サーチAPIで書誌を検索するJAXAの衛星データをAPIで探す(STAC)ジャパンサーチ・IRDB・researchmap をAPIで使い分けるパブリックコメントをRSSで自動監視する外務省の海外安全情報をAPIで取るミラサポplus APIで中小企業の支援事例を探す
← ガイド一覧