FetchPI
Log in

Xiaohongshu search_users API

Xiaohongshu search_users data in one REST call — normalized to the stable JSON schema shared across every FetchPI platform.

  • 1 documented endpoints
  • GET /v1/xhs/search/users

Contract summary (English): Search users (capability xhs.search_users)

Normalized response entity
xiaohongshu/search_users
capability
xhs.search_users

Every response also carries freshness (cache / default / live) and billing metadata.

Use cases

  • Find {{platform}} content and accounts matching a keyword, with normalized results ready for scoring.
  • Follow trending topics and hot lists to catch emerging conversations early.
  • Alert on search and trend queries so your team sees shifts as they happen.

Response fields

xiaohongshu search_users response (normalized envelope)

Paginated keyword search over Xiaohongshu users as normalized user entities (capability xhs.search_users). Page size follows the request's `limit` parameter (1..100, default 20). Envelope of GET /v1/xhs/search/users.

FieldTypeRequiredDescription
querystringRequiredThe request query, echoed.
dataprofile[]Required—
next_cursorstring | nullRequiredOpaque pagination cursor; null when the list is exhausted.
meta.request_idstringRequired—
meta.freshness.modecache | default | liveRequired—
meta.freshness.age_secondsinteger | nullOptional—
meta.freshness.source_layercache | db | upstreamRequired—
meta.freshness.stalebooleanOptional—
meta.billing.cache_hitbooleanRequired—
meta.billing.amount_creditsintegerRequiredCredits actually charged for this request (the settlement unit; 1 credit = $0.0001, permanent).

Field notes are shown in the contract's original English.

Response meta

FieldTypeRequiredDescription
modecache | default | liveRequiredEffective mode after merging param > max_age > source policy (D-004).
age_secondsinteger | nullOptionalAge of served data; null when unknown.
source_layercache | db | upstreamRequiredWhich layer served the response (PRD §10).
stalebooleanOptionalTrue when stale data was served under stale_if_error / SWR (D-004).
billing.amount_creditsintegerRequiredMicro-USD (1e-6 USD) actually charged for this request.
billing.cache_hitbooleanRequired—

Field notes are shown in the contract's original English.

Example request & response

GET/v1/xhs/search/users
curl -H "Authorization: Bearer $MESHDATA_API_KEY" \
  "https://api.fetchpi.com/v1/xhs/search/users?q=meshdata"
{
  "query": "data api",
  "data": [
    {
      "id": "66f2a1de000000001e0167a1",
      "platform": "xiaohongshu",
      "type": "profile",
      "username": "creatordev",
      "display_name": "Creator Dev",
      "description": "Notes about data APIs.",
      "profile_image_url": "https://cdn.example.com/avatar/creatordev.jpg",
      "verified": true,
      "created_at": null,
      "metrics": {
        "followers": 51230,
        "following": 310,
        "posts": 862,
        "likes": 2140000
      },
      "fetched_at": "2026-09-18T09:00:00Z"
    }
  ],
  "next_cursor": null,
  "meta": {
    "request_id": "req_01HTXQ8Z9HTQ",
    "freshness": {
      "mode": "default",
      "age_seconds": 0,
      "source_layer": "upstream",
      "stale": false
    },
    "billing": {
      "amount_credits": 300,
      "cache_hit": false
    }
  }
}

Free demo

Create a free account, grab an API key and call this endpoint from the browser-based Playground.

Try it in the Playground

Parameter tables, error codes and response semantics for this endpoint live in the API documentation.

Open the endpoint reference

Frequently asked questions

What is the difference between cache and live freshness?

cache answers from the stored snapshot without touching the upstream; live queries fresher data and may cost extra credits — see the freshness section of the docs.

Can I try this endpoint for free?

Yes — register an account, grab an API key and call it from the Playground in the console.

How is the search_users capability billed?

Data API calls are billed per request in credits, with different cache/live freshness multipliers. Current per-capability prices live on the pricing page.

Pricing

Per-request credit billing with cache/live freshness options — current prices live on the pricing page.