{
  "openapi": "3.0.1",
  "info": {
    "title": "RedNote Xiaohongshu Scraper: Video Downloader & Notes",
    "description": "Scrape RedNote (Xiaohongshu, 小红书) notes, watermark-free videos, creator profiles and explore feeds without login: title, text, tags, images, video, engagement and author. Paste note or app share links.",
    "version": "0.2",
    "x-build-id": "msjaXwNeYKXLhombB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/stanvanrooy6~rednote-xiaohongshu-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-stanvanrooy6-rednote-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/stanvanrooy6~rednote-xiaohongshu-scraper/runs": {
      "post": {
        "operationId": "runs-sync-stanvanrooy6-rednote-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/stanvanrooy6~rednote-xiaohongshu-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-stanvanrooy6-rednote-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 share links",
            "type": "array",
            "description": "RedNote (Xiaohongshu) note links, one per line. Paste a link from xiaohongshu.com (it includes an xsec_token) or a share link from the app such as http://xhslink.com/o/... The whole share text copied from the app works too.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profile links",
            "type": "array",
            "description": "Creator profile links such as https://www.xiaohongshu.com/user/profile/<id>?xsec_token=... or a profile share link. Each profile returns one row with the creator's details and a summary of the latest notes on the profile page.",
            "items": {
              "type": "string"
            }
          },
          "includeExplore": {
            "title": "Scrape the explore feed",
            "type": "boolean",
            "description": "Also scrape trending notes from the public RedNote explore feed (full note details for each).",
            "default": false
          },
          "exploreCategories": {
            "title": "Explore categories",
            "type": "array",
            "description": "Which explore feeds to read. Recommended is the main feed.",
            "items": {
              "type": "string",
              "enum": [
                "recommended",
                "fashion",
                "food",
                "cosmetics",
                "movies_tv",
                "career",
                "relationships",
                "home",
                "gaming",
                "travel",
                "fitness",
                "video"
              ],
              "enumTitles": [
                "Recommended",
                "Fashion",
                "Food",
                "Beauty and makeup",
                "Movies and TV",
                "Career",
                "Relationships",
                "Home",
                "Gaming",
                "Travel",
                "Fitness",
                "Video"
              ]
            },
            "default": [
              "recommended"
            ]
          },
          "maxExploreNotes": {
            "title": "Max notes per explore category",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum matching notes to save per explore category (1 to 500), subject to available public notes, scan budget, run budget and Free-plan cap.",
            "default": 30
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is used by default, with residential IPs as a fallback when RedNote keeps pausing a connection.",
            "default": {
              "useApifyProxy": true
            }
          },
          "keywords": {
            "title": "Include keywords",
            "type": "array",
            "description": "Keep retrieved content containing these literal words or phrases, case-insensitive. This filters retrieved content; it does not extend source coverage.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Exclude content containing any of these literal words or phrases, case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "keywordMatch": {
            "title": "Keyword matching",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "Require any or all inclusion keywords. Exclusions always take precedence.",
            "default": "any"
          },
          "noteType": {
            "title": "Note type",
            "enum": [
              "all",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Keep image notes, video notes, or both. Applies to note links and explore results; profile rows are unchanged.",
            "default": "all"
          },
          "dateFrom": {
            "title": "Published from (UTC)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep notes published on or after this UTC date, YYYY-MM-DD. Notes without a publication date are excluded."
          },
          "dateTo": {
            "title": "Published through (UTC)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Keep notes published on or before this UTC date, YYYY-MM-DD."
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Minimum displayed likes. RedNote may round large counts; unknown counts are excluded when this is positive.",
            "default": 0
          },
          "minComments": {
            "title": "Minimum comment count",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Minimum displayed comment count. This filters notes; it does not extract comment text.",
            "default": 0
          },
          "knownNoteIds": {
            "title": "Note IDs to skip",
            "type": "array",
            "description": "note_id values from earlier results, up to 10,000. Known notes are skipped before fetching details or charging. Apply manually or pass previous IDs in your scheduled workflow.",
            "items": {
              "type": "string"
            }
          },
          "maxExploreNotesScanned": {
            "title": "Max notes checked per category",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop after checking this many note pages per category, even if fewer notes match. Known IDs do not use this budget. If omitted, check up to the greater of 100 or Max notes per explore category. Feed refreshes are also limited to 30."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}