# Why does my Xiaohongshu scraper get status 461, and how do I get the data anyway?

> What Xiaohongshu's 461 response means for scrapers like MediaCrawler, why new cookies and proxies only delay it, and how to get public notes with no account.

Canonical page: https://okdata.online/answers/xiaohongshu-461-status-code/

**Short answer: **A 461 is Xiaohongshu's risk control refusing requests it scores as automated, usually tied to your logged-in account and IP. You can fetch the same public notes through okdata with no Xiaohongshu account at all: search costs $0.02 per page of about 20 notes, and note detail $0.02 per note.

You ran MediaCrawler, or your own script against the web API, for a keyword. It worked for twenty minutes, then every request came back with HTTP 461 and sometimes a slider captcha. That is Xiaohongshu's risk control. It scores the request signature, the account cookie, the IP and the pace, and once the score is bad it stops answering that account. Waiting a few hours, slowing down or switching accounts brings it back for a while. At any real volume it comes back again. For public notes, the lasting fix is to stop sending requests from your own account.

## Get the notes without your own account

If what you need is public notes, and nothing behind your login, let an API do the fetching. With okdata your code never talks to Xiaohongshu, so there is no cookie to refresh, no x-s signature to rebuild and no account of yours to get flagged.

- [Xiaohongshu note search](/apis/xiaohongshu/notes/search/): keywords in, about 20 notes per page with likes, saves, comment counts and the author.
- [Xiaohongshu note detail](/apis/xiaohongshu/notes/get/): full text, every image and the counts for one note, by ID or by link.

## What a typical job costs

| Job | Calls | Cost |
|---|---|---|
| 200 notes for one keyword | 10 search pages | $0.20 |
| Full text of the best 50 | 50 detail calls | $1.00 |
| Both together | 60 | $1.20 |

A call that fails is not charged, so a bad hour upstream costs you a retry, not money.

## Try it

```bash
curl -G "https://api.okdata.online/v1/xiaohongshu/notes/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=露营 装备' \
  --data-urlencode 'sort=latest'
```

For the next page, send `page.next_cursor` back as `cursor`. If you call us too fast you get a 429 with `retry_after_seconds`, never a 461; every code is on the [errors page](/docs/errors/).

## Limits worth knowing

- Public data only. Private or deleted notes come back as `not_found`, which is free.
- Xiaohongshu does not show view counts, so `metrics.views` is null and `meta.unavailable` says the platform hides it.
- Search results name the author but not their follower count. Ask the [account profile](/apis/xiaohongshu/users/get/) endpoint for that.

## When the scraper is still the better choice

MediaCrawler is free and open source. For a few hundred notes a week from your own laptop it can be the better deal, as long as you are fine logging in, solving the odd slider and backing off when 461 returns. For a job that has to run unattended every day, paying per call usually costs less than the hours spent nursing accounts and proxies. The [content research](/solutions/content-research/) page walks through a full keyword workflow.

## Endpoints used

- [Xiaohongshu note search](https://okdata.online/apis/xiaohongshu/notes/search/) `xiaohongshu.notes.search`: $0.02 per call · about 20 notes per page
- [Xiaohongshu note detail](https://okdata.online/apis/xiaohongshu/notes/get/) `xiaohongshu.notes.get`: $0.02 per call

Updated 2026-11-12
