Skip to content
Xiaohongshu

xiaohongshu.pgy.bloggers.fans.history@v1

Xiaohongshu PGY audience history

PGY Blogger AudienceHistory

Read total followers or daily growth for the last 30 or 60 days.

POST/v1/xiaohongshu/pgy/bloggers/fans/history

Chinese name: 小红书蒲公英博主粉丝历史 · 蒲公英博主受众 · 历史趋势
读取近 30/60 日粉丝总量或单日增量趋势。

Use it when

  • Use it to assess growth consistency and unusual changes.

Do not use it for

  • Do not use it for long-range history or individual follower analysis.

Request parameters

Fielduser_idTypestringConstraints and defaultspattern: "^[a-f0-9]{24}$"RequirementRequired
FieldmetricTypestringConstraints and defaultsenum: "total" | "daily_growth" · default: "total"RequirementOptional
FieldwindowTypestringConstraints and defaultsenum: "30d" | "60d" · default: "30d"RequirementOptional
Full request JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "pattern": "^[a-f0-9]{24}$"
    },
    "metric": {
      "default": "total",
      "type": "string",
      "enum": [
        "total",
        "daily_growth"
      ]
    },
    "window": {
      "default": "30d",
      "type": "string",
      "enum": [
        "30d",
        "60d"
      ]
    }
  },
  "required": [
    "user_id"
  ],
  "additionalProperties": false
}

Static response example

application/json
{
  "code": 200,
  "request_id": "req_example_pgy_fans_history",
  "message": "success",
  "data": {
    "creator_id": "5c668b3e0000000012021605",
    "metric": "total",
    "points": [
      {
        "date": "2026-08-01",
        "value": 123456
      }
    ],
    "summary": {
      "net_growth": 3456,
      "growth_rate": 2.88
    }
  },
  "page": {
    "next_cursor": null
  },
  "warnings": [],
  "meta": {
    "result_status": "complete",
    "balance_after": "49.61",
    "listing_id": "xiaohongshu.pgy.bloggers.fans.history",
    "version": "v1",
    "catalog_release_id": "catalog-production-2026-09-17.1",
    "price_book_version": "pricebook-production-2026-09-17.1",
    "charged_amount": "0.39",
    "currency": "CNY"
  }
}

Unavailable while paused

Complete and empty results are charged; partial results and failures are not.

Response contract

The field summary is for scanning; the full JSON Schema is the stable output contract.

FieldcodeTypenumberConstraints and defaultsconst: 200RequirementRequired
Fieldrequest_idTypestringConstraints and defaultsminLength: 1RequirementRequired
FieldmessageTypestringConstraints and defaultsconst: "success"RequirementRequired
FielddataTypeobjectConstraints and defaultsNo additional constraintsRequirementRequired
FieldpageTypeobjectConstraints and defaultsNo additional constraintsRequirementRequired
FieldwarningsTypearrayConstraints and defaultsNo additional constraintsRequirementRequired
FieldmetaTypeobjectConstraints and defaultsNo additional constraintsRequirementRequired
Full response JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "const": 200
    },
    "request_id": {
      "type": "string",
      "minLength": 1
    },
    "message": {
      "type": "string",
      "const": "success"
    },
    "data": {
      "type": "object",
      "properties": {
        "creator_id": {
          "type": "string",
          "pattern": "^[a-f0-9]{24}$"
        },
        "metric": {
          "type": "string",
          "enum": [
            "total",
            "daily_growth"
          ]
        },
        "points": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "date": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "value": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "date",
              "value"
            ],
            "additionalProperties": false
          }
        },
        "summary": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "net_growth": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "growth_rate": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "net_growth",
                "growth_rate"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "creator_id",
        "metric",
        "points",
        "summary"
      ],
      "additionalProperties": false
    },
    "page": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": "null"
        }
      },
      "required": [
        "next_cursor"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "listing_id": {
          "type": "string",
          "const": "xiaohongshu.pgy.bloggers.fans.history"
        },
        "version": {
          "type": "string",
          "const": "v1"
        },
        "catalog_release_id": {
          "type": "string",
          "minLength": 1
        },
        "price_book_version": {
          "type": "string",
          "minLength": 1
        },
        "result_status": {
          "type": "string",
          "enum": [
            "complete",
            "empty"
          ]
        },
        "charged_amount": {
          "type": "string"
        },
        "balance_after": {
          "type": "string"
        },
        "currency": {
          "type": "string",
          "const": "CNY"
        }
      },
      "required": [
        "listing_id",
        "version",
        "catalog_release_id",
        "price_book_version",
        "result_status",
        "charged_amount",
        "balance_after",
        "currency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "code",
    "request_id",
    "message",
    "data",
    "page",
    "warnings",
    "meta"
  ],
  "additionalProperties": false
}

Known limitations

  • Only 30-day and 60-day windows are supported.
  • Total and daily growth are separate query modes.
  • Missing points are not estimated.

Integration example

REST (cURL)

curl -X POST https://api.dataxapi.com/v1/xiaohongshu/pgy/bloggers/fans/history \
  -H "Authorization: Bearer $DATAXAPI_API_KEY" \
  -H "Idempotency-Key: your-stable-intent-key" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"5c668b3e0000000012021605","metric":"total","window":"30d"}'

Exact MCP Preview (Codex config)

[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"

The same API key exposes only the precise tools in its scope. Keep the key in an environment variable, never in the config file. Reuse an explicit idempotency_key for safe retries.

View client compatibility →

Catalog release: catalog-production-2026-09-17.1 · PriceBook: pricebook-production-2026-09-17.1