# \[Deprecated] Xiaohongshu (RedNote) Scraper — Notes & Search (`hipersoft/xiaohongshu-scraper`) Actor

Scrape Xiaohongshu / RedNote notes by keyword: title, author, likes, images and link. Runs a real browser to handle signing. For social & market intelligence.

- **URL**: https://apify.com/hipersoft/xiaohongshu-scraper.md
- **Developed by:** [Hipersoft](https://apify.com/hipersoft) (community)
- **Categories:** Social media
- **Features:** Limited permissions
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.004 / note scraped

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Xiaohongshu Scraper — Notes, Authors, Likes & Cover Images

**Scrape Xiaohongshu** (RedNote / 小红书) public notes at scale into clean JSON, CSV, Excel or XML. This Xiaohongshu scraper extracts **note titles, authors, like counts, cover images and note links** from the public discover feed and note URLs — no code. A fast, reliable and cheap way to turn China's biggest lifestyle-and-shopping social network into a structured dataset.

Point it at the `explore` feed or paste specific note URLs, hit Run, and export ready-to-use data for trend research, creator discovery and market intelligence.

![Xiaohongshu Scraper input — options in the Apify Console](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/xiaohongshu-scraper-input.png)

### What does the Xiaohongshu Scraper do?

The Xiaohongshu Scraper crawls and extracts public Xiaohongshu (RedNote) data from the discover/explore feed and from individual note URLs. For every note it returns structured data points — **title, author, like count, cover image, note URL and note ID** — normalized and ready for analytics, datasets, LLM pipelines, dashboards or lead generation. Like counts written in Chinese shorthand (for example `1.1万`) are parsed into plain integers (`11000`) so your data is analysis-ready out of the box.

### What data can you scrape from Xiaohongshu?

| Group | Fields |
|---|---|
| 📕 **Note** | note ID, title, cover image URL, canonical note URL |
| 👤 **Author** | author / creator display name |
| ❤️ **Engagement** | like count (normalized from `万` shorthand to a plain integer) |
| 🧾 **Provenance** | source feed / channel, source URL, `collectedAt` timestamp |

### Use cases

- **China trend & social intelligence** — track what's trending on the discover feed for any market-research or brand study.
- **Creator & influencer discovery** — surface authors and their top-performing notes for outreach and partnerships.
- **Content research & inspiration** — mine titles, cover images and engagement to plan your own content strategy.
- **Product & market research** — see which lifestyle, beauty, travel and shopping notes get traction.
- **Build a Xiaohongshu dataset** — collect thousands of notes with engagement and metadata for analysis or LLM training.
- **Engagement benchmarking** — compare like counts across notes and authors to find outliers.
- **Monitoring & alerting** — re-run on a schedule to watch a feed and catch new notes over time.
- **Academic & market research** — study topics, popularity and audience signals from public data.

### How to scrape Xiaohongshu data

1. Click **Try for free / Start** to open the Xiaohongshu Scraper.
2. Keep `explore` for the public discover feed, or paste specific Xiaohongshu **note / explore URLs** into the input.
3. Set **Max notes per feed** to control how many notes you collect.
4. Click **Run**.
5. Download the results as **JSON, CSV, Excel or XML**, or pull them from the Apify API.

### Input

Provide the feed keyword `explore` and/or specific note URLs, then set a per-feed limit. No setup or account needed — just add your inputs.

```json
{
  "channels": ["explore"],
  "maxItemsPerChannel": 60,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

| Field | Type | Description |
|---|---|---|
| `channels` | array | Use `explore` for the public discover feed, or paste one or more Xiaohongshu explore/note URLs. |
| `maxItemsPerChannel` | integer | Maximum notes to collect per feed (scroll-loaded). Default `60`, up to `5000`. |
| `proxyConfiguration` | object | Proxy settings. Leave the default — it is tuned for reliable results. |

#### Scrape the discover feed or specific notes

Keep `channels` set to `explore` to pull trending notes from the public discover feed, or paste exact note/explore URLs to target the notes you already know. Mix both in one run.

#### Set how many notes you collect

Use `maxItemsPerChannel` to cap the number of notes per feed. The Actor scroll-loads the feed until it reaches your limit or runs out of new notes.

### Output

![Xiaohongshu Scraper output — a notes/posts dataset with engagement and metadata](https://api.apify.com/v2/key-value-stores/SUfvnaFLd9z9eBCtV/records/xiaohongshu-scraper-output.png)

Each note is one dataset item:

```json
{
  "channel": "explore",
  "noteId": "6a4f0800000000000f01d638",
  "title": "五级能耗一晚上一万块够不够",
  "author": "moonpie",
  "likes": 11000,
  "coverImage": "https://sns-webpic-qc.xhscdn.com/...",
  "url": "https://www.xiaohongshu.com/explore/6a4f08...?xsec_token=...",
  "sourceUrl": "https://www.xiaohongshu.com",
  "collectedAt": "2026-07-30T11:50:00.000Z"
}
```

#### Output schema

| Field | Type | Description |
|-------|------|-------------|
| `channel` | string | The feed or URL the note came from (for example `explore`). |
| `noteId` | string | Unique Xiaohongshu note ID. |
| `title` | string | Note title / caption text. |
| `author` | string | Display name of the note's author. |
| `likes` | integer | Like count, normalized from `万` shorthand to a plain integer. |
| `coverImage` | string (URL) | URL of the note's cover image. |
| `url` | string (URL) | Canonical URL of the note. |
| `sourceUrl` | string (URL) | The site the note was collected from. |
| `collectedAt` | string (ISO date) | Timestamp when the note was collected. |

### Need more social & China data?

The Xiaohongshu Scraper pairs well with our other social and content scrapers — build a wider dataset across platforms:

- [Weibo Scraper](https://apify.com/hipersoft/weibo-scraper) — posts, authors and engagement from Weibo.
- [Bilibili Scraper](https://apify.com/hipersoft/bilibili-scraper) — videos, creators and view counts.
- [Douban Scraper](https://apify.com/hipersoft/douban-scraper) — movies, books and ratings.
- [Juejin Scraper](https://apify.com/hipersoft/juejin-scraper) — tech articles, authors and stats.

### FAQ

**How many notes can I scrape per run?**
As many as you like. Set `maxItemsPerChannel` to control the count per feed (up to 5000), and pass multiple feeds or URLs in one run to scale up.

**Do I need to write any code?**
No — this is a no-code tool. Add your inputs in the Apify Console, click Run, and download the data. Developers can also drive it via the Apify API.

**What export formats are supported?**
JSON, CSV, Excel and XML, plus webhooks and the Apify API.

**How does billing work?**
You pay per item you get, so it stays one of the cheapest ways to collect Xiaohongshu data — no monthly fees, no wasted credits.

**How fresh is the data?**
Every run collects live notes from the public feed at that moment, each stamped with a `collectedAt` time. Re-run any time (or on a schedule) for fresh data.

**Can I automate or integrate the Xiaohongshu Scraper?**
Yes. The Xiaohongshu Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). It works with [Make](https://apify.com/integrations/make), [Zapier](https://apify.com/integrations/zapier), [Slack](https://docs.apify.com/platform/integrations/slack), [Airbyte](https://docs.apify.com/platform/integrations/airbyte), [GitHub](https://docs.apify.com/platform/integrations/github), [Google Drive](https://docs.apify.com/platform/integrations/drive) and [many more](https://apify.com/integrations), plus the [Apify API](https://docs.apify.com/api/v2), JavaScript/Python clients and MCP. Or use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to trigger an action whenever a run finishes — get a notification, or kick off another process such as loading your data downstream.

**Is scraping Xiaohongshu legal?**
The Actor collects only public data. You are responsible for how you use it and for complying with Xiaohongshu's terms and applicable laws.

### Related Actors

- [Weibo Scraper](https://apify.com/hipersoft/weibo-scraper) — posts, authors and engagement from Weibo.
- [Bilibili Scraper](https://apify.com/hipersoft/bilibili-scraper) — videos, creators and view counts.
- [Douban Scraper](https://apify.com/hipersoft/douban-scraper) — movies, books and ratings.
- [Juejin Scraper](https://apify.com/hipersoft/juejin-scraper) — tech articles, authors and stats.

### Notes

Original clean-room implementation. Collects only public Xiaohongshu (RedNote) data; you are responsible for how you use the data and for complying with Xiaohongshu's terms. This is an independent tool and is not affiliated with or endorsed by Xiaohongshu.
</content>
</invoke>

# Actor input Schema

## `channels` (type: `array`):

Use "explore" for the public discover feed, or paste XHS explore/note URLs.

## `maxItemsPerChannel` (type: `integer`):

Max notes per feed (scroll-loaded).

## `proxyConfiguration` (type: `object`):

Proxy configuration. Leave the default — it is tuned for reliable results.

## Actor input object example

```json
{
  "channels": [
    "explore"
  ],
  "maxItemsPerChannel": 60,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

The scraped results as dataset items.

# 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 = {
    "channels": [
        "explore"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/xiaohongshu-scraper").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 = { "channels": ["explore"] }

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

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

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

```

## CLI example

```bash
echo '{
  "channels": [
    "explore"
  ]
}' |
apify call hipersoft/xiaohongshu-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/xiaohongshu-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Qc1Al7GpgM8hQfMlT/builds/JvghFUcdNpiCxQOpr/openapi.json
