RedNote / Xiaohongshu Video Transcript Scraper avatar

RedNote / Xiaohongshu Video Transcript Scraper

Pricing

from $3.00 / 1,000 saved transcripts

Go to Apify Store
RedNote / Xiaohongshu Video Transcript Scraper

RedNote / Xiaohongshu Video Transcript Scraper

Scrape auto-generated video transcripts from RedNote (Xiaohongshu, 小红书, Little Red Book): Chinese ASR captions, English machine translations, timestamped segments, plain text, and SRT files. No login required.

Pricing

from $3.00 / 1,000 saved transcripts

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

What does the RedNote / Xiaohongshu Video Transcript Scraper do?

RedNote / Xiaohongshu Video Transcript Scraper extracts video transcripts and captions from RedNote — the international name of Xiaohongshu (小红书, Little Red Book), China's largest lifestyle and shopping platform. Paste a video link and get the full spoken content of the video: the original Chinese auto-generated captions plus RedNote's machine translations (including English), as timestamped segments, plain text, and optional SRT subtitle files. One video per run — for more videos, run the Actor again for each.

The Actor works without a RedNote account, without login, and without cookies. Every transcript also comes with note metadata: title, description, author, publish date, video duration, and engagement stats (likes, collects, comments, shares).

Run it on the Apify platform and you get API access, scheduling, webhooks, proxy rotation, monitoring, and dataset exports to JSON, CSV, Excel, or HTML with every run.

Why use the RedNote transcript scraper?

  • Transcribe RedNote videos at scale — one video per run; chain runs through the API or scheduling to process any volume.
  • Content repurposing — turn spoken video content into blog posts, subtitles, or searchable archives.
  • Sentiment & voice-of-customer analysis — feed authentic consumer speech from Xiaohongshu into NLP or LLM pipelines, in Chinese or in English.
  • Market research — analyze what creators say about products, brands, and trends.
  • Accessibility — get captions for any speech-heavy video, in SRT or JSON form.
  • No account needed — public videos only, zero risk to your RedNote account.

How to use the RedNote transcript scraper in Apify Console

  1. Open a video in the RedNote (Xiaohongshu) app and tap Share → Copy link. You get a short link like http://xhslink.com/... that never expires. Pasting the whole share message (title, link, emojis) also works — the Actor extracts the link automatically.
  2. Go to the Actor's page in Apify Console and open the Input tab.
  3. Paste your link into Video link. To transcribe several videos, start one run per video.
  4. Optional: adjust the settings described in the Input section below.
  5. Click Start and wait for the run to finish.
  6. Preview or download the transcripts from the Output tab — as JSON, CSV, Excel, or HTML. Enable Save raw SRT files to also get downloadable .srt subtitle files.
Link typeExampleWhere the user gets it
App share short link (recommended — never expires)http://xhslink.com/aB3xYz9RedNote app → open the video → Share → Copy link
Whole share message (link extracted automatically)23 失业两年 靠男朋友养 2.0 https://www.xiaohongshu.com/explore/6a8732a2000000001700bf41?xsec_token=AB…=&xsec_source=home_feed 来小红书发现美好生活 😂RedNote app → Share → Copy text, then paste everything
Browser note URL with token (token expires in hours/days)https://www.xiaohongshu.com/explore/6a8732a2000000001700bf41?xsec_token=ABzp0Ud9Y6R-rXTfwiOnqYt-pJwnM7iRRn6gF91oGkXjM=&xsec_source=home_feedDesktop browser → open the video on xiaohongshu.com → copy the full address bar, including ?xsec_token=...

Not supported:

  • Bare note IDs (for example 6a8732a2000000001700bf41) — RedNote serves no note data for them without a token.
  • Note URLs without xsec_token — usually rejected; share the video from the app instead.

Input

Configure the Actor in the Input tab:

FieldTypeDefaultDescription
Video linkstring— (required)One RedNote (Xiaohongshu) share link or note URL (see the table above). One video per run — for more videos, run the Actor again for each.
Include timestamped segmentsbooleantrueKeep per-line caption segments with start/end timecodes
Include plain text transcriptbooleantrueKeep the whole transcript as one text block
Save raw SRT filesbooleanfalseStore each fetched track as an .srt file in the run's key-value store

Output

Each input link produces one dataset row per caption track. A video with an original Chinese track and an English machine translation gives two rows. The note fields (title, author, stats) repeat on every row, so the output stays flat and opens cleanly in CSV or Excel.

{
"noteId": "6a83d8900000000008012d64",
"url": "https://www.xiaohongshu.com/explore/6a83d8900000000008012d64?xsec_token=...&xsec_source=home_feed",
"title": "以为很贵......结果一箱才9.9r而已",
"authorName": "手作月饼铺子",
"language": "zh-CN",
"track": "source",
"isMachineTranslation": false,
"segmentCount": 18,
"text": "大家好 今天给大家开箱\n...",
"segments": [
{ "startMs": 480, "endMs": 2412, "start": "00:00:00,480", "end": "00:00:02,412", "text": "大家好 今天给大家开箱" }
],
"srtUrl": "https://sns-subtitle-s10.xhscdn.com/subtitle/....srt",
"videoDuration": "0:37",
"videoDurationMs": 37000,
"likes": 1303,
"collects": 527,
"comments": 168,
"shares": 85,
"postedAt": "2026-08-15T09:19:12+00:00",
"description": "开箱视频...",
"authorId": "6a43a15a000000000e03d001",
"availableSubtitleLanguages": ["en-US", "source", "zh-CN"],
"status": "OK",
"scrapedAt": "2026-09-16T10:00:00+00:00"
}

A note with no transcript (an image post, a video without captions, or a failed fetch) still produces one row. Its language, track, and text fields are empty, and status gives the reason.

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Possible status values:

StatusMeaning
OKTranscript scraped
NOT_A_VIDEOThe note is an image post — no transcript can exist
NO_SUBTITLESVideo has no auto-captions (typically music-only clips)
LANGUAGE_NOT_AVAILABLENone of the requested languages exist on this video; see availableSubtitleLanguages
SUBTITLE_FETCH_FAILEDNote loaded but no subtitle file could be downloaded; see the error field
ERRORLink could not be scraped (see the error field)

Data table

Main fields of every dataset row:

FieldDescription
noteIdRedNote note ID (24 hex chars)
urlThe URL you supplied
titleNote title
authorName, authorIdAuthor nickname and user ID
languageLanguage of this row's transcript
trackTrack key — source is the original auto-caption track
isMachineTranslationtrue when the row is a machine translation
segmentCountNumber of timestamped segments in this row
textFull plain-text transcript, one segment per line
segments[]Timestamped segments: startMs, endMs, start, end, text
srtUrlURL of the source .srt subtitle file (link expires)
videoDuration, videoDurationMsVideo length, human-readable and in milliseconds
likes, collects, comments, sharesEngagement counts
postedAtPublish time (ISO 8601, UTC)
descriptionNote text body
availableSubtitleLanguagesAll caption tracks RedNote generated for the video
status, error, scrapedAtRun diagnostics

How to use the RedNote transcript scraper via API

The Actor exposes the standard Apify Actor API. You can run it, wait, and receive the transcripts in a single request:

curl -X POST "https://api.apify.com/v2/acts/hgservices~xiaohongshu-transcript-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrl": "http://xhslink.com/aB3xYz9"
}'

Input: JSON with the same fields as the Input tab. startUrl is a single string — a share link, a whole share message, or a fresh tokened note URL (see Supported link types above). To transcribe more videos, start one run per video.

Output: an array with one object per caption track. Each object carries a status field:

  • OK — the row holds a transcript (segments + plain text).
  • ERROR — the link could not be scraped; the error string tells you whether the share-link token expired ("paste a fresh share link") or the proxy was blocked.
  • NOT_A_VIDEO, NO_SUBTITLES, LANGUAGE_NOT_AVAILABLE, SUBTITLE_FETCH_FAILED — the note loaded but no transcript exists for it; see the status table above.

Important: the run itself finishes with status SUCCEEDED even when individual notes fail. Always branch on the per-item status, never on the run status.

Async usage (start now, poll later) and webhooks work through the standard Apify Actor API endpoints.

Use the RedNote scraper with AI tools

You can plug this Actor into Claude, Claude Code, Cursor, and other MCP-compatible AI tools through the hosted Apify MCP server. The Actor becomes a tool the AI can call whenever it needs a RedNote or Xiaohongshu transcript.

Claude Code

$claude mcp add --transport http apify-rednote "https://mcp.apify.com/mcp?actors=hgservices~xiaohongshu-transcript-scraper"

Then just ask:

Get the transcript of this RedNote video http://xhslink.com/aB3xYz9 and summarize it in English.

Claude runs the Actor, reads the transcript rows, and answers with the content.

Claude Desktop and other MCP clients

Add the server to your MCP client configuration:

{
"mcpServers": {
"apify-rednote": {
"url": "https://mcp.apify.com/mcp?actors=hgservices~xiaohongshu-transcript-scraper"
}
}
}

Custom agents and function calling

For your own LLM agents, the one-request API endpoint from the previous section (run-sync-get-dataset-items) is the simplest tool action: one POST with a video link, one JSON array back — no polling, no pagination.

Pricing / Cost estimation

This Actor uses the pay-per-event pricing model. You are billed for these events, and nothing else:

EventWhen it is chargedExample
note-searchOnce per run, for the video note that was searched and fetched — even if the video turns out to have no captions1 video = 1 event
transcript-savedOnce per saved transcript row (one per subtitle language)A video with Chinese + English captions = 2 events
srt-file-savedOnce per raw .srt file written to the key-value store — only when Save raw SRT files is enabledTwo tracks with SRT saving on = 2 events

The exact per-event prices are shown on the Pricing tab of this Actor's page in Apify Store. Failed notes (expired share links, blocked pages, non-video notes) never trigger transcript-saved — you only pay for transcripts you actually receive. SRT files are only charged when you enable the option, so runs that keep transcripts in the dataset never pay for them.

How much does it cost to scrape RedNote (Xiaohongshu) transcripts? A single video with two subtitle tracks costs one note-search event plus two transcript-saved events (add two srt-file-saved events if Save raw SRT files is on). Check the Pricing tab for current per-event rates and discount tiers.

Tips and advanced options

  • Always use share links. The xsec_token inside a browser URL expires within hours or days; a share short link (xhslink.com) keeps working because RedNote issues a fresh token every time it is opened. If a note suddenly fails with an expired-token error, share it again from the app and use the new link.
  • Rate limits. Each run scrapes a single video. If you schedule or chain many runs, keep a short interval between them to stay reliable.
  • Pick languages in post-processing. The Actor fetches every track on the video (source, zh-CN, en-US, …) and writes one row per track. Filter the dataset on the language or track column to keep only the track you need.
  • SRT for video editing. Enable Save raw SRT files to get subtitle files you can drop straight into a video player or editor.
  • Blocked or empty pages. If notes return ERROR, the most likely cause is an expired xsec_token — paste a fresh share link. The Actor already retries blocked pages automatically through residential proxies.

FAQ, disclaimers, and support

Is scraping RedNote (Xiaohongshu) legal? This Actor accesses only publicly served page data and public caption files, without login. You are responsible for how you use the data and for complying with Xiaohongshu's Terms of Service, applicable laws, and the rights of content creators. Do not use this Actor for personal or sensitive data.

Does it need my RedNote account? No. The Actor never logs in and never touches endpoints that require an account.

Which videos have transcripts? RedNote auto-generates captions only for speech-heavy videos. Music-only clips have no subtitle tracks; such notes come back with status NO_SUBTITLES.

Can it scrape comments or search results? No — those RedNote surfaces require a login and a private API, which this Actor does not use.

Does it work with image posts? Image posts have no spoken content, so they return status NOT_A_VIDEO.

Found a bug or need a feature? Please open an issue in the Actor's Issues tab on Apify Console. If you need a custom Xiaohongshu or China-market scraping solution, the author is available for custom work.