API
国別のニュースAPIで見出しを取得する方法
国とセクションを指定して見出し、記事URL、画像、要約を取得します。RapidAPIまたはJoJ APIでNeper News APIを購読します。

このガイドで分かること
国とセクションを指定して見出し、記事URL、画像、要約を取得します。RapidAPIまたはJoJ APIでNeper News APIを購読します。
- リクエスト: country と section
- レスポンスの形
- RapidAPI
- JoJ API
- エラー
- マーケットの選び方
Neperは国とセクション単位でニュースを集めます。同じデータは Neper News API としても公開されており、各ソースを自分でスクレイピングしなくても見出し・記事URL・画像・要約をアプリに入れられます。
エンドポイントは /queryNews ひとつです。下のどちらのマーケットから呼んでもリクエスト形は同じで、変わるのはホストと認証ヘッダーだけです。
Neperガイド一覧では、現在のAPIガイドと今後追加されるNeperのドキュメントをまとめて確認できます。
すでに使っているマーケットで購読し、そのキーで
/queryNewsを呼び出します。
1. リクエスト: country と section
GET と POST の両方が使えます。
- country(必須):
en,ko,au,nz,it,ja,gb,fr,de,in - section(任意): 省略するとその国の全セクションを受け取ります
よく使うセクションは top, BUSINESS, ENTERTAINMENT, SPORTS, WORLD, HEALTH です。
科学・技術のセクション id は国ごとに違います。
it,ko,ja,fr,de→SCITECHen,au,nz,gb,in→SCIENCEまたはTECHNOLOGY
TOP は top として扱われます。GET では BUSINESS,SPORTS のようにカンマ区切り、POST では文字列・カンマ区切り・JSON 配列が使えます。
例:
GET /queryNews?country=en
GET /queryNews?country=ko§ion=top
GET /queryNews?country=ko§ion=SCITECH
{ "country": "gb", "section": ["SPORTS", "BUSINESS"] }
ニュース文書はおおよそ5分ごとに更新されます。updatedAt はミリ秒の Unix 時刻です。
2. レスポンスの形
成功時は次のような形です。
{
"status": "success",
"message": "Request successful",
"data": {
"country": "ko",
"sections": ["top"],
"count": 1,
"items": [
{
"docId": "kotop",
"code": "ko",
"id": "top",
"updatedAt": 1757116800000,
"news": [
{
"title": { "_text": "Headline" },
"link": { "_text": "https://news.google.com/rss" },
"url": "https://example.com/article",
"img": "https://example.com/image.jpg",
"content": "Article body",
"summary": "One-sentence summary",
"section": "top"
}
]
}
]
}
}
見落としやすい点です。
sectionを省略するとdata.sectionsは空配列で、その国の全セクションが返ります。titleとlinkは_textを持つオブジェクトのことがあります。表示前に_textを読んでください。- 記事には
descriptionやfaviconUrlも含まれることがあります。 - AI
summaryが入るのはde,en,koです。他の国は空文字です。対応国でも、元記事の本文が取れないとsummaryは空のままです。
3. RapidAPI
- RapidAPI のページでプランを購読します。
- ダッシュボードで RapidAPI キーをコピーします。
- RapidAPI ホストへ呼び出します。キーはヘッダーだけに置き、URL や JSON body には入れません。
https://neper-news-api.p.rapidapi.com
X-RapidAPI-Key: <YOUR_KEY>
X-RapidAPI-Host: neper-news-api.p.rapidapi.com
curl -G 'https://neper-news-api.p.rapidapi.com/queryNews' \
--data-urlencode 'country=ko' \
--data-urlencode 'section=top' \
-H 'X-RapidAPI-Key: <YOUR_KEY>' \
-H 'X-RapidAPI-Host: neper-news-api.p.rapidapi.com'
import axios from 'axios'
const res = await axios.get('https://neper-news-api.p.rapidapi.com/queryNews', {
params: { country: 'ko', section: 'top' },
headers: {
'X-RapidAPI-Key': '<YOUR_KEY>',
'X-RapidAPI-Host': 'neper-news-api.p.rapidapi.com'
}
})
console.log(res.data)
const res = await axios.post(
'https://neper-news-api.p.rapidapi.com/queryNews',
{ country: 'en', section: ['top', 'BUSINESS'] },
{
headers: {
'X-RapidAPI-Key': '<YOUR_KEY>',
'X-RapidAPI-Host': 'neper-news-api.p.rapidapi.com'
}
}
)
4. JoJ API
- JoJ API のページでプランを購読します。
- JoJ API キーを作成またはコピーします。
- この API 用の JoJ ホストへ呼び出します。ゲートウェイがキーを確認してから取り除き、リクエストを転送します。
https://neper-news-api.jojapi.net
基本のヘッダー:
X-JoJAPI-Key: <YOUR_KEY>
次も使えます。
Authorization: Bearer <YOUR_KEY>
Authorization: <YOUR_KEY>
curl -G 'https://neper-news-api.jojapi.net/queryNews' \
--data-urlencode 'country=ko' \
--data-urlencode 'section=top' \
-H 'X-JoJAPI-Key: <YOUR_KEY>'
import axios from 'axios'
const res = await axios.get('https://neper-news-api.jojapi.net/queryNews', {
params: { country: 'ko', section: 'top' },
headers: {
'X-JoJAPI-Key': '<YOUR_KEY>'
}
})
console.log(res.data)
const res = await axios.post(
'https://neper-news-api.jojapi.net/queryNews',
{ country: 'en', section: ['top', 'BUSINESS'] },
{
headers: {
'X-JoJAPI-Key': '<YOUR_KEY>'
}
}
)
JoJ API では Request API の使用量で課金されます。成功した呼び出し1回が1単位です。section を省略して全セクションを受け取っても同じです。月次クォータとレート制限は料金ページを確認してください。HTTP 5xx とゲートウェイ生成のエラーはクォータを消費しません。
5. エラー
| ステータス | よくある意味 |
|---|---|
| 400 | country / section が無いか不正。errorCode は INVALID_REQUEST、許可値は message にあります。 |
| 401 | キーが無い・無効、または有効な購読が無い |
| 402 | JoJ API の課金: クォータ切れ、プラン対象外、残高不足 |
| 429 | レート制限またはクォータ超過 |
| 5xx | 一時的なサーバー障害 |
JoJ API でゲートウェイが作った応答には X-Jojapi-Gateway-Response: true が付きます。
400 になりやすいのは科学セクション id の取り違えです。ko では SCIENCE ではなく SCITECH、en では SCITECH ではなく SCIENCE か TECHNOLOGY を使います。
6. マーケットの選び方
どちらも /queryNews の動きは同じです。すでに RapidAPI でキーと課金を管理しているなら RapidAPI、複数のマーケット API を1つの JoJ キーとウォレットで使いたいなら JoJ API を選べば足ります。
キーはソースに置かないでください。JoJ で Neper だけ使うなら、キーの範囲をこの API に制限した方が安全です。
別の地域が必要な場合や連携で詰まったときは [email protected] まで。