API 文档

详细的 API 接口文档和参数说明

概述

小红书内容发布工具提供简单易用的 RESTful API 接口,让开发者能够通过程序化方式创建小红书内容分享。 用户通过 API 提交内容后,系统会生成二维码,扫码即可在移动端发布到小红书。

基础 URL
https://yourdomain.com
协议
HTTPS
认证
Bearer Token
格式
JSON

认证

所有 API 请求都需要在请求体中包含有效的 API Key:

请求体示例
{
  "api_key": "YOUR_API_KEY",
  "type": "normal",
  ...
}

获取 API Key

用户中心 的 "API Key 管理" 页面生成新的 API Key

发布内容到小红书

POST/api/rednote/publish

提交要发布的笔记内容,系统生成分享二维码

请求参数

字段必填类型说明
typeString笔记类型:normal (图文) 或 video (视频)
titleString笔记标题,限制 20 字符
contentString笔记文字内容,支持换行
imagesArray图片 URL 数组,当 type 为 normal 时必传
videoString视频 URL,当 type 为 video 时必传
coverString视频封面 URL,当 type 为 video 时可选

请求示例

图文笔记

JSON 请求体
{
  "type": "normal",
  "title": "美食分享",
  "content": "今天做了一道美味的菜\n大家觉得怎么样?",
  "images": [
    "https://example.com/image1.jpg",
    "https://example.com/image2.jpg"
  ]
}

视频笔记

JSON 请求体
{
  "type": "video",
  "title": "旅行日记",
  "content": "今天的旅行真的太棒了!",
  "video": "https://example.com/video.mp4",
  "cover": "https://example.com/cover.jpg"
}

响应参数

字段类型说明
idString笔记 ID
urlString分享页面 URL
qrcodeString二维码图片 URL

响应示例

成功响应

HTTP 200 OK
{
  "success": true,
  "data": {
    "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "url": "https://yourdomain.com/rednote/publish/f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "qrcode": "https://yourdomain.com/api/qrcode/f47ac10b-58cc-4372-a567-0e02b2c3d479.png"
  }
}

错误响应

HTTP 400 Bad Request
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "参数验证失败",
    "details": {
      "type": "笔记类型必须是 normal 或 video",
      "images": "图文笔记必须提供图片"
    }
  }
}

错误码说明

错误码HTTP 状态码说明
INVALID_API_KEY401API Key 无效或已过期
INSUFFICIENT_BALANCE402调用次数不足
VALIDATION_ERROR400请求参数验证失败
RATE_LIMIT_EXCEEDED429请求频率超限
INTERNAL_ERROR500服务器内部错误

使用限制

限制项限制
调用频率每分钟 60 次请求
图片文件最大 10MB,支持 JPG、PNG、GIF
视频文件最大 100MB,支持 MP4、MOV
标题长度最大 20 字符
内容长度最大 1000 字符
图片数量最多 18 张

代码示例

cURL

命令行示例
curl -X POST https://yourdomain.com/api/rednote/publish \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_API_KEY",
  "type": "normal",
  "title": "美食分享",
  "content": "今天做了一道美味的菜\n大家觉得怎么样?",
  "images": [
    "https://example.com/image1.jpg",
    "https://example.com/image2.jpg"
  ]
}'

JavaScript (Node.js)

使用 axios 库
const axios = require('axios');

async function publishToXiaohongshu(data) {
  try {
    // 确保数据中包含api_key
    const requestData = {
      api_key: 'YOUR_API_KEY',
      ...data
    };
    
    const response = await axios.post('https://yourdomain.com/api/rednote/publish', requestData, {
      headers: {
        'Content-Type': 'application/json'
      }
    });
    
    console.log('发布成功:', response.data);
    return response.data;
  } catch (error) {
    console.error('发布失败:', error.response?.data || error.message);
    throw error;
  }
}

Python

使用 requests 库
import requests
import json

def publish_to_xiaohongshu(data):
    url = 'https://yourdomain.com/api/rednote/publish'
    headers = {
        'Content-Type': 'application/json'
    }
    
    # 确保数据中包含api_key
    request_data = {
        'api_key': 'YOUR_API_KEY',
        **data
    }
    
    try:
        response = requests.post(url, json=request_data, headers=headers)
        response.raise_for_status()
        
        result = response.json()
        print('发布成功:', result)
        return result
    except requests.exceptions.RequestException as e:
        print('发布失败:', e)
        raise