# Xiaohongshu / RedNote Video Downloader - No Watermark 小红书无水印下载 (`agentflow/xiaohongshu-video-downloader`) Actor

Download Xiaohongshu (RedNote) videos and images without watermark. Paste a link, get the real CDN URL.

- **URL**: https://apify.com/agentflow/xiaohongshu-video-downloader.md
- **Developed by:** [Yunbin Huang](https://apify.com/agentflow) (community)
- **Categories:** Videos, Social media
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.00 / 1,000 video resolveds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Xiaohongshu / RedNote Video Downloader — No Watermark (小红书无水印下载)

Paste a Xiaohongshu (RedNote / 小红书) share link and get the **real no-watermark video URL** — or the full-resolution image URLs for photo notes. Fast, lightweight, no browser needed.

### What does Xiaohongshu Video Downloader do?

Turn any Xiaohongshu (小红书 / RedNote) share link into clean, direct, **watermark-free** media URLs — via pure HTTP, no browser, no login.

- Resolve any **RedNote share link** or copied share text
- **Video notes** → a direct **no-watermark** video URL
- **Image notes** → full-resolution image URLs (all images in the note)
- Get **title and description** alongside the media
- **Batch mode** — resolve many links in one run
- **You only pay for successful resolves** — expired or invalid links are free
- **No browser needed** — runs in 128MB memory, extremely fast

### What data can you extract?

| Field | Description |
|-------|-------------|
| `type` | `video` or `image` |
| `download_url` | Direct **no-watermark** video URL (video notes) |
| `images` | Array of full-resolution image URLs (image notes) |
| `title` | Note title |
| `desc` | Note description |
| `platform` | Always `xiaohongshu` |
| `success` | Whether the link resolved |

### How to download a Xiaohongshu video or images

1. Create a free Apify account
2. Open [Xiaohongshu / RedNote Video Downloader](https://apify.com/agentflow/xiaohongshu-video-downloader)
3. Paste one or more RedNote share links (or the full share text copied from the app)
4. Click **Start**
5. Grab `download_url` (video) or `images` (photo note) from the results

### Input example

```json
{
    "urls": [
        "http://xhslink.com/o/7AFFiALSxVp"
    ]
}
```

### Output example (video note)

```json
{
    "input": "http://xhslink.com/o/7AFFiALSxVp",
    "platform": "xiaohongshu",
    "success": true,
    "type": "video",
    "title": "周末去了这家小店",
    "desc": "地址在评论区～",
    "download_url": "https://sns-video-hw.xhscdn.com/....mp4"
}
```

For an image note, `type` is `"image"` and an `images` array of URLs is returned instead of `download_url`.

### Integrations — automate RedNote downloads

Connect this Actor to almost any app through the Apify platform. Push resolved URLs into **Make**, **Zapier**, **n8n**, **Slack**, **Google Sheets**, or **Google Drive**, trigger runs with **webhooks**, or drive everything from the **Apify API**. You can also expose it to AI agents through an **MCP server**.

### Related downloaders

- 🎵 [Douyin Video Downloader](https://apify.com/agentflow/douyin-video-downloader) — no-watermark 抖音 videos
- 💬 [WeChat Channels (Shipinhao) Video Downloader](https://apify.com/agentflow/wechat-channels-video-downloader) — 视频号 video URLs

### Error handling

Invalid or expired links never fail the whole run — the Actor returns an item with `success: false` and an `error` message, and **does not charge** for it.

| Error | Meaning |
|-------|---------|
| `未识别到小红书链接，请粘贴完整的分享链接` | The input is not a recognizable RedNote link |
| `链接已过期，请在小红书 App 重新复制分享链接` | The share link expired — copy a fresh one from the app |
| `No downloadable media found` | The note contained no video or images |

### FAQ

#### How much does it cost?

**$0.007 per successful resolve** (i.e. $7 per 1,000). Failed or expired links are free — you are only charged when media is returned.

#### Does it work for both videos and image notes?

Yes. Video notes return a no-watermark `download_url`; image (photo) notes return an `images` array with every image at full resolution.

#### Why do some links say "expired"?

RedNote share links are time-limited. If you see an expired error, re-copy the share link fresh from the Xiaohongshu app and try again.

#### Is downloading Xiaohongshu content legal?

The Actor only accesses publicly viewable notes. You are responsible for how you use the content — respect the creator's rights, Xiaohongshu's Terms of Service, and copyright law.

#### Can I use it with the API or an MCP server?

Yes. Control it through the [Apify API](https://docs.apify.com/api/v2), or expose it to AI agents via the [Apify MCP server](https://mcp.apify.com).

Xiaohongshu Video Downloader · RedNote Video Downloader · Xiaohongshu Downloader · 小红书无水印下载 · 小红书视频下载 · 小红书图片下载 · RedNote No Watermark Downloader · XHS Video Downloader · Download Xiaohongshu Video · RedNote Image Downloader

# Actor input Schema

## `urls` (type: `array`):

One or more Xiaohongshu (RedNote) share links or share text. Video notes return a no-watermark video URL; image notes return image URLs.

## Actor input object example

```json
{
  "urls": [
    "http://xhslink.com/o/7AFFiALSxVp"
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "http://xhslink.com/o/7AFFiALSxVp"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentflow/xiaohongshu-video-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "urls": ["http://xhslink.com/o/7AFFiALSxVp"] }

# Run the Actor and wait for it to finish
run = client.actor("agentflow/xiaohongshu-video-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "http://xhslink.com/o/7AFFiALSxVp"
  ]
}' |
apify call agentflow/xiaohongshu-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=agentflow/xiaohongshu-video-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6ecZKrfRShB4B585w/builds/pUR78vJhAV4ZejimT/openapi.json
