{
  "openapi": "3.0.1",
  "info": {
    "title": "Bilibili Scraper 📺 (videos, creators, trending)",
    "description": "Bilibili (哔哩哔哩) videos by keyword with plays, danmaku, likes, favorites, comments, tags and author; creator profiles with followers and their full upload list; the Popular and Ranking lists. Filters by sort, length, category and date. Only-new monitor mode. No login.",
    "version": "0.1",
    "x-build-id": "IJwa9CYP83RoqHuJe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tagadanar~bilibili-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tagadanar-bilibili-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/tagadanar~bilibili-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tagadanar-bilibili-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/tagadanar~bilibili-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tagadanar-bilibili-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": {
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "What you would type in Bilibili's search box, in Chinese or English (for example 原神, 美食, minecraft, iPhone 18). One per line; each line is its own search. Leave empty if you only want video links, creators or a trending list.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "Search for",
            "enum": [
              "videos",
              "creators"
            ],
            "type": "string",
            "description": "Videos (视频) or creators (UP主, user accounts) matching your search terms.",
            "default": "videos"
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "views",
              "newest",
              "danmaku",
              "favorites",
              "followers"
            ],
            "type": "string",
            "description": "Bilibili's own search orders. Video searches: relevance, most played, newest, most danmaku or most favorites. Creator searches: relevance or most followers.",
            "default": "relevance"
          },
          "duration": {
            "title": "Video length",
            "enum": [
              "any",
              "under10",
              "10to30",
              "30to60",
              "over60"
            ],
            "type": "string",
            "description": "Only videos of this length (Bilibili's search filter).",
            "default": "any"
          },
          "category": {
            "title": "Category (分区)",
            "enum": [
              "all",
              "animation",
              "music",
              "dance",
              "gaming",
              "knowledge",
              "tech",
              "sports",
              "cars",
              "life",
              "food",
              "animals",
              "kichiku",
              "fashion",
              "entertainment",
              "film"
            ],
            "type": "string",
            "description": "Narrows video searches to one Bilibili zone, and picks the zone for the Ranking list.",
            "default": "all"
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Only videos published on or after this date: 2026-10-01, or a relative window like 7 days, 2 weeks, 3 months. Applies to video searches and creator uploads. China time (UTC+8), as on the site."
          },
          "publishedBefore": {
            "title": "Published before",
            "type": "string",
            "description": "Only videos published on or before this date (2026-10-15). Combine with Published after to walk a big topic one period at a time past the 1,000-result search limit."
          },
          "trending": {
            "title": "Trending list",
            "enum": [
              "off",
              "popular",
              "ranking"
            ],
            "type": "string",
            "description": "Also collect one of Bilibili's trending lists. Popular now is the site's 热门 feed; Ranking is the site's top 100 (排行榜) for the category chosen above.",
            "default": "off"
          },
          "videoUrls": {
            "title": "Video links",
            "type": "array",
            "description": "Bilibili video pages (https://www.bilibili.com/video/BV1xDnw6zEaJ/), b23.tv short links, or bare BV / av IDs. Each returns one full row: plays, likes, coins, favorites, shares, comments, danmaku, tags and the author's follower count.",
            "items": {
              "type": "string"
            }
          },
          "creators": {
            "title": "Creators (UID or space link)",
            "type": "array",
            "description": "Creator IDs (UID, the number in https://space.bilibili.com/946974) or their space links. Each returns a creator row: name, followers, following, uploads, total likes, level, verification and bio.",
            "items": {
              "type": "string"
            }
          },
          "includeCreatorVideos": {
            "title": "Also get each creator's uploads",
            "type": "boolean",
            "description": "List the videos uploaded by each creator above, newest first, up to Max results per creator (the published date range applies). Upload rows carry plays, length, date and description; turn on details for likes, coins, comments and tags.",
            "default": false
          },
          "maxResults": {
            "title": "Max results per search or list",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop each search, trending list or creator's uploads after this many rows. You only pay for rows delivered. Bilibili shows at most 1,000 results per search.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include full video details",
            "type": "boolean",
            "description": "Open every video for coins, shares, the full tag list, part count, original or repost, and the author's follower count (search rows already carry plays, danmaku, likes, favorites and comments). For creator searches, adds following count and total likes. One extra request per row, so slower; same price per row.",
            "default": false
          },
          "onlyNew": {
            "title": "Only results not delivered before (monitor mode)",
            "type": "boolean",
            "description": "Skip any video or creator an earlier run of this scraper already delivered to your account, so a scheduled run returns only new uploads. The memory is a key-value store named bilibili-scraper-seen in your account; delete it to start over.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}