Build a RedNote Competitor Dashboard from Scratch: One Table, One Cron Job
"Keep an eye on these competitors and these topics for me" usually ends with one person manually scrolling RedNote every morning — for about two weeks, until they stop.
Here's how to turn that into a dashboard that updates itself, using the Rnote API. No data stack required: one table and one cron job.
Decide what the dashboard answers first
Most dashboards fail because they start from "let's store everything". Define the questions first, then the fields:
- How much did we and each competitor publish this week?
- Which posts clearly beat the average?
- Are the topics we track growing or shrinking?
- Has a new account suddenly started gaining in this space?
Four questions, four tables. That's enough.
Three layers
Collection — one scheduled job, same time every day.
Daily 08:00
├─ per competitor account: user/info + user/posted (first page)
├─ per keyword: search/notes (last week, by popularity, 2 pages)
└─ per topic: topic/info + topic/feed (newest page)
Storage — one wide table, one row per note snapshot, with a captured_at column.
The important part is storing snapshots, not current values. Write one row per note per day and you can compute "likes gained since yesterday" — the single most valuable column on the whole dashboard, and one a latest-value-only schema can never produce.
Presentation — any BI tool will do. A spreadsheet auto-posted to the team chat each morning is fine. Don't start by building a frontend.
Three metrics worth having
Velocity, not totals. Sorting by (likes today - likes yesterday) surfaces what is happening now. Sorting by absolute likes just returns the same old hits forever.
Weekly output and median performance per account. Pull recent notes with user/posted, count this week's posts and take the median engagement. Median, not mean — a single viral post drags the mean somewhere useless.
New notes per topic. Take the newest page from topic/feed daily, dedupe by note ID, count. A topic climbing several days in a row is the signal that the space is heating up.
What it costs
Say you track 10 competitor accounts, 10 keywords and 5 topics:
10 accounts x 2 calls + 10 keywords x 2 pages + 5 topics x 2 calls = 50 calls/day
Fifty a day, roughly 1,500 a month. Check the pricing page for the amount — but at this volume it is far below the cost of a person scrolling for two hours every morning.
Prefer no code?
The dashboard's collection and math already ship as tools: Account Report and Topic Insights. Run them for two weeks to check the metrics are actually useful, then automate.
Get started
Sign up free for credits — only successful calls are billed. Endpoints are in the docs. For scheduled jobs, see batch crawls that don't die halfway.
Related articles
- Pugongying Content Square and Keyword Analytics: Decide What to Say Before Who Says It Content Square for category-level distribution, keyword/daily to bet on rising rather than high, related for long-tail expansion, and why the live pool is a different pool.
- Usage Doesn't Add Up? Split Billing by Date and by Endpoint Locate the anomalous day, find the expensive call pattern, export and reconcile against your own logs — plus three ten-minute checks that nearly always find something.
- Batch Crawls That Don't Die Halfway: Error Classes, Backoff and Resumability Split failures into retryable, not-retryable and stop-the-job; back off with a cap; persist progress and flush it; then patch with a second pass. Copyable Python included.
- Reading Pugongying Audience Profiles: From Follower Counts to Real Due Diligence City concentration, age overlap, gender extremes and growth-curve shape — how to read the four Pugongying audience endpoints, plus a screening order that cuts call volume.
About the Rnote Xiaohongshu API
Skip building a RedNote scraper: one API key gets you notes, comments, users, search, products and Pugongying creator data. Pay per call, charged only for successful requests.