Documentation Python quickstart Blog Free tools hello@quanticdata.ioLog in

Xiaohongshu Proxies: 70 KB a Note, No Browser

What a Xiaohongshu note costs in bytes, measured on 28 September 2026: 70,499 bytes over plain HTTP with the full note text, 2,475,522 bytes rendered, and 186,518 bytes for the server-rendered explore feed
What a Xiaohongshu note costs in bytes, measured on 28 September 2026: 70,499 bytes over plain HTTP with the full note text, 2,475,522 bytes rendered, and 186,518 bytes for the server-rendered explore feed

Xiaohongshu, sold to the West as RedNote, is the platform where Chinese consumers review restaurants, hotels, cosmetics and cities, and it is far more readable than its reputation. On 28 September 2026 we fetched it 24 times through residential exits in Singapore, the United States and Germany. A public note, requested with the token the feed hands out, answers a plain HTTP client with 70,499 bytes, the complete note text in the meta description and an Article JSON-LD block. Rendering the same note costs 2,475,522 bytes, 35 times more, and buys the comments. The explore feed is 186,518 bytes of server-rendered cards.

The search term means shopping agents, not data

Type xiaohongshu proxies into Google and autocomplete offers nothing at all. Press enter from the United States and the first page is about people, not servers: Reddit threads in r/internationalshopper looking for someone in China to buy a Xiaohongshu listing on their behalf, a buy-and-ship guide, "RedNote proxy buyer", Superbuy. Two vendor listicles and one guide to running several RedNote accounts through an anti-detect browser fill the rest. Not one result says what xiaohongshu.com returns to a request.

The data intent is a different query. xiaohongshu scraper autocompletes to github, api, profile scraper and crawler. That reader wants public notes for brand monitoring, product and venue research, creator discovery and social listening in the Chinese market, and that is the reader this page is for. We do not help with account farming or multi-accounting, and the last section says where the platform draws its own line.

The feed is server-rendered and the token is the key

The explore feed at xiaohongshu.com/explore is the surface robots.txt opens to the Chinese search engines, and it is plain HTML. From a Singapore residential exit, over plain HTTP with no JavaScript, it returned 186,518 bytes, 2,678 words of card titles and author names and 62 cover images. From the United States, 182,416 bytes and 2,621 words; from Germany, 190,005 bytes and 2,753 words. Every card links a note and its author, and every one of those links carries an xsec_token query parameter.

That parameter is the whole game. We requested the same note both ways:

RequestWhere it landsStatusBytesExtractable words
Note by id, no token/404 page with error_code 300031200shell7 (73 rendered)
Note by id, with the feed's tokenthe note20070,499388
Profile by id, no tokenredirect to /login20036,6910
Profile by id, with the feed's tokenthe profile200138,874698
Explore feedthe feed200186,5182,678

A bare note id lands on a page whose title says the page is not available and whose URL carries error_code=300031, at HTTP 200. A bare profile id lands on the login page, also at 200. The same ids with the token from the feed return the note and the profile in full. So a Xiaohongshu job is shaped as feed first, then items: read the cards, keep the tokenised URLs, fetch those. A crawler that builds note URLs from ids it found elsewhere will read 24 pages of nothing and never see an error code.

The note text lives in the head

Here is what the tokenised note returned to a client that does not run JavaScript. The title is the note title. The <meta name="description"> is the entire body of the note, hashtags included, 2,718 characters of it. There is a canonical link, with the token stripped, an h1, an Open Graph title, and one JSON-LD block of type Article. The audit counted 21 words of body text outside the head, because the visible layout is built by JavaScript; the markdown conversion of the same response, which reads the head, came to 388 words.

Rendering the note changed almost nothing you would pay for. The rendered pass returned 71 words from Singapore in 10.5 seconds, 92 from the United States in 14.3 seconds and 127 from Germany in 7.3 seconds; a full render with the comment list open weighed 2,475,522 bytes, took 10.8 seconds and produced 1,465 words, most of them comments and related cards.

ExitNo-JS words (body)No-JS bytesRendered wordsRender time
Singapore2170,4997110.5 s
United States2170,4999214.3 s
Germany2170,4991277.3 s

Two parsing notes. First, word counts on Chinese pages are whitespace counts, so they understate the content by an order of magnitude; count characters or bytes instead, and the 70,499-byte response carries 2,718 characters of note text. Second, the note's meta robots tag reads noindex,nofollow,nosnippet: the platform serves the text to the client and asks search engines not to show it. That is a statement of preference you should read before deciding what to do with the data.

The profile page behaves the same way, and it is where the counts are. With the token, a profile returned 138,874 bytes and 698 words, and its description reads, in Chinese, "has 10+ followers, follows 1K+ people". The counts are rounded in the head, "10+" and "1千+", not exact. If you need exact follower numbers on this platform, the public web does not give them to a logged-out client, and no exit country changes that.

The exit country changes the feed, not the note

We sent the tokenised note from the United States and Germany with no Accept-Language header. Both returned exactly 70,499 bytes, the same canonical, the same description, the same JSON-LD. The note is one document served identically to every country we tried. The feed is not: 186,518 bytes from Singapore, 182,416 from the United States, 190,005 from Germany, with 62, 61 and 64 cover images, because the feed is a recommendation surface assembled per request. So the rule for Xiaohongshu is the opposite of the one we found on TikTok, where the exit picks a different backend: pin a country when you are sampling the feed and want a stable population, and pin nothing when you are fetching notes by tokenised URL. Country-pinned exits are a per-request parameter on our residential network.

What robots.txt says, and who is on the list

xiaohongshu.com/robots.txt is 492 bytes and it is written for Chinese search engines. Baiduspider, bingbot, 360Spider, the Sogou spiders and YisouSpider are told to stay out of everything except the home page, /explore, /download, the World Cup section and the sitemaps. Googlebot gets a single block that disallows everything and allows one path, /worldcup26. The file ends with the block that governs everyone else:

User-agent: *
Disallow: /

The sitemap index it points to is 484 bytes and lists three gzipped note sitemaps plus one for the World Cup, so the platform is publishing a map of its notes while telling unnamed clients to stay out of all of them. Read together with the nosnippet tag on every note, the position is clear: Xiaohongshu serves its public notes to any client and does not want them republished. Readability is a technical fact, permission is a contractual one, and on this platform they point in different directions. Guides that sell several RedNote accounts on one machine are selling something the login flow is built to discourage, and we do not help build that.

What it costs, and what to stop paying for

Every number in this post came through residential proxies on the Basic line at $0.80/GB, counting a gigabyte as 10^9 bytes. Because the note text is in the head, the cost driver is bytes, not IP quality:

JobBytes per requestRequests per GBCost per request
Note with token, plain HTTP70,49914,185$0.000056
Profile with token, plain HTTP138,8747,201$0.00011
Explore feed, plain HTTP186,5185,361$0.00015
Note, rendered with comments2,475,522404$0.0020

Fifty thousand notes a day for a month is 105.7 GB over plain HTTP, about $84.60. The same 1.5 million notes rendered is 3,713 GB, about $2,970.63, and the extra $2,886 buys comment threads you may not need. On mobile proxies at $2.30/GB the plain-HTTP note is $0.00016; nothing we measured on this platform asked about the network type, so the cheaper line is the right one. This is the same head-only pattern we found on four Western platforms in follower counts in the head; Xiaohongshu is the first where the whole post body is there too.

The setting that works on Xiaohongshu

  • Network: residential, Basic line at $0.80/GB. Sixteen note and profile fetches from three countries returned the same bytes; the network is not what this platform examines.
  • Fetch mode: engine: tls, plain HTTP. The tokenised note returns 388 words of markdown and 2,718 characters of note text from a 70,499-byte response; rendered it is 2,475,522 bytes for 1,465 words, of which the note itself is the same 2,718 characters.
  • Country: any exit for notes and profiles, which came back byte-identical from the United States and Germany. Pin the exit only when you sample the feed, whose size moved between 182,416 and 190,005 bytes across three countries because it is assembled per request.
  • The parameter that matters: take note and profile URLs from the feed cards with their xsec_token. Without it a note id reads 7 words and a profile id reads 0.
  • When the proxy is not enough: there is no Xiaohongshu collector in our catalogue today. For the comment thread under a note, the web scraping API with rendering returns the 1,465-word version at $0.001 per page, and for the head-only note the same API without rendering is $0.0002 per page.
  • Every account gets $2 of free API usage per month.

If you want the same treatment of a platform where the exit country does rewrite the page, start with Douyin, where the same profile rendered from Germany and not from the United States on the same afternoon, or with same URL, different country, different page for the cross-target view.

Sources & further reading

FAQ

Quick answers on xiaohongshu proxies.

Something else? Ask us →

Do I need a proxy to read public Xiaohongshu notes?

Not for a handful of requests: every one of our 24 fetches on 28 September 2026 returned HTTP 200 from a residential exit, and the note bytes were identical from the United States and Germany. You need a pool for volume, and you need the feed token far more than you need a particular country: a note requested by id alone returns 7 words, the same note with the xsec_token from the feed returns the full text in 70,499 bytes.

Why does a Xiaohongshu note URL return a page that says it is not available?

Because the URL is missing the xsec_token that the feed attaches to every card. A bare note id is redirected to a /404 page carrying error_code=300031 at HTTP 200 with 7 words of content; a bare profile id is sent to the login page at HTTP 200 with 36,691 bytes and 0 words. Take the URLs from the explore feed, which hands out 62 tokenised cards per 186,518-byte response, and both surfaces open.

Can I get follower counts from a Xiaohongshu profile without logging in?

Only rounded ones. A tokenised profile returned 138,874 bytes and 698 words over plain HTTP, and its meta description states the counts as "10+ followers" and "1K+ following". The exact figures are not served to a logged-out client from any of the three exit countries we used, so treat the description as a bucket, not a number.

Does rendering a Xiaohongshu note add anything?

It adds the comments and the related cards, at 35 times the bytes. The plain-HTTP note is 70,499 bytes with the complete 2,718-character body in the meta description and an Article JSON-LD block; the rendered note is 2,475,522 bytes and 1,465 words, and takes 7.3 to 14.3 seconds depending on the exit. Render only when the comment thread is the product.

Does Xiaohongshu allow scraping in its robots.txt?

No, for an unnamed client. The 492-byte file gives Baidu, Bing, 360, Sogou and Yisou an allow-list of the home page, /explore, /download and the sitemaps, gives Googlebot only /worldcup26, and closes with User-agent: * / Disallow: /. Every note we fetched also carried meta robots noindex,nofollow,nosnippet. The platform serves the text and asks that it not be republished; build accordingly.

Will a proxy let me run several Xiaohongshu accounts?

We will not help with that. Every account surface we touched is behind the login page, which answered our bare profile request with 36,691 bytes and 0 words, and account controls on this platform run on device and session signals that an IP does not change. Public notes, public profiles and the explore feed are readable without an account at 70,499, 138,874 and 186,518 bytes respectively; that is the scope of this page.

Read Xiaohongshu notes at 14,185 per gigabyte

Residential exits from $0.80/GB return the full note text in 70,499 bytes over plain HTTP from any country, and the web scraping API renders the comment thread at $0.001 a page when you need it. Every account gets $2 of free API usage per month.

Related reading

Social proxiesDouyin Proxies: 2.1 KB a Profile via the API

Nineteen fetches of Douyin on 28 September 2026. A public user page answers a plain HTTP client with 72,914 bytes and zero words from every country, and rendering it worked from Germany in 10.5 seconds, took 65 seconds from Singapore and did not finish from the United States. The endpoint that does the job needs no key: 2,100 bytes of JSON with follower and like counts, identical from all three exits. That is 3,902 times less than the 8,194,019-byte render.

Read →
Social proxiesKuaishou Proxies: 1,009 Words, Zero Browser

Thirteen fetches of Kuaishou on 28 September 2026. A public profile answers a plain HTTP client with 341,397 bytes, 1,009 words and 31 video cards from Singapore, 341,309 bytes and 1,010 words from the United States. Rendered it is 606,175 bytes, 39.7 seconds and the same 1,009 words. The head is generic on every profile, the video page is the one surface that needs a browser, and robots.txt allows fourteen named crawlers, GPTBot included, and nobody else.

Read →
Social proxiesNaver Proxies: 768 Words Without a Browser

Twenty fetches of Naver on 28 September 2026. The desktop blog is a frame that returns 0 words with or without JavaScript; the same post on the mobile subdomain returns 768 words in 155,493 bytes over plain HTTP, identical from Korea, the United States and Germany. The blog RSS hands over 50 posts in 99,632 bytes, a public cafe serves 8,280 words in a 1990s Korean charset, and the Open API answers a keyless request with 113 bytes and a documented quota of 25,000 calls a day.

Read →