{
  "openapi": "3.0.1",
  "info": {
    "title": "Xiaohongshu KOL Finder & Influencer Analytics (Pugongying)",
    "description": "Find and vet Xiaohongshu (RedNote) creators on the Pugongying (蒲公英) marketplace: rate cards, follower counts, read and engagement medians, CPM and cost estimates, audience age, gender and cities, follower growth and sponsored posts. Search by keyword and filters, analyse a list or find lookalikes.",
    "version": "0.0",
    "x-build-id": "pQc5gA9DjPBnxebKa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~rednote-kol-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-rednote-kol-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/zen-studio~rednote-kol-finder/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-rednote-kol-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/zen-studio~rednote-kol-finder/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-rednote-kol-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "🧭 What do you want to do?",
            "enum": [
              "search",
              "creators",
              "similar"
            ],
            "type": "string",
            "description": "<b>Find creators</b> uses <b>Keywords</b> and the filters below.<br><b>Analyse creators</b> uses <b>Creators to analyse</b> and ignores keywords and filters.<br><b>Similar creators</b> uses <b>Similar to</b> plus the filters below.",
            "default": "search"
          },
          "keywords": {
            "title": "🔎 Keywords",
            "type": "array",
            "description": "Topics the creators post about, e.g. <code>咖啡</code>, <code>露营</code>, <code>护肤</code>. Each keyword is a separate search with its own <b>Max creators</b>; a creator found by two keywords is returned once. Chinese keywords match far more creators than English ones.<br><br>Leave empty to browse by filters alone.",
            "items": {
              "type": "string"
            }
          },
          "searchIn": {
            "title": "Match keywords against",
            "enum": [
              "posts",
              "nickname"
            ],
            "type": "string",
            "description": "Search the creators' post content (default) or their nickname.",
            "default": "posts"
          },
          "creators": {
            "title": "👤 Creators to analyse",
            "type": "array",
            "description": "Used when the mode is <b>Analyse creators</b>. Accepted forms:<br>• Profile link: <code>https://www.xiaohongshu.com/user/profile/62d6ce2e000000000200303f</code><br>• Pugongying link: <code>https://pgy.xiaohongshu.com/solar/pre-trade/blogger-detail/62d6ce2e000000000200303f</code><br>• User ID: <code>62d6ce2e000000000200303f</code><br>• RedNote ID (小红书号): <code>Echo_hl0511</code><br>• Share link: <code>https://xhslink.com/m/...</code><br><br>Only creators listed on the Pugongying marketplace can be analysed; others are reported as not found and billed as one lookup ($0.03). A share link that leads to no creator is not billed.",
            "items": {
              "type": "string"
            }
          },
          "similarTo": {
            "title": "🪞 Similar to",
            "type": "string",
            "description": "Used when the mode is <b>Similar creators</b>: one creator in any of the forms above. Returns creators the marketplace rates as similar, narrowed by the filters below."
          },
          "maxResults": {
            "title": "🔢 Max creators",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Creators to return per keyword (or for the similar-creator search). Up to 5,000; <code>0</code> means as many as available. Not used when analysing a list of creators.",
            "default": 50
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "comprehensiverank",
              "fansCount",
              "price",
              "clickNum",
              "mEngagementNum",
              "accumCommonImpMedinNum30d",
              "accumPicCommonImpMedinNum30d",
              "accumVideoCommonImpMedinNum30d",
              "pictureClickMidNum",
              "videoClickMidNum",
              "pictureInterMidNum",
              "videoInterMidNum",
              "thousandLikePercent30",
              "pictureThousandLikePercent30",
              "videoThousandLikePercent30",
              "hundredLikePercent30",
              "pictureHundredLikePercent30",
              "videoHundredLikePercent30",
              "videoFinishRate",
              "accumCoopImpMedinNum30d",
              "readMidCoop30",
              "interMidCoop30",
              "mCpuvNum30d",
              "picturePrice",
              "videoPrice",
              "pictureReadCost",
              "videoReadCost",
              "inviteReply48hNumRatio",
              "fans30GrowthRate",
              "fansActiveIn28dLv",
              "fansEngageNum30dLv",
              "kliveCnt30d",
              "avgLiveViewerNum",
              "avgAgmv90d"
            ],
            "type": "string",
            "description": "Order of the results. Rates, medians and cost estimates use the marketplace's 30-day figures.",
            "default": "comprehensiverank"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Highest first (default) or lowest first, e.g. lowest cost per read first.",
            "default": "desc"
          },
          "categories": {
            "title": "Creator categories",
            "type": "array",
            "description": "Creators whose main category is any of these.",
            "items": {
              "type": "string",
              "enum": [
                "美妆",
                "护肤",
                "个人护理",
                "母婴",
                "时尚",
                "美食",
                "家居家装",
                "影视综资讯",
                "运动健身",
                "宠物",
                "文化艺术",
                "兴趣爱好",
                "生活记录",
                "教育",
                "职场",
                "情感",
                "摄影",
                "游戏",
                "科技数码",
                "出行旅游",
                "音乐",
                "搞笑",
                "健康养生",
                "汽车",
                "婚嫁",
                "商业财经",
                "素材",
                "其他"
              ],
              "enumTitles": [
                "Makeup (美妆)",
                "Skincare (护肤)",
                "Personal care (个人护理)",
                "Parenting & baby (母婴)",
                "Fashion (时尚)",
                "Food (美食)",
                "Home & interior (家居家装)",
                "Film & TV (影视综资讯)",
                "Sports & fitness (运动健身)",
                "Pets (宠物)",
                "Arts & culture (文化艺术)",
                "Hobbies (兴趣爱好)",
                "Daily life (生活记录)",
                "Education (教育)",
                "Career (职场)",
                "Relationships (情感)",
                "Photography (摄影)",
                "Gaming (游戏)",
                "Tech (科技数码)",
                "Travel (出行旅游)",
                "Music (音乐)",
                "Comedy (搞笑)",
                "Health & wellness (健康养生)",
                "Cars (汽车)",
                "Weddings (婚嫁)",
                "Business & finance (商业财经)",
                "Stock content (素材)",
                "Other (其他)"
              ]
            }
          },
          "minFollowers": {
            "title": "Min followers",
            "minimum": 0,
            "type": "integer",
            "description": "e.g. <code>10000</code>"
          },
          "maxFollowers": {
            "title": "Max followers",
            "minimum": 0,
            "type": "integer",
            "description": "e.g. <code>500000</code>"
          },
          "minImagePostRate": {
            "title": "Min image-post rate (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "The creator's listed price for one image-and-text post."
          },
          "maxImagePostRate": {
            "title": "Max image-post rate (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "The creator's listed price for one image-and-text post."
          },
          "minVideoRate": {
            "title": "Min video rate (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "The creator's listed price for one video post."
          },
          "maxVideoRate": {
            "title": "Max video rate (CNY)",
            "minimum": 0,
            "type": "integer",
            "description": "The creator's listed price for one video post."
          },
          "minReadMedian": {
            "title": "Min read median",
            "minimum": 0,
            "type": "integer",
            "description": "Median reads per organic post over the last 30 days."
          },
          "maxReadMedian": {
            "title": "Max read median",
            "minimum": 0,
            "type": "integer",
            "description": "Median reads per organic post over the last 30 days."
          },
          "minEngagementMedian": {
            "title": "Min engagement median",
            "minimum": 0,
            "type": "integer",
            "description": "Median likes + saves + comments + shares per organic post over the last 30 days."
          },
          "maxEngagementMedian": {
            "title": "Max engagement median",
            "minimum": 0,
            "type": "integer",
            "description": "Median likes + saves + comments + shares per organic post over the last 30 days."
          },
          "contentFormat": {
            "title": "Main content format",
            "enum": [
              "any",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Creators who post mostly image-and-text posts or mostly videos.",
            "default": "any"
          },
          "creatorGender": {
            "title": "Creator gender",
            "enum": [
              "any",
              "female",
              "male"
            ],
            "type": "string",
            "description": "The creator's gender as listed on the marketplace.",
            "default": "any"
          },
          "creatorType": {
            "title": "Creator type",
            "enum": [
              "any",
              "individual",
              "agency"
            ],
            "type": "string",
            "description": "Independent creators or creators signed to an agency (MCN).",
            "default": "any"
          },
          "creatorLocations": {
            "title": "Creator location",
            "type": "array",
            "description": "Province, city or district names in Chinese, e.g. <code>上海</code>, <code>杭州</code>. Use the bare name without 省/市.",
            "items": {
              "type": "string"
            }
          },
          "minReplyRate48h": {
            "title": "Min 48h reply rate (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Share of brand invitations the creator answered within 48 hours, e.g. <code>80</code>."
          },
          "highQualityOnly": {
            "title": "High-quality creators only",
            "type": "boolean",
            "description": "Only creators the marketplace marks as high quality."
          },
          "risingCreatorsOnly": {
            "title": "Rising creators only",
            "type": "boolean",
            "description": "Only creators the marketplace marks as rising."
          },
          "excludeInactive": {
            "title": "Exclude inactive creators",
            "type": "boolean",
            "description": "Leave out creators the marketplace marks as inactive."
          },
          "excludeLosingFollowers": {
            "title": "Exclude creators losing followers",
            "type": "boolean",
            "description": "Leave out creators whose follower count is falling."
          },
          "audienceGender": {
            "title": "Audience mostly",
            "enum": [
              "any",
              "female",
              "male"
            ],
            "type": "string",
            "description": "Creators whose followers are mostly female or mostly male.",
            "default": "any"
          },
          "audienceAge": {
            "title": "Main audience age",
            "enum": [
              "any",
              "under18",
              "18-24",
              "25-34",
              "35-44",
              "over44"
            ],
            "type": "string",
            "description": "Creators whose largest follower group is in this age band.",
            "default": "any"
          },
          "audienceLocations": {
            "title": "Audience location",
            "type": "array",
            "description": "Province or city names in Chinese, e.g. <code>广东</code>, <code>深圳</code> (no districts).",
            "items": {
              "type": "string"
            }
          },
          "includeAudience": {
            "title": "Audience profile",
            "type": "boolean",
            "description": "Follower age, gender, province, city, device and interest split, plus active, engaged and paying follower shares.",
            "default": false
          },
          "includePerformance": {
            "title": "Content performance",
            "type": "boolean",
            "description": "Impression, read and engagement medians with peer percentiles, engagement rate, traffic sources, sponsored versus organic results, CPM and cost-per-read estimates, active days and invitation counts.",
            "default": false
          },
          "includeTrends": {
            "title": "30-day trends",
            "type": "boolean",
            "description": "Daily follower count and daily impressions, reads, engagements, CPM and CPE for the last 30 days.",
            "default": false
          },
          "postsToInclude": {
            "title": "Posts",
            "enum": [
              "none",
              "recent",
              "sponsored"
            ],
            "type": "string",
            "description": "Adds the creator's posts with reads, likes, saves and, for sponsored posts, the brand. Billed per post.",
            "default": "none"
          },
          "maxNotesPerCreator": {
            "title": "Max posts per creator",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many posts to add per creator when <b>Posts</b> is on (1-100). Each post is billed.",
            "default": 8
          },
          "advancedFilters": {
            "title": "Advanced filters (JSON)",
            "type": "object",
            "description": "Extra marketplace filters, merged over the ones above. Top-level keys are filter groups: <code>goal</code>, <code>blogger</code>, <code>fans</code>, <code>note</code>, <code>coop</code>, <code>live</code>, <code>flags</code>. Ranges are written as <code>{\"min\": 1000, \"max\": 5000}</code>.<br><br>Example: <code>{\"coop\": {\"video_cpm\": {\"max\": 80}}, \"live\": {\"live_count\": {\"min\": 1}}, \"blogger\": {\"personal_tags\": [\"妈妈\"]}}</code><br><br>An unknown field fails the run before anything is billed. A misspelled value (such as a category name) is accepted but matches nothing."
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}