{
  "openapi": "3.0.1",
  "info": {
    "title": "Xiaohongshu (RedNote) Scraper - Notes, Profiles & Comments",
    "description": "Scrape Xiaohongshu (RedNote, 小红书) notes, creator profiles and explore feeds without login: full text with RedNote's English translation, every image and video link, likes, saves, comments, shares, video transcripts in two languages, the author and the comment preview. Note links, share links or ids.",
    "version": "0.1",
    "x-build-id": "QYR4hp8CXr6j7baKp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~xiaohongshu-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-xiaohongshu-scraper",
        "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/scrapersdelight~xiaohongshu-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-xiaohongshu-scraper",
        "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/scrapersdelight~xiaohongshu-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-xiaohongshu-scraper",
        "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",
        "properties": {
          "noteUrls": {
            "title": "Note links or ids",
            "type": "array",
            "description": "Notes to scrape: links from xiaohongshu.com or rednote.com (keep the ?xsec_token=… part), xhslink.com share links or the whole share text, or 24-character note ids, e.g. 6a329deb000000000f01dbb4.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profiles",
            "type": "array",
            "description": "Creator profiles: profile links (xiaohongshu.com or rednote.com), xhslink.com profile share links, or 24-character user ids, e.g. 6444d090000000001002822f.",
            "items": {
              "type": "string"
            }
          },
          "feedCategories": {
            "title": "Explore feed categories",
            "type": "array",
            "description": "Explore-feed channels to collect notes from, e.g. Recommended, Food, Travel. Every feed note is opened for its full details. The cap is split evenly between the channels.",
            "items": {
              "type": "string",
              "enum": [
                "recommend",
                "fashion",
                "food",
                "cosmetics",
                "movie_and_tv",
                "career",
                "love",
                "household_product",
                "gaming",
                "travel",
                "fitness",
                "video",
                "kpop"
              ],
              "enumTitles": [
                "Recommended (推荐)",
                "Fashion (穿搭)",
                "Food (美食)",
                "Makeup (彩妆)",
                "Movies & TV (影视)",
                "Career (职场)",
                "Relationships (情感)",
                "Home (家居)",
                "Gaming (游戏)",
                "Travel (旅行)",
                "Fitness (健身)",
                "Videos (视频)",
                "K-pop (KPOP)"
              ]
            }
          },
          "noteType": {
            "title": "Note type",
            "enum": [
              "all",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Keep only image notes or only video notes. Feed cards of the other type are skipped before they are opened.",
            "default": "all"
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Keep notes with at least this many likes, e.g. 1000. 0 keeps all."
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 36500,
            "type": "integer",
            "description": "Keep notes published in the last N days, e.g. 30. 0 keeps all. Topic channels show many older notes to signed-out visitors."
          },
          "includeKeywords": {
            "title": "Must contain (any)",
            "type": "array",
            "description": "Keep notes whose title, text or hashtags (Chinese or English translation) contain at least one of these words, e.g. 咖啡, coffee.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Must not contain",
            "type": "array",
            "description": "Drop notes whose title, text or hashtags contain any of these words, e.g. 广告.",
            "items": {
              "type": "string"
            }
          },
          "includeComments": {
            "title": "Add the comment preview",
            "type": "boolean",
            "description": "Also save the comments Xiaohongshu shows signed-out visitors under each note: up to 5 top comments with up to 3 replies each, one row per comment (charged per comment row). Needs a full note link or a feed note.",
            "default": false
          },
          "maxCommentsPerNote": {
            "title": "Max comments per note",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Comment rows (top comments and replies) to save per note, 1-20. Signed-out pages show at most 20.",
            "default": 20
          },
          "includeAuthorProfiles": {
            "title": "Add author profiles",
            "type": "boolean",
            "description": "Also save the profile of each note's author (one profile row per author, charged per profile row).",
            "default": false
          },
          "includeTranscripts": {
            "title": "Add video transcripts",
            "type": "boolean",
            "description": "For video notes with Xiaohongshu's own subtitles: the spoken text in the original language and in English, as plain text. No extra charge.",
            "default": true
          },
          "monitorMode": {
            "title": "Only new notes (monitor mode)",
            "type": "boolean",
            "description": "Skip notes and comments that earlier runs with the same monitor memory name already delivered. Pairs with a daily schedule. Profiles are always delivered (they are snapshots).",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor memory name",
            "type": "string",
            "description": "Named key-value store that remembers delivered ids between runs. Use a different name per monitoring job.",
            "default": "xiaohongshu-scraper-monitor"
          },
          "maxItems": {
            "title": "Max notes and profiles",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Most note and profile rows to save in total, e.g. 50. Comment rows are capped per note instead. 0 = no cap. Xiaohongshu shows signed-out visitors a human check after about 45-64 note pages from one IP, and the run stops there.",
            "default": 50
          },
          "compact": {
            "title": "Compact output",
            "type": "boolean",
            "description": "Core fields only (title, text, translation, counts, author, media links, transcript), trimmed for AI / MCP pipelines.",
            "default": false
          },
          "includeRawData": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Attach the page's own note or profile object as `raw` to each row.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Default: no proxy (direct requests work). If Xiaohongshu refuses the direct IP, the run moves to your proxy, or to Apify residential proxy within a small per-run budget.",
            "default": {
              "useApifyProxy": false
            }
          },
          "maxConcurrency": {
            "title": "Max parallel requests",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Pages fetched at the same time, 1-16.",
            "default": 6
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}