Our own visit statistics are always on. Google Analytics, which helps us understand how people use our public pages (not your signed-in workspace), is enabled only with your permission. See our Privacy policy.

Xiaohongshu API: Official Platform, GitHub Scripts or Pay-per-Call

The official Xiaohongshu (RedNote) platform gives login and shop data only. We checked 9 GitHub scrapers and paid for 9 live calls: $0.28 per 1,000 posts.

Illustration of a large open red book made of many small square cards. Three paths lead to it. On the left a small booth with a railing hands out one small card through a window. In the middle a workbench is covered with cables, keys and tools, and a small ladder leans on the book. On the right a tidy counter holds a neat stack of cards on a tray, with one small teal coin on top.

Most people who search for a "xiaohongshu api" or a "rednote api" want public posts and comments from other accounts. On 4 November 2026, the official Xiaohongshu open platform did not offer that. Its account platform opened one permission scope, basic_info, with four fields: nickname, avatar, gender and region. The scope that reads notes is still marked "planned" (scope list). We also checked nine popular open source scrapers on GitHub.

In the last 90 days they received 92 new issues, and 31 of them report a broken login, a blocked request or a page change. Then we paid for nine live calls through EveryInfra. Each call cost $0.005556. One search page returned 20 posts, which is $0.278 per 1,000 posts. Empty results and bad parameters cost nothing.

This article compares three ways to get Xiaohongshu data. The first way is the official open platform. The second way is an open source script that runs with your own login. The third way is a third-party data API that charges per request.

For the first two ways we only used public material: the official developer documents, public GitHub data and public issues. For the third way we used our own API, EveryInfra, and we report the real charge from each response. We do not name other third-party services. The section on comparing third-party prices gives a formula, so you can convert any price list yourself.

Illustration. A wall made of hundreds of small cards stands for the content on Xiaohongshu. In front of it are three objects. On the left a locked glass cabinet reaches only one low row of cards. In the middle a shaky ladder with a key on a hook reaches high cards, but one step is broken. On the right a conveyor with a counter dial takes one tray of cards from the wall at a time.
The three routes reach different parts of the content. The official door is small, scripts reach high but depend on a login, and a pay-per-call API takes one page per request and counts each one.

The short answer: what each route can and cannot do

The three routes are not three prices for the same thing. They reach different data. The official platform is for your own things: your app login, your own shop orders and your own ad reports. It has no endpoint that searches other people's posts or reads other people's comments.

A GitHub script can read most of what you see in a browser, because it acts like a browser with your login. So what it can read, and for how long, depends on your account and on the site that week. A pay-per-call API turns the same task into a normal HTTP request. You pay for each request, and the data you can get, and the rows per page, are what the provider lists in its public catalog.

QuestionOfficial open platformGitHub open source scriptPay-per-call API (EveryInfra, tested)
Public posts, comments and search results of othersNo; read_notes is "planned"Yes, while the script and the account workYes: 17 actions for search, posts, comments, users and products
What you needA company; the shop API needs a company shop or a software firm older than one yearA Xiaohongshu account, often with real-name verificationAn API key from the provider
MoneyNo fee found in the documentsFree code; you pay for accounts, proxies and your time$0.005556 per call; empty results and errors are free
StabilityMaintained by the platform; app review takes 1 to 3 business days34% of recent issues report something brokenAll 9 paid calls in this test returned data
Best forYour own app, shop or adsLearning and small personal projectsCompetitor, brand, product and trend research
Commercial useUnder the developer termsDepends on the license; one popular license forbids itUnder the service terms; you must still check that your data use fits the platform terms and the law (see the compliance section)

The first row is the one people miss. A common plan is "apply for the official API first, and look elsewhere only if they say no". But today the scopes that relate to public content, user_profile, read_notes and read_followers, are all closed. Even with an approved app, you get the nickname and avatar of the user who logs in. The next sections look at each route, with the source text or our test data for each claim.

Is there an official Xiaohongshu API? Four doors, four jobs

Yes, and there is more than one. Each one covers a different job. On 4 November 2026 we opened every public developer site of Xiaohongshu. For each one, we listed the audience, the entry rules and the data you get.

Official siteWho it is forEntry conditionData you getData you do not get
Account platform (openaccount.xiaohongshu.com)Apps, websites and car systems that want "log in with Xiaohongshu"Submit app details; review takes about 1 to 3 business daysnickname, avatar, gender, region of the user who logs inOther users' posts, comments or followers
E-commerce open platform (open.xiaohongshu.com)Shops that build their own tools, and software vendorsA company; vendors need more than one year of operation; only the main shop account can authorizeProducts, stock, orders, after-sales, finance and shipping labels of the authorized shopAny data outside that shop, and any community content
Ads Marketing API (ad.xiaohongshu.com)Brands and agencies that already buy adsA sales manager at the platform starts the approvalReports, campaigns and creatives of your own ad accountOrganic posts and competitor data
Share platform (agora.xiaohongshu.com)Apps that want a "share to Xiaohongshu" buttonThe page shows that new sign-ups are pausedShare and publish features in the pastNo read features

The account platform is the newest door. Its home page says it gives your app a Xiaohongshu login through standard OAuth 2.0 (developer portal). The quick start guide says that a new app waits about 1 to 3 business days for review. It also says that only the basic_info scope is open now (quick start). The scope page lists five scopes.

Only basic_info has the status "open". The other four are "planned", and write_notes also says it needs manual review and opens only for special cases (scope list). The API reference has 11 endpoints, and all of them are about tokens and login. They check status, get and refresh a token, get basic user info, revoke access, and run QR login for car screens and web pages. That page was last updated on 19 August 2026, and it gives the refresh token a life of 180 days (API reference).

Screenshot of the scope table on the Xiaohongshu open platform, with a teal frame around the whole table. Five rows. basic_info for basic user info with the fields nickname, avatar, gender and region has the status open. user_profile, read_notes, write_notes and read_followers all have the status planned.
The official scope list on 4 November 2026: only basic_info is open; reading notes and follower lists is still planned. Captured at 00:27:52 Singapore time. Xiaohongshu open platform, scope list

The e-commerce open platform is the door that shop owners know. It has two developer roles. A software vendor builds order, product or ERP tools for many Xiaohongshu shops and lists the app in a service market. A self-built developer makes tools only for its own shop. The entry rules are strict. A vendor must be a company registered in mainland China for more than one year, with technical development or technical services in its business scope.

A self-built developer cannot be an individual shop (developer role guide, a third-party mirror of the platform docs). The authorization guide says that only the main shop account can authorize an app. The authorization code lives for 10 minutes, the access token for 7 days and the refresh token for 14 days (authorization flow for vendors).

Every business call goes to one gateway address. Each call carries an MD5 signature of appId, timestamp, version, method and the app secret (signature method). This door connects your shop to your own systems. Its data boundary is the shop that authorized you.

The token rules show how narrow each door is. We put the published lifetimes side by side:

DoorWho authorizesAuthorization codeAccess tokenRefresh token
Account platformThe user who logs in10 minutes, one useNot covered here180 days
E-commerce open platformThe main account of the shop only10 minutes7 days14 days

The third door is the ads Marketing API. Its getting started guide says the API is for key industry clients that already run ads on the platform and have API experience. A platform sales manager starts the developer registration (Marketing API getting started). It gives reports and campaign control for your own ad account, not organic posts.

The fourth door is the share platform, which offered "one tap share" and "quick publish" to other apps (share platform). In November 2025 a developer posted that the page had no sign-up button and showed a paused status (forum post). When we opened it on 4 November 2026, it still had no sign-up entry. There is also a mini program platform for apps that run inside Xiaohongshu (mini program platform), and it also does not read community content.

What the official platform does not give you

Put the four doors together and the result is simple. The official APIs face inward. They cover your own account, your own shop and your own ads. None of the four doors documents a third-party endpoint to search all posts, read any comments or open any public profile. On the scope page, read_notes and read_followers are still "planned".

For readers outside mainland China there is a second document. Users who register outside mainland China are RedNote users. They follow the RedNote terms, in force from 9 June 2026, with Rednote Technology Pte. Ltd. as the operator (RedNote Terms of Service). The compliance section below covers what both sets of terms say about automated reading.

So the "rednote api" question has the same answer as the "xiaohongshu api" question. There is no official read API for public content in either version.

So the search phrase "xiaohongshu api" hides two different needs. If you need login for your own app, a link to your own shop, or reports from your own ad account, use the official door. You can stop reading here. If you need competitor tracking, brand listening, product research or content trends, the official doors do not help today. Your choices are a script or a third-party API.

Both need a clear view of the legal limits, which we cover in the compliance section below. People also ask about the creator marketplace API. A developer on a Chinese forum said you can call its page endpoints with your cookie. Another developer in the same thread said it returned only the first few selected comments, and paging did not work (forum thread). That method also uses your own login on page endpoints, so it belongs to the script route in the next section.

Xiaohongshu API on GitHub: nine popular repositories, measured

Open source scripts are the first choice for many developers, because they are free and you can read the code. We did not want to write "scripts break a lot" from memory, so we sampled GitHub at 00:19:50 on 4 November 2026 (Singapore time) through the GitHub API. The rule was simple. We searched GitHub for xiaohongshu, xhs spider and the Chinese name of the app. We took the top 30 results by stars for each query and removed duplicates.

Then we kept only repositories whose main job is to get data. That means crawlers, request wrappers, MCP servers, command line tools and downloaders. We removed tools that only publish posts, make images or download video from many sites. Nine repositories passed. "Issues in 90 days" means issues opened from 6 August to 4 November 2026, without pull requests (GitHub issues API).

RepositoryStarsLicenseLast commitCommits, 30 daysIssues, 90 daysBreakage issues
NanmiCoder/MediaCrawler70,070Non-commercial learning license 1.12026-11-0311123
xpzouying/xiaohongshu-mcp16,856Apache-2.02026-11-03353714
JoeanAmier/XHS-Downloader13,199GPL-3.02026-10-1842811
cv-cat/Spider_XHS8,368None stated2026-10-22361
white0dew/XiaohongshuSkills3,565MIT2026-11-033200
jackwener/xiaohongshu-cli2,718None stated2026-03-21032
Jamailar/Beav2,270Other2026-11-022950
ReaJason/xhs2,231MIT2025-07-01000
autoclaw-cc/xiaohongshu-skills2,021MIT2026-05-23010

We read the title of each issue and put it in one of four groups by hand. Group one is login, cookie, QR code or session failure (10 issues). Group two is verification checks, limited search or blocked requests (3 issues). Group three is a read, parse or automation step that failed or timed out after a page or endpoint change (18 issues).

The other 61 issues are feature requests, install problems, security notices, promotion posts, or titles with no clear content. Titles can mislead. For example, three issues had only the word "problem" in the title, and we put them in the "other" group. So 31 is a lower limit.

Stacked bar chart of the seven repositories with new issues in the last 90 days. The teal part is login, anti-bot and breakage issues and the grey part is other issues. xiaohongshu-mcp 14 of 37, XHS-Downloader 11 of 28, MediaCrawler 3 of 12, Spider_XHS 1 of 6, Beav 0 of 5, xiaohongshu-cli 2 of 3, xiaohongshu-skills 0 of 1. Total 31 of 92.

These numbers do not mean that the busy projects are bad. The opposite is true: a project gets many issues because many people use it and the maintainer is active. xiaohongshu-mcp had 35 commits in 30 days. Its recent issues include "cannot log in" (#880, 23 October) and "search is limited, but the phone app works" (#877, 21 October). One user asked directly whether the platform allows the tool.

The same user asked if the tool could reduce the reach of their own posts (#878, 22 October). XHS-Downloader issue #497 (17 October) shows a typical page change. The server-side data in the web page started to use a new syntax, and the parser stopped. In the same repository, #479 asks for a setting to slow the crawl so that it does not trigger the site's defenses. The title of Spider_XHS issue #191 (10 October) is simply "Cookie is invalid or expired".

Bar chart of days since the last commit for nine repositories, on 4 November 2026. MediaCrawler (70,070 stars) 0 days, xiaohongshu-mcp (16,856) 0, XHS-Downloader (13,199) 16, Spider_XHS (8,368) 12, XiaohongshuSkills (3,565) 0, xiaohongshu-cli (2,718) 227, Beav (2,270) 0, xhs (2,231) 490, xiaohongshu-skills (2,021) 164. The three bars above 150 days are teal.

The other risk is a project that nobody maintains. ReaJason/xhs is a request wrapper for the Xiaohongshu web site. Its last commit was on 1 July 2025, which is 490 days ago. xiaohongshu-cli stopped on 21 March 2026. No new issues does not mean the code works.

It can mean that the users have left. Before you pick a script for a daily job, check three things. Look at the date of the last commit. Read last month's issues for login, expiry or parse errors. See how fast the maintainer answers.

The real costs of scripts: login, signatures, RedNote split and licenses

The first cost is the login. Almost every popular script asks you to log in and save the cookie. The xiaohongshu-mcp README says in bold that one account cannot stay logged in on several web clients. If you log in on another web client, the tool gets logged out. The author also warns that a new account without real-name verification will trigger a verification check (xiaohongshu-mcp README).

A user of xiaohongshu-cli complained in #82 that the tool forced a new login every 7 days. When the login expires, the scheduled job stops, and you often find out only when the next report is empty. The account itself is also at risk. Section 2.3 of the user agreement says an account is for the owner only. Giving it to a third party is not valid, and the platform can block accounts it sees as risky (user agreement). Treat the account that runs your script as something you can lose at any time.

The second cost is request signing. Requests to the Xiaohongshu web endpoints carry signature headers such as x-s and x-s-common. Some endpoints need one more anti-bot header. There are whole repositories for this job. The xhshow README says it makes the x-s, x-s-common and x-rap-param headers. It adds that feed, search and publish endpoints need the extra x-rap-param header (Cloxl/xhshow).

MediaCrawler takes another approach. It keeps the login in a Playwright browser and runs JavaScript in that browser to get the signature values. Its README says it connects to the Chrome that the user already has, to lower the risk of detection (MediaCrawler README). Both approaches share one weak point. When the signing method changes, every script that depends on it stops at the same time. That is one source of the 18 breakage issues above.

The third cost matters most for readers outside China: the RedNote split. Issue #579 in xiaohongshu-mcp explains it. Users who registered with a non-China phone number after 8 December 2025 are RedNote users. Their web session goes to rednote.com, and their cookies use the .rednote.com domain.

Scripts that only read xiaohongshu.com cookies keep saying "not logged in". This matches the user agreement, which puts mainland users and RedNote users under two different sets of terms. Maybe your team in Singapore, London or New York opened its accounts with local phone numbers in 2026. Then many tutorials will not work for you.

The two account types follow different rules. This table puts the facts from the issue and from the two sets of terms together:

Xiaohongshu accountRedNote account
Who has itUsers who registered with a China phone number, or before 8 December 2025Users who registered with a non-China phone number after 8 December 2025
Web addressxiaohongshu.comrednote.com
Cookie domain.xiaohongshu.com.rednote.com
TermsUser agreement, updated 23 March 2026RedNote Terms of Service, effective 9 June 2026
Automated readingLimited by sections 3.4 and 4.1Limited by the RedNote terms

The fourth cost is the license, and many people skip it. The MediaCrawler license is the "NON-COMMERCIAL LEARNING LICENSE 1.1". It says the software is only for learning and research. You may not use it for large-scale crawling or to disturb the platform. Commercial use needs written consent from the copyright holder (MediaCrawler license).

Spider_XHS and xiaohongshu-cli do not state a license on GitHub. GitHub explains that without a license the author keeps all rights. Nobody else has permission to use, change or share the code (GitHub docs on licensing). A company that puts this code in a product or a client delivery will have a hard time with its legal team.

Xiaohongshu scraper API by the call: what we tested

The third route is a data API that charges per request. You send an HTTP request, the provider sends back a page of structured data, and you pay for each request. We ran live calls through EveryInfra from 00:14 to 00:20 Singapore time on 4 November 2026. We called six Xiaohongshu actions in nine paid calls. We also made three requests fail on purpose. Four more requests hit the rate limit (429), and they worked when we sent them again.

First we read the free catalog to check the parameters and prices (catalog, read at 00:13 Singapore time). Xiaohongshu has 17 actions. Sixteen of them cost $0.005556 per call, and one ranking list for creator marketing costs $0.016. Search, user posts and product search return 20 rows per page, comments return 15, and replies return 10. A page token stays valid for 24 hours.

Singapore timeActionRequestRows returnedChargedPer 1,000 rows
00:14:59xiaohongshu/searchChinese keyword for "sunscreen for sensitive skin", page 120 posts$0.005556$0.278
00:15:17xiaohongshu/noteThe post with the most comments on page 11 post$0.005556$5.556
00:15:25xiaohongshu/commentsComments on the same post, page 115 comments$0.005556$0.370
00:15:35xiaohongshu/comments_batch3 posts in one request45 comments (15 each)$0.016667$0.370
00:17:05xiaohongshu/user_postsPosts of one ordinary account19 posts$0.005556$0.292
00:17:18xiaohongshu/product_searchChinese keyword for "sunscreen"19 products$0.005556$0.292
00:18:00xiaohongshu/searchChinese keyword for "Barcelona travel", page 120 posts$0.005556$0.278
00:20:00xiaohongshu/searchSame keyword, page 220 posts, 0 repeats$0.005556$0.278
00:20:19xiaohongshu/searchEnglish keyword "Singapore food"19 posts$0.005556$0.292

The nine calls cost $0.061115 in total, for 11 billing units (the batch of 3 posts counts as 3).

We divide the charge by the rows that came back, not by the page size in the catalog. So the calls that returned 19 rows cost a little more per row. The largest gap is the post detail. It costs the same $0.005556 as a search, but a search returns 20 posts and a detail call returns 1. Per row, the detail is 20 times more expensive. For bulk analysis, use the fields that already come with search results (title, text snippet, likes, saves, comment count, date and author) and call the detail action only when you need more.

Bar chart on a log scale. Every call costs $0.005556, but the price per 1,000 rows differs by action. search page 1 and page 2 $0.278 each, user_posts $0.292, product_search $0.292, English keyword search $0.292, comments $0.370, comments_batch $0.370, note detail $5.56. The detail bar is teal and is 15 to 20 times the others.

The English keyword test is worth a closer look for readers outside China. We searched "Singapore food" with no other filter. The search returned 19 posts, but only 4 titles contained English words. The rest were in Chinese, which shows that the platform matches an English query to Chinese content about the same topic. Only 3 of the 19 posts were less than 30 days old, and the median post was 242 days old.

That happens because the default sort is relevance, and evergreen guides rank high. The post with the most comments (412) was a complaint about an overpriced meal from September 2025. A post about cheap durian from January 2026 had 80 comments. For this week's view of a topic, set sort to newest or add a date_range. Without them you will mostly read old guides.

The two keywords behave very differently. Both searches used the default sort:

MeasureSunscreen keyword, pages 1 and 2"Singapore food", page 1
Posts returned4019
Posts less than 30 days old213
Median post age28 days242 days
Median likes55.5108
Most comments on one post231412
Screenshot of a dark code card. At the top is the request body with platform xiaohongshu, action search and a Chinese keyword about sunscreen for sensitive skin. In the middle is a short part of the response with count 20 and two posts with id, title, likes, saves, comment count and date; the author names are masked. At the bottom a teal frame marks charged_usd 0.005556 in the billing block.
The real response of the search at 00:14:59 Singapore time on 4 November 2026. We kept 2 rows, shortened the text and masked the author names. The teal frame shows the real charge. EveryInfra API response

Four more details came out of the test. First, paging really moves forward: page 2 had no post in common with page 1. Of the 40 posts, 21 were less than 30 days old, 12 were less than 7 days old, and the oldest was 231 days old. Second, the detail call reads the post again, live. The post showed 231 comments in the search result and 232 in the detail call two seconds later. The detail also adds the IP region, 8 topic tags and a list of 10 images.

Third, replies need their own call. The 15 top comments on page 1 declared 53 replies, but each comment carried only 1 reply inline. For full threads, call xiaohongshu/sub_comments. Fourth, comments_batch charges per post. Three posts cost three times $0.005556, so the price per comment is the same as single calls. The batch saves requests and rate limit room, not money.

How to connect: curl, response fields and MCP

The simplest connection is one POST request. This is the English keyword search from the table. Keep the key in an environment variable, not in your code:

bash
curl -s https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"xiaohongshu","action":"search","params":{"keyword":"Singapore food","sort":"newest","date_range":"last_7_days"}}'
# Next page: copy next_page_token into params.page_token. For slow jobs add "mode":"async" and poll the job_id.

The response fields match the response_fields list in the catalog. The table shows the groups we used and what we saw in the test:

ActionMain fieldsWhat we saw
xiaohongshu/searchid, url, title, text, like_count, collect_count, comment_count, posted_at, author_id, is_video, next_page_tokenAll 40 rows had a url with an access token; 6 were videos
xiaohongshu/noteThe fields above plus ip_location, tags, topics, images, share_count10 images and 8 topic tags on the tested post
xiaohongshu/commentsid, text, like_count, posted_at, ip_location, sub_comment_count, sub_comments, is_author14 of 15 comments had an IP region
xiaohongshu/product_searchtitle, price, original_price, currency, sold_count, shop_name19 products, priced 6.99 to 250 CNY, from 15 shops

For AI clients, EveryInfra is a remote MCP server. MCP (Model Context Protocol) is an open protocol that lets an AI client call outside tools (specification). All tool names start with everyinfra_. Add this block to the client and you can start:

json
{
  "mcpServers": {
    "everyinfra": {
      "url": "https://api.everyinfra.com/mcp",
      "headers": { "Authorization": "Bearer ${env:EVERYINFRA_API_KEY}" }
    }
  }
}

Then you can ask in plain words: "Search Xiaohongshu for posts about Singapore hawker food from the last 7 days. Keep the ones with more than 20 comments and get one page of comments for each. List the dishes people complain about." The action pages and the playground are at Xiaohongshu data API and search. The MCP setup checks are in remote MCP setup, and the Xiaohongshu tools are listed on Xiaohongshu MCP.

Failures, empty results and rate limits: what is free

The biggest fear with per-call pricing is paying for nothing. We made three requests fail on purpose (an empty result, a bad parameter and no key). Four more requests hit the rate limit (429). None of the seven was charged:

Singapore timeCaseHTTP statusWhat the response saysCharged
00:15:48User posts call hit the rate limit429rate_limited, retry_after 12 seconds$0
00:15:55Product search call hit the rate limit429rate_limited, retry_after 5 seconds$0
00:17:43Search page 2 hit the rate limit429rate_limited, retry_after 17 seconds$0
00:17:52English keyword search hit the rate limit429rate_limited, retry_after 8 seconds$0
00:18:12A keyword with no posts in the last 24 hours200count 0, reason empty_result_refunded$0
00:18:49sort set to hottest422Lists 5 allowed values; did_you_mean is most_liked$0
00:18:49No API key401missing_key, "Nothing was charged"$0

The empty result took 29 seconds. The response says count 0 and reason empty_result_refunded, and nothing was charged. The 422 error lists the allowed values, and that helps when an AI model calls the API.

The model reads did_you_mean and fixes the request by itself.

The rate limit counts per account, and all keys on the account share it, so more keys do not add more room. The account limit depends on the total amount you have topped up (pricing).

The four 429 responses were not planned. Our test key had its own cap of 10 calls per minute. From 00:14:59 to 00:15:48 we sent only 4 calls ourselves, so other tests were using the same key at the same time.

Each 429 said "Nothing was charged" and gave a retry_after of 5 to 17 seconds. We sent the four requests again 77 to 147 seconds later, and all four worked at the normal $0.005556. In a scheduled job, wait for retry_after, retry, and leave queue time in each run. For a full method to match charges and refunds, see failure refund reconciliation.

Xiaohongshu API pricing: 10 times TikTok, so budget it apart

We will be direct: in our own catalog, Xiaohongshu is the most expensive social platform. We took the median price of all available actions on each platform. Xiaohongshu is $0.005556 per call.

TikTok, YouTube, Instagram, Bilibili and Reddit are $0.000556, exactly one tenth. Douyin, Kuaishou, Weibo, Zhihu and X are $0.000806, so Xiaohongshu is 6.9 times more. Taobao and JD are $0.001389, so Xiaohongshu is 4 times more. Only Amazon is a little higher, at a median of $0.006875.

Bar chart of the median price per request for each platform in the EveryInfra catalog. Xiaohongshu $0.005556, in teal. Douyin, Kuaishou, Weibo, Zhihu and X $0.000806 each. TikTok, Bilibili, Instagram, YouTube and Reddit $0.000556 each. Xiaohongshu is 10 times TikTok and 6.9 times Douyin.

The Xiaohongshu catalog price is 4 to 10 times the price of other platforms. The pricing page has the current numbers. In budget terms, $10 a month buys about 1,800 Xiaohongshu calls at $0.005556, and about 18,000 calls at the TikTok median of $0.000556.

For you, it means the same budget buys about one tenth as many Xiaohongshu requests as TikTok requests. If one project covers both platforms, do not use one unit price for both. The TikTok data API page shows its own price. And it means the next section, how to call less, matters more here than on other platforms.

How to call less: five habits and one monthly bill

First, use lists before details. Search and user posts return 20 rows per page with title, snippet, likes, saves, comment count, date and link. Most sorting and filtering needs nothing more.

Call xiaohongshu/note only for the IP region, the topic tags or the full text. Each detail row costs 20 times a list row. Second, check the comment count before you pull comments. In our 40-post sample the median comment count was 14, and only 18 posts had 20 or more.

Pulling comments for a post with 0 comments gives an empty result. It is free, but it still uses a slot in your rate limit. Third, use time filters instead of full re-pulls. A daily job can use sort set to newest with date_range set to last_24_hours or last_7_days, and process only new posts.

Fourth, open reply threads only when needed. sub_comment_count already tells you how many replies each comment has, so expand only the busy ones. Fifth, run the job only as often as the business needs it. Many competitor reports work fine once a week.

Plan for 20 keywordsCalls per monthAPI cost per month
Search 1 page per keyword per day600$3.33
Same, plus 1 page of comments for each of the 20 posts12,600$70.01
Same, but comments only for posts with 20 or more comments6,000$33.34
Same as above, but once a week800$4.44

This table uses the catalog price of $0.005556. The share of posts with 20 or more comments, 18 of 40, comes from our sample. It is an estimate, not a bill.

Your keywords will give a different share. The same monitor drops from $70.01 to $4.44 a month, which is 15.8 times less. The saving comes from fewer calls, not from a lower unit price. Per-call pricing helps here: every call is visible, so you can work out in advance what each cut saves.

Bar chart of the monthly API cost of one 20-keyword monitor in four versions. Daily search only $3.33 (600 calls). Plus comments on every post $70.01 (12,600 calls). Comments only on posts with 20 or more comments $33.34 (6,000 calls). The same once a week $4.44 (800 calls), in teal.

Here is the second habit in more detail, with the same 40 sunscreen posts from our search. Together they had 1,177 comments. Eleven posts had 0 comments, 18 had 20 or more, and the busiest one had 231. The table uses the catalog price of $0.005556 per page and 15 comments per page:

How you pull comments for the same 40 postsCallsAPI costWhat you get
Page 1 for every post, without checking the count40$0.2222Page 1, up to 15 comments per post
Page 1 only for the 29 posts with at least 1 comment29$0.1611The same, with 11 fewer rate limit slots used
Page 1 only for the 18 posts with 20 or more comments18$0.1000The busiest discussions
Every page for those 18 posts81$0.4500All top comments on the 18 posts
Every page for all 40 posts94$0.5223All 1,177 top comments

The last row is $0.444 per 1,000 comments. That is more than the $0.370 of a first page, because the last page of a post is often not full.

So decide first if you really need every comment. For opinion tagging, the top 15 comments of each post are often enough. Pull every page only when you need a share across all comments, such as the share that names a brand. You can estimate one post the same way. The post with 232 comments in our detail call needs 16 pages, or $0.0889.

Replies work the same way. The 15 top comments on one page declared 53 replies, and each comment already carried 1 reply inline. To open all the other replies with xiaohongshu/sub_comments at 10 rows per page takes 14 calls, or $0.0778. If you open only the 4 comments with 5 or more replies, it takes 4 calls, or $0.0222. That is more than 70% less, and you keep the busiest threads.

Last, think about time. Our test key allows 10 calls per minute. At that speed, the daily plan with comments on every post needs 420 calls a day, which is 42 minutes in the queue. The weekly plan with comments only on busy posts needs 200 calls per run, which is 20 minutes. Account limits depend on the total you have topped up, so check the pricing page. At any limit, fewer calls also mean less queue time and fewer rate limit errors.

How to compare third-party prices: one formula, six questions

Many third-party services charge per request, and they write prices in many ways. Some charge per call, some per row, some per credit. Some add a monthly fee or a start fee. Use one formula to compare them. Price per 1,000 rows = price per request ÷ rows actually returned per request × 1,000.

Here is a made-up example. A service that charges $0.01 per call and returns 10 rows costs $1.00 per 1,000 rows. The same $0.01 with 20 rows costs $0.50. So "price per call" alone tells you little. Ask how many rows each page returns, and better, run one call and count. With this formula, our Xiaohongshu search costs $0.278 per 1,000 posts and comments cost $0.370 per 1,000.

QuestionWhy it mattersEveryInfra answer for Xiaohongshu (test or catalog)
How many rows does one call return?It sets the price per 1,000 rowsSearch 20, comments 15, products 19 to 20
Are empty results charged?Rare keywords add upNo, empty_result_refunded
Are bad parameters, timeouts and platform errors charged?It sets your cost of failure422, 401 and 429 were all free
Is a rate-limited call charged, and how long do you wait?It decides how you write retries429 is free; the response gives retry_after (5 to 17 seconds in our test)
Is there a minimum top-up or a monthly fee?It sets the entry cost for a small trialNo monthly fee; topped-up balance does not expire
Can an AI client call it?It decides whether a model can run the jobRemote MCP, tools named everyinfra_*

Rows two, three and four are the ones people skip. Rare keywords and AI clients that sometimes send a bad parameter make the cost of failure part of your monthly bill. In our test, the seven requests that returned no data (three planned failures and four rate limits) were all $0. Ask about these rows, then run one call yourself and count the rows. Prices and rules are on the pricing page.

Compliance basics: laws, platform terms and practices for data users

This is not legal advice. We list the main points of the law and of the platform terms. Ask a lawyer about your own use. Three rules in China relate directly to Xiaohongshu data.

Article 27 of the Personal Information Protection Law covers public personal information. It allows processing "within a reasonable scope" when the person made the data public, or when it is already lawfully public. This does not apply if the person clearly refuses. Consent is necessary when the processing has a major effect on the person (Personal Information Protection Law).

Article 18 of the Network Data Security Management Regulations covers automated tools that access or collect network data. The user of such a tool must assess the effect on the network service. It must not break into other networks or disturb the normal operation of the service (regulations text). The regulations are in force from 1 January 2025 (Ministry of Justice).

The Anti-Unfair Competition Law, revised in 2025, adds Article 13(3). It says a business must not use fraud or coercion to get or use data that another business lawfully holds. It also must not go around or break technical controls to do so. The revised law took effect on 15 October 2025 (Anti-Unfair Competition Law, 2025).

Two sets of platform terms also apply. The Xiaohongshu user agreement was updated on 23 March 2026. Sections 3.4 and 4.1 limit reading, counting and commercial use of platform content without written permission. They also limit scraping and simulated downloads.

Section 2.3 also limits lending an account to others (user agreement). Users outside mainland China follow the RedNote terms from 9 June 2026. These terms also limit automated extraction of data (RedNote Terms of Service). Ask a lawyer whether your use falls inside these limits.

Courts in China have awarded damages in cases about large-scale collection and resale of platform data without permission. In general the courts ask four questions. Did the collector avoid or break technical controls? Did scattered records become a large data collection for resale? Did it touch personal data or private features? Did the normal operation of the platform suffer?

Whatever route you choose, a data user should keep at least these practices:

  • Use the data only for a lawful and clear purpose, such as brand listening or product research. Write the purpose down, and check again before you change it.
  • Follow the platform terms and the law where you work. Ask a lawyer before any use that the terms limit, such as commercial resale or bulk download of content.
  • Keep personal data to a minimum. Treat nicknames, avatars and IP regions in comments as personal data. Do not store fields that your analysis does not use. Keep totals instead of single rows when you can. Write down how long you keep the data and why.
  • Do not resell raw data. Give clients findings and summary tables, not packs of raw rows, and do not publish raw rows.
  • Take only what your analysis needs, and delete old raw data on a schedule.
  • Do not touch private messages, private accounts or other content that is not public. Do not use the data to send bulk messages to users.

These practices point the same way as the habits in the "How to call less" section. When you take only what your analysis uses, you pay less, and you also have less data to store and protect.

Which route to choose, by the job you have

If you build your own app and want "log in with Xiaohongshu", use the account platform and apply for basic_info. Create the app, set the callback address, and wait 1 to 3 business days for review. If you sell on Xiaohongshu and want orders and after-sales in your ERP, use the e-commerce open platform. Choose the self-built role if you have developers, or find a vendor in the service market. If you buy ads and want reports in bulk, ask your platform sales manager to open the Marketing API. None of these three jobs needs a third party, and none should use one.

If your job is to watch others, the official doors do not help today. Such jobs include competitor post counts and engagement, user opinions on a topic, product recommendations, and the image of a brand on the platform. You can choose a script or a third-party API. For small, occasional or learning work, an open source script is enough. Use an account you can afford to lose, and read the license. For a daily job, a client delivery, or an AI client that calls the data by itself, a per-call API is easier.

Keep the volume down with the habits in the "How to call less" section, and follow the practices in the compliance section. This matters for foreign brands too. A report by Inside Retail Asia on 12 October 2026 said that people use the app like a search engine (Inside Retail Asia).

So keyword research usually tells a brand more than follower counts. Two related articles go further. Xiaohongshu data export and snapshot analysis shows how to save search and comment data as snapshots. Xiaohongshu comments in bulk gives the full steps for batch comments.

Industry news, October and November 2026

  • 3 November 2026: one day before our sample, MediaCrawler, xiaohongshu-mcp and XiaohongshuSkills all had new commits. Their commit counts for the last 30 days were 11, 35 and 32. ReaJason/xhs still stopped on 1 July 2025 (GitHub API, read at 00:19:50 Singapore time on 4 November 2026). What it means: the live tools change all the time, so you must update with them. The stopped ones do not suit a scheduled job.
  • 21 to 23 October 2026: xiaohongshu-mcp received "cannot log in" and "search is limited" issues in the same week. On 1 November the maintainer merged fixes for search waiting and for the publish flow. On 3 November a fix for browser cleanup after a failed login followed (commit history). What it means: tools that depend on a login need changes every few weeks, so a scheduled job needs a failure alert.
  • 17 October 2026: the web pages of the site changed the format of their server-side data. XHS-Downloader, a downloader with more than 13,000 stars, stopped parsing posts until a fix (issue 497). What it means: a page change on a normal weekday can stop every script that reads that page, so plan for repair time.
  • 19 August 2026: the account platform API reference was updated, and still only basic_info is open (API reference). What it means: do not plan on an official read API for notes in the near term.

Getting started: from one test call to a weekly job

Step one: sign up at EveryInfra and create an API key. There is no monthly fee, and the balance you top up does not expire. The steps are in the quick start. Step two: read the free catalog. Then try one call on an action page. The pages for posts are search, post detail and user posts.

The pages for comments are comments, batch comments and replies. For shops, use product search. Step three: look at charged_usd and the row count in the response, and work out your own price per 1,000 rows with "charge ÷ rows × 1,000". Then use the table in the "How to call less" section to estimate a month. Step four: add the MCP block to your AI client and ask it to run your keywords once a week. Other platforms are in the data market, and service health is on the status page.

FAQ

Does Xiaohongshu have an official API?

This question comes from search suggestions such as "xiaohongshu api documentation" and "rednote api documentation". Yes, but only for your own things. The account platform opens only basic_info (nickname, avatar, gender and region). The e-commerce platform lets companies and vendors read the orders and products of shops that authorize them. The ads API gives advertisers their own reports (scope list, shop authorization). There is no official API that reads other people's public posts or comments, and read_notes is still "planned".

How do I get a Xiaohongshu API key?

This question comes from the suggestions "xiaohongshu api key" and "rednote api key". There is no single official "API key". On the account platform you create an app and get an app id and an app secret. The review takes about 1 to 3 business days (quick start).

On the e-commerce platform a verified company gets an appId and an appSecret, and then the main shop account must authorize it. For the ads API, a sales manager starts the registration. If you need a key that reads public posts, that is a key from a third-party service. With EveryInfra you create it in the console after sign-up.

Can I use Xiaohongshu scrapers from GitHub in a commercial product?

This question comes from the suggestion "xiaohongshu api github". Check the license. In our sample of nine, the MediaCrawler license allows only non-commercial learning and forbids large-scale crawling (license).

Spider_XHS and xiaohongshu-cli state no license, so the authors keep all rights. xiaohongshu-mcp uses Apache-2.0 and XHS-Downloader uses GPL-3.0. A license covers the code only. It does not cover the data you collect with the code. The platform terms and the law still apply to that data.

Does a RedNote account work with Xiaohongshu scripts?

This question comes from the suggestions "rednote xiaohongshu api" and "rednote api github". Often it does not. Issue #579 in xiaohongshu-mcp explains the change.

Accounts registered with a non-China phone number after 8 December 2025 are RedNote accounts. Their web session moves to rednote.com, and the cookie domain changes. Scripts that read only xiaohongshu.com cookies then report "not logged in". RedNote users also follow separate terms, which took effect on 9 June 2026 and forbid automated extraction (RedNote terms).

How is Xiaohongshu API pricing usually set?

This question comes from the suggestions "xiaohongshu api pricing" and "xiaohongshu api pricing reddit". The official doors list no fee for the API itself. Third-party services usually charge per request, per row, or per credit, and some add a monthly fee. Turn every price into the price per 1,000 rows with the formula in the price comparison section before you compare. For EveryInfra, 16 of the 17 Xiaohongshu actions cost $0.005556 per call. In our test that was $0.278 per 1,000 search posts and $0.370 per 1,000 comments (catalog).

References

  1. Developer portal home, Xiaohongshu open platform, read 2026-11-04. https://openaccount.xiaohongshu.com/
  2. Scope list, Xiaohongshu open platform, last updated 2026-03-29, screenshot 2026-11-04. https://openaccount.xiaohongshu.com/docs/scope
  3. API reference, Xiaohongshu open platform, last updated 2026-08-19. https://openaccount.xiaohongshu.com/docs/api-reference
  4. Quick start, Xiaohongshu open platform, last updated 2026-03-29. https://openaccount.xiaohongshu.com/docs/quick-start
  5. Authorization flow for software vendors, Xiaohongshu e-commerce open platform. https://open.xiaohongshu.com/document/developer/file/38
  6. Signature method, Xiaohongshu e-commerce open platform. https://open.xiaohongshu.com/document/developer/file/39
  7. Developer document index, Xiaohongshu e-commerce open platform. https://open.xiaohongshu.com/document/developer/file/4
  8. Developer role guide, third-party mirror of the e-commerce platform docs. https://xiaohongshu.apifox.cn/doc-2811119
  9. Marketing API getting started guide, Xiaohongshu ads platform, updated 2024-01-03. https://ad.xiaohongshu.com/openApiDoc?categoryId=761&articleId=3047
  10. Share open platform home, Xiaohongshu. https://agora.xiaohongshu.com/index
  11. Forum post on the paused share platform, V2EX, 2025-11-06. https://global.v2ex.co/t/1170874
  12. Mini program open platform, Xiaohongshu. https://miniapp.xiaohongshu.com/
  13. Xiaohongshu user agreement, updated 2026-03-23. https://agree.xiaohongshu.com/h5/terms/ZXXY20220331001/-1
  14. RedNote Terms of Service, effective 2026-06-09. https://agree.xiaohongshu.com/h5/terms/ZXXY20251205003/-1
  15. NanmiCoder/MediaCrawler, GitHub, read 2026-11-04. https://github.com/NanmiCoder/MediaCrawler
  16. MediaCrawler NON-COMMERCIAL LEARNING LICENSE 1.1, GitHub. https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE
  17. xpzouying/xiaohongshu-mcp, GitHub. https://github.com/xpzouying/xiaohongshu-mcp
  18. xiaohongshu-mcp commit history, GitHub. https://github.com/xpzouying/xiaohongshu-mcp/commits/main
  19. xiaohongshu-mcp issue 880, cannot log in, 2026-10-23. https://github.com/xpzouying/xiaohongshu-mcp/issues/880
  20. xiaohongshu-mcp issue 877, search is limited, 2026-10-21. https://github.com/xpzouying/xiaohongshu-mcp/issues/877
  21. xiaohongshu-mcp issue 878, does the platform allow this tool, 2026-10-22. https://github.com/xpzouying/xiaohongshu-mcp/issues/878
  22. xiaohongshu-mcp issue 579, support for rednote.com users, 2026-03-13. https://github.com/xpzouying/xiaohongshu-mcp/issues/579
  23. JoeanAmier/XHS-Downloader, GitHub. https://github.com/JoeanAmier/XHS-Downloader
  24. XHS-Downloader issue 497, server-side data parse failure, 2026-10-17. https://github.com/JoeanAmier/XHS-Downloader/issues/497
  25. XHS-Downloader issue 479, slower crawl setting, 2026-09-15. https://github.com/JoeanAmier/XHS-Downloader/issues/479
  26. cv-cat/Spider_XHS, GitHub. https://github.com/cv-cat/Spider_XHS
  27. Spider_XHS issue 191, Cookie is invalid or expired, 2026-10-10. https://github.com/cv-cat/Spider_XHS/issues/191
  28. jackwener/xiaohongshu-cli, GitHub. https://github.com/jackwener/xiaohongshu-cli
  29. xiaohongshu-cli issue 82, forced login every 7 days, 2026-08-17. https://github.com/jackwener/xiaohongshu-cli/issues/82
  30. ReaJason/xhs, GitHub. https://github.com/ReaJason/xhs
  31. white0dew/XiaohongshuSkills, GitHub. https://github.com/white0dew/XiaohongshuSkills
  32. autoclaw-cc/xiaohongshu-skills, GitHub. https://github.com/autoclaw-cc/xiaohongshu-skills
  33. Jamailar/Beav, GitHub. https://github.com/Jamailar/Beav
  34. Cloxl/xhshow, request signature library, GitHub. https://github.com/Cloxl/xhshow
  35. List repository issues, GitHub REST API docs. https://docs.github.com/en/rest/issues/issues#list-repository-issues
  36. Licensing a repository, GitHub docs. https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
  37. Personal Information Protection Law of the PRC, Cyberspace Administration of China. https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm
  38. Network Data Security Management Regulations (State Council Order 790), copy on the Ministry of Ecology and Environment site. https://www.mee.gov.cn/zcwj/gwywj/202410/t20241003_1087417.shtml
  39. Release of the Network Data Security Management Regulations, Ministry of Justice, 2024-09-30. https://www.moj.gov.cn/pub/sfbgw/gwxw/xwyw/202409/t20240930_507076.html
  40. Anti-Unfair Competition Law of the PRC, 2025 revision, China National Intellectual Property Administration. https://www.cnipa.gov.cn/art/2026/5/20/art_104_206437.html
  41. Less shouting, more answering: How brands win on XHS, Inside Retail Asia, 2026-10-12. https://insideretail.asia/2026/10/12/less-shouting-more-answering-how-brands-win-on-xhs/
  42. V2EX forum thread t/1170609 (we cite its replies on the creator marketplace page endpoints), V2EX. https://www.v2ex.com/t/1170609
  43. EveryInfra social data catalog (free to read), read 2026-11-04 00:13 Singapore time. https://api.everyinfra.com/api/v1/social/catalog
  44. Model Context Protocol specification 2025-06-18. https://modelcontextprotocol.io/specification/2025-06-18

Reference BL-85