Skip to content
Eden Engine

Xiaohongshu Note Search (by Keyword)

omnial/xiaohongshu-app-search-notes

Given a search keyword, returns up to 20 matching Xiaohongshu (Little Red Book) notes: each note's title, caption, image count/dimensions, video length, publish/update timestamps, engagement counts (likes, comments, collects, shares), any corner-badge tags the app shows on the note (e.g. a publish-date badge), and the author's public nickname and handle. A keyword with no real matches can still return a full page of loosely-related notes rather than an empty result -- see usage.md.

activeper callv2

Price

Up to $0.0205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

Xiaohongshu

Data from Xiaohongshu.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/xiaohongshu-app-search-notes" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/xiaohongshu-app-search-notes" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/xiaohongshu-app-search-notes", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/xiaohongshu-app-search-notes", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0205
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "keyword"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "examples": [
        1
      ],
      "description": "Page number, start from 1"
    },
    "source": {
      "type": "string",
      "default": "explore_feed",
      "examples": [
        "explore_feed"
      ],
      "description": "Source"
    },
    "ai_mode": {
      "type": "integer",
      "default": 0,
      "description": "AI mode: 0=off, 1=on"
    },
    "keyword": {
      "type": "string",
      "examples": [
        "美食推荐"
      ],
      "description": "Search keyword"
    },
    "note_type": {
      "type": "string",
      "examples": [
        "不限"
      ],
      "description": "笔记类型/Note type: 不限, 视频笔记, 普通笔记, 直播笔记"
    },
    "search_id": {
      "type": "string",
      "description": "Search ID for pagination"
    },
    "sort_type": {
      "type": "string",
      "default": "general",
      "examples": [
        "general"
      ],
      "description": "Sort type"
    },
    "time_filter": {
      "type": "string",
      "examples": [
        "不限"
      ],
      "description": "发布时间筛选/Time filter: 不限, 一天内, 一周内, 半年内"
    },
    "search_session_id": {
      "type": "string",
      "description": "Search session ID for pagination"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "msg": {
      "type": "string",
      "description": "e.g. '成功' (Chinese for 'success')."
    },
    "code": {
      "type": "number",
      "description": "0 on both real calls observed."
    },
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "note": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The note's own content id."
                  },
                  "desc": {
                    "type": "string",
                    "description": "The note's caption text."
                  },
                  "type": {
                    "type": "string",
                    "description": "e.g. 'normal', 'video'."
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "images": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The author's avatar, withheld same as `images_list[].url`."
                      },
                      "red_id": {
                        "type": "string",
                        "description": "The author's Xiaohongshu handle -- usually a vendor-assigned numeric string, but observed as a self-chosen vanity string on some accounts."
                      },
                      "followed": {
                        "type": "boolean",
                        "description": "Whether the API credential's own account follows them."
                      },
                      "nickname": {
                        "type": "string",
                        "description": "The author's display name."
                      },
                      "red_official_verified": {
                        "type": "boolean"
                      },
                      "red_official_verify_type": {
                        "type": "number"
                      },
                      "show_red_official_verify_icon": {
                        "type": "boolean"
                      }
                    },
                    "description": "The note's author.",
                    "additionalProperties": true
                  },
                  "liked": {
                    "type": "boolean"
                  },
                  "niced": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "string",
                    "description": "Often empty on video-type notes."
                  },
                  "geo_info": {
                    "type": "object",
                    "properties": {
                      "distance": {
                        "type": "string",
                        "description": "Usually an empty string."
                      }
                    },
                    "additionalProperties": true
                  },
                  "tag_info": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": true
                  },
                  "collected": {
                    "type": "boolean"
                  },
                  "has_music": {
                    "type": "boolean"
                  },
                  "timestamp": {
                    "type": "number",
                    "description": "Publish time, Unix seconds."
                  },
                  "nice_count": {
                    "type": "number"
                  },
                  "images_list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Withheld (returned as `null` regardless of what the note published) -- only that an image exists is observable, not the image itself."
                        },
                        "width": {
                          "type": "number"
                        },
                        "fileid": {
                          "type": "string",
                          "description": "Opaque internal image asset id."
                        },
                        "height": {
                          "type": "number"
                        },
                        "trace_id": {
                          "type": "string"
                        },
                        "url_size_large": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Withheld, same as `url`."
                        },
                        "need_load_original_image": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "liked_count": {
                    "type": "number"
                  },
                  "update_time": {
                    "type": "number",
                    "description": "Last update time, Unix milliseconds."
                  },
                  "shared_count": {
                    "type": "number"
                  },
                  "video_info_v2": {
                    "type": "object",
                    "properties": {
                      "image": {
                        "type": "object",
                        "properties": {
                          "thumbnail": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Withheld, same as `images_list[].url`."
                          },
                          "first_frame": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Withheld, same as `images_list[].url`. Only observed present on some video notes, not all."
                          },
                          "thumbnail_dim": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Withheld, same as `images_list[].url`."
                          }
                        },
                        "additionalProperties": true
                      }
                    },
                    "description": "Present only on video-type notes. Only thumbnail imagery is exposed; the actual video stream URLs, codecs, and CDN metadata the upstream response also carries are not.",
                    "additionalProperties": true
                  },
                  "comments_count": {
                    "type": "number"
                  },
                  "video_duration": {
                    "type": [
                      "string",
                      "number"
                    ],
                    "description": "e.g. '0:07' (MM:SS string) on a video note; absent/not meaningful on an image-only note."
                  },
                  "collected_count": {
                    "type": "number"
                  },
                  "corner_tag_info": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "style": {
                          "type": "number"
                        },
                        "text_en": {
                          "type": "string"
                        },
                        "location": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": true
                    },
                    "description": "Small badges the app overlays on a note's thumbnail. One observed badge type ('publish_time') carries a human-readable relative date in `text`/`text_en`; another observed type ('ubt_sig_token') carries an opaque signed tracking string in `text` instead of anything a customer would read -- `text`'s meaning depends on this entry's own `type`."
                  },
                  "note_attributes": {
                    "type": "array",
                    "description": "Usually an empty array."
                  },
                  "last_update_time": {
                    "type": "number",
                    "description": "Usually `0`."
                  },
                  "cover_image_index": {
                    "type": "number"
                  }
                },
                "additionalProperties": true
              }
            },
            "additionalProperties": true
          },
          "description": "20 notes on both real calls observed."
        },
        "is_broad_query": {
          "type": "boolean",
          "description": "Observed `true` in testing for both an ordinary Chinese-language keyword and a deliberately nonexistent one -- its exact meaning ('this query was broadened beyond an exact keyword match') is not confirmed to reliably distinguish an exact-match search from a broadened/fallback one; do not rely on this field alone to detect a no-real-match search (see usage.md)."
        }
      },
      "additionalProperties": true
    },
    "page": {
      "type": "number"
    },
    "success": {
      "type": "boolean"
    },
    "next_page": {
      "type": "number"
    },
    "search_id": {
      "type": "string",
      "description": "Pass back as the `search_id` input to continue paging this same search."
    },
    "search_session_id": {
      "type": "string",
      "description": "Pass back as the `search_session_id` input to continue paging this same search."
    }
  },
  "description": "The search response.",
  "additionalProperties": true
}