Back to Blog

Build a RedNote Competitor Dashboard from Scratch: One Table, One Cron Job

Rnote API Team · · 3 views · 中文
Xiaohongshu Data Dashboard Competitor Monitoring Automation

"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.