本文へ移動
AGENT 接続

HOTMOTO をあなたの Agent に

MCP、RSS、API の3 通りの方法は、どれも同じデータを読みます:厳選、話題、日報、週報、月報。使うツールに合わせて 1 つ選ぶだけです。すべて匿名・読み取り専用で、登録も API キーも不要です。

サービス正常バージョン 4.0.0匿名・読み取り専用 · キー不要
REST API · 4.0.0

匿名の GET で、すぐに使える

トークンは不要です。ブラウザからのクロスオリジン、curl、各言語の標準の HTTP クライアントから直接呼べます。パスは /api/v1 で、項目とエラーコードは OpenAPI が正です。

最初のリクエスト
curl --compressed 'https://hotmoto.cc/api/v1/items?mode=selected&window=24h&limit=20'

軽く、速く使う

  1. 01
    圧縮を有効に

    curl なら --compressed を付け、ほかのクライアントは gzip か br を有効にしてください。JSON は圧縮で元の 1/4〜1/8 になります。

  2. 02
    ETag を付ける

    レスポンスの ETag を保存し、次回は If-None-Match を付けてください。内容が変わっていなければ 304 が返り、本文は送られません。

  3. 03
    間隔を守る

    ニュースと話題は最短で 1 分に 1 回。日報は毎日 08:00 の後に 1 回、週報と月報は発行後に 1 回取ってください。ページを遡るときは、手元にある項目に着いたら止めてください。

内容の変わる頻度:新しいニュースは一日中少しずつ入り、厳選は 1 日に数回から数十回変わります。日報は毎日 08:00、週報は毎週月曜 10:00、月報は毎月 1 日 10:30(日本時間)にそれぞれ 1 号です。

インターフェース一覧

パス用途取得の頻度
ニュース
/api/v1/items厳選か直近 7 日のすべてのニュース。カテゴリ、期間、キーワードで絞り込める最短 1 分に 1 回
話題と出来事
/api/v1/hot-topicsいまのホットランキング Top 10最短 1 分に 1 回
/api/v1/stories/{publicId}出来事 1 件の報道の時系列、AI のまとめ、関連する出来事必要なとき
日報
/api/v1/dailies/latest最新号の日報毎日 08:00 の後に 1 回
/api/v1/dailies/{date}指定した日付の日報。取り下げで引用が消えることがあるキャッシュが切れた後、使う前に ETag で検証
/api/v1/dailies日報の日付の索引1 日に 1 回
週報と月報
/api/v1/weeklies/latest最新号の週報:トップ、総括、欄ごとに分けた 1 週間の重点毎週月曜 10:00 の後に 1 回
/api/v1/weeklies/{week}指定した週(ISO 週。例:2026-W39)。取り下げで引用が消えることがあるキャッシュが切れた後、使う前に ETag で検証
/api/v1/weeklies週報の索引1 週に 1 回
/api/v1/monthlies/latest最新号の月報毎月 1 日 10:30 の後に 1 回
/api/v1/monthlies/{month}指定した月(例:2026-09)キャッシュが切れた後、使う前に ETag で検証
/api/v1/monthlies月報の索引1 か月に 1 回
AI アシスタント向け
/api/v1/agentAgent 向けの利用説明。挙げたアドレスは整理済みの日本語 Markdown を返す必要なとき
厳選の完全な同期
/api/v1/selected/snapshotいまの厳選すべて。ページ送りで一度に取り切る最初の 1 回だけ
/api/v1/selected/changesその後の追加、変更、厳選からの除外数分に 1 回

よくある使い方

bash
# 初回:レスポンスヘッダーの ETag を保存する
curl --compressed -i 'https://hotmoto.cc/api/v1/items?mode=selected&window=24h&limit=20'
# 以後は最短で 1 分に 1 回、ETag を付ける。304 なら変化なし
curl --compressed -i -H 'If-None-Match: <前回の ETag>' 'https://hotmoto.cc/api/v1/items?mode=selected&window=24h&limit=20'

ページを遡るときは、page.nextCursor を cursor として渡し、手元にある項目に着いたら止めてください。毎回 7 日分を読み直さないでください。

エラーのとき

400
引数が正しくありません:OpenAPI と返ってきた code に従って直し、自動でより広い検索に変えないでください。cursor が無効か期間外なら invalid_cursor が返るので、最初のページからやり直してください。
409
snapshot_required:差分を安全に続けられないので、完全なスナップショットを取り直してください。
429
リクエストが多すぎます:Retry-After のとおり待ち、並列で再試行しないでください。
5xx
指数バックオフで再試行し、それまでは前回成功した結果を使ってください。公開サービスは SLA を約束しません。

匿名で呼べても、すべての用途が許可されているわけではありません。詳しくは利用規約を参照してください。