API
依國家與分類取得新聞標題的 API 使用方法
依國家與新聞分類查詢標題、文章連結、圖片及摘要,並了解如何透過 RapidAPI 或 JoJ API 訂閱 Neper News API。

指南內容
依國家與新聞分類查詢標題、文章連結、圖片及摘要,並了解如何透過 RapidAPI 或 JoJ API 訂閱 Neper News API。
- 請求:國家與分類
- 回應格式
- RapidAPI
- JoJ API
- 錯誤代碼
- 選擇 API 市集
Neper 依國家和新聞分類整理新聞,也提供 Neper News API,讓應用程式直接取得新聞標題、文章連結、圖片和摘要,不必自行逐一擷取新聞來源。
API 只有一個端點:/queryNews。可透過以下任一 API 市集呼叫。請求格式相同,只有主機網址和驗證標頭不同。
Neper 使用指南會集中整理目前的 API 說明及日後新增的 Neper 文件。
在慣用的 API 市集訂閱後,使用該市集提供的金鑰呼叫
/queryNews。
1. 請求:國家與分類
GET 和 POST 都可以使用。
- country(必填):
en、ko、au、nz、it、ja、gb、fr、de或in - section(選填):省略時會取得該國家的所有分類
常用分類值包括:top、BUSINESS、ENTERTAINMENT、SPORTS、WORLD、HEALTH。
科技與科學分類依國家使用不同代碼:
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"] }
新聞資料約每五分鐘更新一次。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。其他國家會回傳空字串;即使是支援的國家,來源文章沒有可用內文時也可能沒有摘要。
3. RapidAPI
- 前往 RapidAPI 頁面並訂閱方案。
- 從控制台複製 RapidAPI 金鑰。
- 呼叫 RapidAPI 主機。請只將金鑰放在標頭中,不要放進網址或 JSON 主體。
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 物件。每次成功呼叫計為一個單位;即使省略 section 並取得所有分類,也只計一次。每月精確額度和速率限制請查看 API 頁面的價格說明。HTTP 5xx 回應和閘道產生的錯誤不會扣除額度。
5. 錯誤代碼
| 狀態碼 | 常見原因 |
|---|---|
| 400 | country 或 section 遺漏或無效。errorCode 為 INVALID_REQUEST,允許值會列在 message 中。 |
| 401 | 金鑰遺漏或無效,或訂閱尚未生效 |
| 402 | JoJ API 計費問題:額度用完、方案不包含此物件,或錢包餘額不足 |
| 429 | 超過速率限制或使用額度 |
| 5xx | 暫時性伺服器問題 |
由 JoJ API 閘道產生的回應會包含 X-Jojapi-Gateway-Response: true。
常見的 400 原因是混用科技分類代碼:ko 請用 SCITECH,不要用 SCIENCE;en 請用 SCIENCE 或 TECHNOLOGY,不要用 SCITECH。
6. 選擇 API 市集
/queryNews 在兩個市集上的行為相同。如果金鑰和付款已經在 RapidAPI,繼續使用 RapidAPI 即可。若想透過一組 JoJ 金鑰和錢包使用多個市集 API,則可選擇 JoJ API。
請將金鑰存放在原始碼管理範圍之外。如果 JoJ API 金鑰只需呼叫 Neper,請將金鑰權限限制在這個 API。
需要其他地區的新聞,或整合時遇到問題嗎?請聯絡 [email protected]。