Searching for “recommended pet products” gives you a shopping list. It may not tell you what to make. Try a narrower question: what makes removing cat hair from a sofa inconvenient for someone living in a rented apartment?
This walkthrough uses TRMesh to find public Xiaohongshu posts and turn them into a needs sheet. Start with a manual round; add AI classification only after you understand the material.

Start with three searches and revise them as you read
Try Chinese terms for cat hair on sofas, cleaning in a rented home with cats, and inconvenient lint rollers. Product words find tools, situation words find conditions, and complaint words may reveal remaining problems. They are starting points, not a promise of a particular result count.
Use the search-notes request below and replace the sample keyword. Review one page and record the keyword and sort order. If the results are mostly pet photos, add a cleaning term. If they are mostly promotions, describe a specific task such as removing hair from sofa gaps. Deduplicate the same note across searches while retaining the matching terms.
Read the conditions behind the complaint
Open relevant notes, distinguish image posts from video posts and use the appropriate detail request or read the original. “It did not work” might refer specifically to a long-pile rug, which a short search excerpt can omit.
Comments may add other situations, but a search request does not supply every comment. Read relevant threads on the original platform first. Keep comments attached to their parent post so that “same here” retains its meaning.
Turn frustration into a useful record
These rows are fictional examples. Use real sources in your own research.
| Situation | Existing solution | Inconvenience | Follow-up question |
|---|---|---|---|
| Loose hair on a fabric sofa | Adhesive roller | Replacing many sheets | Is waste or repeated handling the concern? |
| Hair in sofa gaps | Small vacuum | Attachment cannot reach | How wide are the gaps? |
| Small rented home | Large cleaning machine | Difficult storage | What storage size is acceptable? |
“People want value” gives little design direction. “Removing hair every day without repeatedly peeling sheets” describes a task. Find the action and conditions before labeling a customer segment.
Include workarounds in the competitor list
Other brands are only part of the competition. Damp gloves, old brushes, a vacuum already at home and a washable sofa cover may all solve enough of the problem.
Compare suitable materials, effort, cleaning the tool itself and storage. Record prices only when the product specification and source are clear. This shows which step a new product would need to replace.
Show the AI two good examples first
Manually classify two sources, then ask your AI tool to use the same fields:
Extract the situation, existing workaround, inconvenient action, explicitly stated need and source ID. Put your interpretation in a separate column. Leave missing information blank. Do not infer age or income from a name or avatar.
Check for duplicated recommendations and for “would like to try” being mislabeled as a purchase. Fix the rule before processing more material.
Finish with questions you can test
Which fabric is hardest to clean? Which action takes too long? Would someone change their routine? These questions can guide a trial with suitable participants before you buy inventory.
Continue with turning this research into a small business test. This article identifies the problem; the next explores whether a proposed solution deserves a small commercial experiment.
Topic inspiration: a project researching needs, frustrations and competition through Xiaohongshu. The pet-cleaning exercise and instructions here are original.
Requests used in this project
- Search notes:https://api.trmesh.com/openapi/api/v1/xiaohongshu/app_v2/search_notes · Documentation
- Get image note detail:https://api.trmesh.com/openapi/api/v1/xiaohongshu/app_v2/get_image_note_detail · Documentation
- Get video note detail:https://api.trmesh.com/openapi/api/v1/xiaohongshu/app_v2/get_video_note_detail · Documentation
Request URL and parameters
GET https://api.trmesh.com/openapi/api/v1/xiaohongshu/app_v2/search_notes
| Parameter | Type | Required | Meaning |
|---|---|---|---|
keyword |
string | Yes | Search keyword |
page |
integer | No | Page number, start from 1 |
sort_type |
string | No | Sort type |
note_type |
string | No | Note type: 不限, 视频笔记, 普通笔记, 直播笔记 |
time_filter |
string | No | Time filter: 不限, 一天内, 一周内, 半年内 |
search_id |
string | No | Search ID for pagination |
search_session_id |
string | No | Search session ID for pagination |
source |
string | No | Source |
ai_mode |
integer | No | AI mode: 0=off, 1=on |
Run the Python example
Install requests and set TRMESH_API_TOKEN in your environment. Replace the sample identifiers with the public object you intend to inspect. Example IDs may no longer be available.
import os
import requests
# Read your own developer key from the server environment.
url = "https://api.trmesh.com/openapi/api/v1/xiaohongshu/app_v2/search_notes"
params = {
"keyword": "美食推荐",
"page": "1",
"sort_type": "general",
"note_type": "不限",
"time_filter": "不限",
"source": "explore_feed",
"ai_mode": "0"
}
response = requests.get(
url, params=params, timeout=30,
headers={"Authorization": f"Bearer {os.environ['TRMESH_API_TOKEN']}"},
)
response.raise_for_status()
payload = response.json()
print(payload) # Inspect the actual response before mapping fields
Endpoint documentation · Free profile tool
API calls use your TRMesh account allowance. Check the endpoint price before running a script.
