← Neper
ガイド

API

国別のニュースAPIで見出しを取得する方法

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

国別のニュースAPIで見出しを取得する方法 — Neper
要点

このガイドで分かること

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

  • リクエスト: country と section
  • レスポンスの形
  • RapidAPI
  • JoJ API
  • エラー
  • マーケットの選び方

Neperは国とセクション単位でニュースを集めます。同じデータは Neper News API としても公開されており、各ソースを自分でスクレイピングしなくても見出し・記事URL・画像・要約をアプリに入れられます。

エンドポイントは /queryNews ひとつです。下のどちらのマーケットから呼んでもリクエスト形は同じで、変わるのはホストと認証ヘッダーだけです。

Neperガイド一覧では、現在のAPIガイドと今後追加されるNeperのドキュメントをまとめて確認できます。

すでに使っているマーケットで購読し、そのキーで /queryNews を呼び出します。

日本語のエンタメニュースを表示するNeperモバイルアプリ
Neperモバイルアプリの日本語ニュース画面。APIも同じ国・セクション構成で記事を取得します。

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 → SCITECH
  • en, au, nz, gb, in → SCIENCE または TECHNOLOGY

TOP は top として扱われます。GET では BUSINESS,SPORTS のようにカンマ区切り、POST では文字列・カンマ区切り・JSON 配列が使えます。

例:

GET /queryNews?country=en
GET /queryNews?country=ko&section=top
GET /queryNews?country=ko&section=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

  1. RapidAPI のページでプランを購読します。
  2. ダッシュボードで RapidAPI キーをコピーします。
  3. 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

  1. JoJ API のページでプランを購読します。
  2. JoJ API キーを作成またはコピーします。
  3. この 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] まで。

ほかの使い方を見るNeper →