---
title: "Get Xiaohongshu PGY content square leaderboards"
description: "TikHub tool tikhub-api-xiaohongshu-pgy-get-content-square on looot: input fields, $0.02 per call, output shape, and code to run it with curl, JavaScript or Python."
sidebar:
  hidden: true
---

{/* Generated by scripts/generate-api-reference.mjs from data/api-reference.json. Do not edit. */}

Returns Xiaohongshu Pugongying (PGY) content square leaderboards of trending content, with no ID needed. Send `biz_type` (board 1 to 8, required), optional `page_num`, `page_size` (1 to 34), `search_word`, `date_range` (3, 7, 14 or 30 days) and board-specific filters. Each board has only 100 items; unsupported filters return 422.

- **Tool id:** `tikhub-api-xiaohongshu-pgy-get-content-square`
- **Provider:** [TikHub](/providers/tikhub)
- **Job:** [Get content square api xiaohongshu pgy](/reference/jobs/api-xiaohongshu-pgy-get-content-square) (`api.xiaohongshu.pgy.get-content-square`)
- **Price:** $0.02 per call. A call that fails at the provider costs $0.

## Inputs

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `author_type` | string | no | Board 4 only. |
| `biz_type` | integer | yes | Leaderboard. Example: 1 |
| `category` | string | no | Board 1 only. Example: "内容类目#美妆" |
| `content_type` | string | no | Content source. Example: 1 |
| `date_range` | integer | no | Date window in days. Example: 7 |
| `fans` | string | no | Creator fans range, board 4 only |
| `industry` | string | no | Industry, values differ per board. Example: "母婴" |
| `marketing_target` | string | no | Board 3 only. Example: 3 |
| `note_type` | string | no | Content type. Example: 2 |
| `order_by` | string | no | Sort field, empty=board default. Example: "premium_imp_num" |
| `page_num` | integer | no | Page; each board has only 100 items. Example: 1 |
| `page_size` | integer | no | Page size, 1-34. Example: 34 |
| `placement` | string | no | Traffic placement. Example: 1 |
| `price` | string | no | Creator price, board 4 only |
| `search_word` | string | no | Keyword, comma-separated for batch. Example: "面膜" |
| `sub_biz_type` | string | no | Board 8 only. Example: 3 |
| `theme` | string | no | Theme. Example: "开箱" |

## Output

The run's `result` holds the provider's answer. Signed in, `looot inspect tikhub-api-xiaohongshu-pgy-get-content-square` prints its fields.

## Run it

Every call needs your API token in `LOOOT_TOKEN`; [Sign in](/get-started/sign-in#use-the-token-in-scripts-and-agents) shows how to get one. Each run also needs a new idempotency key, so a retry never pays twice. With `wait: 30` the answer comes back inline when the run ends within 30 seconds. Otherwise you get the running run back: poll `GET /v1/runs/<runId>`.

Example input with placeholder values:

<CodeGroup>

```bash curl
curl -X POST "https://api.looot.ai/v1/runs" \
  -H "Authorization: Bearer $LOOOT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"endpointId":"tikhub-api-xiaohongshu-pgy-get-content-square","input":{"biz_type":1,"theme":"开箱","category":"内容类目#美妆","industry":"母婴","order_by":"premium_imp_num","page_num":1,"note_type":2,"page_size":34,"placement":1,"date_range":7,"author_type":"<author_type>","search_word":"面膜","content_type":1,"sub_biz_type":3,"marketing_target":3},"wait":30}'
```

```js JavaScript
const response = await fetch("https://api.looot.ai/v1/runs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LOOOT_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({
    endpointId: "tikhub-api-xiaohongshu-pgy-get-content-square",
    input: {
      biz_type: 1,
      theme: "开箱",
      category: "内容类目#美妆",
      industry: "母婴",
      order_by: "premium_imp_num",
      page_num: 1,
      note_type: 2,
      page_size: 34,
      placement: 1,
      date_range: 7,
      author_type: "<author_type>",
      search_word: "面膜",
      content_type: 1,
      sub_biz_type: 3,
      marketing_target: 3,
    },
    wait: 30,
  }),
});
const run = await response.json();
console.log(run.status, run.result);
```

```python Python
import os
import uuid

import requests

response = requests.post(
    "https://api.looot.ai/v1/runs",
    headers={
        "Authorization": f"Bearer {os.environ['LOOOT_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={
        "endpointId": "tikhub-api-xiaohongshu-pgy-get-content-square",
        "input": {
            "biz_type": 1,
            "theme": "开箱",
            "category": "内容类目#美妆",
            "industry": "母婴",
            "order_by": "premium_imp_num",
            "page_num": 1,
            "note_type": 2,
            "page_size": 34,
            "placement": 1,
            "date_range": 7,
            "author_type": "<author_type>",
            "search_word": "面膜",
            "content_type": 1,
            "sub_biz_type": 3,
            "marketing_target": 3,
        },
        "wait": 30,
    },
    timeout=90,
)
run = response.json()
print(run["status"], run.get("result"))
```

</CodeGroup>

To let looot pick among every provider of this job instead, send `job:api.xiaohongshu.pgy.get-content-square` as `endpointId`; see [the job page](/reference/jobs/api-xiaohongshu-pgy-get-content-square).
