小紅書(RED)API:ノート検索、コメントと返信
2026-10-25 時点の仕様スナップショットに基づく
要点
小紅書(RED)API には 3 種類の非同期タスクがあります。ノートのキーワード検索(/xhs/search/task)、ノート URL からのコメント収集(/xhs/pushs/task)、公開アカウントの投稿タイムライン(/xhs/users/task)です。仕様上、小紅書のエンドポイントはすべて xhs という略称を使います。コメントタスクでは並び順を選べ、第 2 階層の返信も収集できます。データは小紅書で公開されているコンテンツをウェブクローラーで収集したものです。
取得できるデータ
フィールドは 2026-10-25 時点の仕様スナップショットに基づきます。検索結果の投稿フィールドはスナップショットに列挙されていないため、「サンプル」と記した行は下のサンプルデータから取っています。正式なフィールドはトライアルデータでご確認ください。また、post_id や parent_id などの関連フィールドはスナップショットで必須とされていないため、実際の有無もトライアルデータでご確認ください。
| データ | フィールド | エンドポイント |
|---|---|---|
| キーワード検索のノート(サンプル) | url, mblogid, author, author_id, content, tm, metadata_tags, like_count, comment_count, share_count | GET /xhs/search/task/{task_id} |
| ノートのコメントと第 2 階層の返信 | id, post_id, author, author_id, content, push_type, sentiment, tm, tm_crawler, region | GET /xhs/pushs/task/{task_id} |
| 公開アカウントの投稿タイムライン | profile, timelines, task | GET /xhs/users/task/{task_id} |
エンドポイント一覧
Base URL は https://api.infominer.io/api/v2 です。API キーは auth-header リクエストヘッダーで送信します。* の付いたパラメーターは必須です。
| メソッド | パス | 説明 | 主なパラメーター |
|---|---|---|---|
| POST | /xhs/search/task |
ノートのキーワード検索タスクを作成します。期間と最大取得ページ数を指定できます。 | keyword* end_date max_pages start_date |
| GET | /xhs/search/task/{task_id} |
ノート検索タスクをポーリングします。DONE になるとノートと total_count を 1 ページ最大 100 件で返します。 | task_id* page pageSize |
| POST | /xhs/pushs/task |
ノート URL からコメントタスクを作成します。並び順、第 2 階層の返信、重複チェックを指定できます。 | post_url* crawl_second_layer get_all order_type |
| GET | /xhs/pushs/task/{task_id} |
ノートのコメントタスクをポーリングします。DONE になるとコメントを 1 ページ最大 1000 件で返します。 | task_id* page pageSize |
| POST | /xhs/users/task |
アカウント ID と期間を指定して、公開アカウントの投稿タイムラインのタスクを作成します。 | author_id* endDate* startDate* |
| GET | /xhs/users/task/{task_id} |
タイムラインタスクをポーリングします。DONE になると profile とノートのタイムラインを返します。 | task_id* |
データ取得の流れ
- POST /xhs/search/task に keyword と任意の start_date、end_date、max_pages を指定し、タスク id を受け取ります。
- GET /xhs/search/task/{task_id} をポーリングします。INIT または RUNNING の間は待ち、DONE になると同じレスポンスにノート(data)と total_count が含まれ(pageSize は最大 100)、FAILED なら停止して失敗に対処します。
- コメントを見たいノートを選び、ノート URL で POST /xhs/pushs/task を呼びます。order_type は hot、time、both から選べ、crawl_second_layer を true にすると第 2 階層の返信も含み、get_all を true にすると重複チェックを止めてすべてのコメントを収集します。
- GET /xhs/pushs/task/{task_id} でコメントを取得します。1 ページ最大 1000 件です。
- 特定の公開アカウントの投稿履歴が必要な場合は、POST /xhs/users/task に author_id、startDate、endDate を指定します。DONE になると profile と timelines を返します。
curl の例
キーワード検索タスクを作成
curl -X POST https://api.infominer.io/api/v2/xhs/search/task \
-H "auth-header: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword": "护肤日常", "start_date": "2026-06-01", "end_date": "2026-06-30", "max_pages": 3}'
タスク ID でポーリング
curl "https://api.infominer.io/api/v2/xhs/search/task/$TASK_ID?page=1&pageSize=100" \
-H "auth-header: YOUR_API_KEY"
ノート URL からコメントタスクを作成
curl -X POST https://api.infominer.io/api/v2/xhs/pushs/task \
-H "auth-header: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"post_url": "https://www.xiaohongshu.com/explore/000000000000000000000001", "order_type": "time", "crawl_second_layer": true}'
サンプル JSON
以下は手作業で作成したサンプルデータ(架空)です。アカウントは sample_user_n、ID は明らかな仮の値で、実在の投稿ではありません。
タスク作成時のレスポンス:サンプルデータ(架空)
{
"id": "00000000-0000-4000-8000-000000000001",
"keyword": "护肤日常",
"status": "INIT"
}
タスク完了後のポーリングレスポンス:サンプルデータ(架空)
{
"keyword": "护肤日常",
"status": "DONE",
"total_count": 2,
"task": {
"id": "00000000-0000-4000-8000-000000000001",
"status": "DONE"
},
"data": [
{
"source": "xhs_note",
"platform": "rednote",
"url": "https://www.xiaohongshu.com/explore/000000000000000000000001",
"mblogid": "000000000000000000000001",
"content": "换季之后我把早晚的护肤步骤简化成四步,记录一下这个月的肤况 #护肤日常",
"author": "sample_user_1",
"author_id": "0000000000000001",
"tm": 1781056800,
"metadata_tags": [
"护肤日常",
"换季保养"
],
"like_count": 120,
"comment_count": 14,
"share_count": 6
},
{
"source": "xhs_note",
"platform": "rednote",
"url": "https://www.xiaohongshu.com/explore/000000000000000000000002",
"mblogid": "000000000000000000000002",
"content": "夜间保湿面膜的使用心得,敏感肌可以先小范围试用",
"author": "sample_user_2",
"author_id": "0000000000000002",
"tm": 1781060400,
"metadata_tags": [
"保湿",
"敏感肌"
],
"like_count": 48,
"comment_count": 5,
"share_count": 2
}
]
}
投稿とコメントの関連付け
コメントタスクはノート URL(post_url)から作成します。コメントレコードは post_id フィールドで所属するノートを指し、push_type、author、author_id、tm などのフィールドもあります。crawl_second_layer を有効にすると第 2 階層の返信も収集しますが、レスポンス内での入れ子の形や上位コメントとの関連はスナップショットに記載がないため、トライアルデータでご確認ください。サンプルでは、ノートを url と mblogid で、投稿者を author と author_id で識別しています。
取得期間と制限
- pageSize の上限:検索結果は 100、コメントは 1000。
- コメントタスクは既定で重複チェックを行います。すべてのコメントを収集し直す場合は get_all を true にします。
- 公開アカウントの投稿タイムラインのタスクには startDate と endDate(YYYY-MM-DD)の両方が必要です。
- キーワード検索で遡れる期間、ノートの件数、更新頻度はプロジェクトの範囲に応じて確認します。
納品形式
すべてのエンドポイントは JSON を返します。検索とコメントのタスクは DONE 後のポーリングレスポンスにデータが含まれ、page と pageSize でページングします。タイムラインのポーリングは profile と timelines を返します。バッチファイルなど他の納品方法はプロジェクトの範囲に応じて確認します。
トライアルの申し込み
下のフォームで小紅書を選び、検索したいキーワードやカテゴリー、コメントと第 2 階層の返信の要否、想定データ量をお知らせください。範囲を確認し、トライアルと API キーの進め方についてご連絡します。
よくある質問
- 小紅書のエンドポイントはなぜ /xhs/ で始まるのですか?
- 仕様上、小紅書のエンドポイントはすべて xhs という略称を使います。例:/xhs/search/task、/xhs/pushs/task。
- ノートのコメントや返信を取得できますか?
- はい。ノート URL で /xhs/pushs/task を作成し、crawl_second_layer を true にすると第 2 階層の返信も含まれます。
- 期間を指定してノートを検索できますか?
- 検索タスク作成時に start_date と end_date(YYYY-MM-DD)を指定します。どこまで遡れるかはプロジェクトの範囲に応じて確認します。
- 特定のアカウントのノートを追跡できますか?
- /xhs/users/task でアカウント ID と開始日・終了日を指定し、公開アカウントの投稿タイムラインのタスクを作成します。
- 小紅書のデータはどのように収集していますか?
- 小紅書で公開されているコンテンツをウェブクローラーで収集しています。ご利用目的に適するかどうかは、用途と法域に応じて買い手側の法務部門でご判断ください。収集元と収集方法の説明はご提供できます。