{
  "openapi": "3.0.1",
  "info": {
    "title": "Bilibili Creator Scraper",
    "description": "Find public Bilibili creators by keyword or look up known profiles. Get follower counts, biographies, account details, and available uploads to build and review creator lists.",
    "version": "0.0",
    "x-build-id": "BNgvwfvce706QdXEA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~bilibili-creator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-bilibili-creator",
        "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/maximedupre~bilibili-creator/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-bilibili-creator",
        "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/maximedupre~bilibili-creator/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-bilibili-creator",
        "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": [
          "findBy"
        ],
        "properties": {
          "maxItems": {
            "title": "Maximum creators",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many creator rows across the whole run, or sooner if no more match. Leave blank or use 0 to get all available matches. This does not limit uploads inside each creator row."
          },
          "findBy": {
            "title": "Find creators by",
            "enum": [
              "keywords",
              "creators"
            ],
            "type": "string",
            "description": "Choose keyword search to find creators by name or channel. Choose known creators to look up a list of creator IDs or profile URLs."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Enter one or more search terms for creator names or channels. Keep each full phrase in one list entry. Required when you choose Keywords.",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "searchOrder": {
            "title": "Search order",
            "enum": [
              "relevance",
              "followers",
              "level"
            ],
            "type": "string",
            "description": "For Keywords, choose Bilibili relevance, highest follower count first, or highest account level first.",
            "default": "relevance"
          },
          "contactsOnly": {
            "title": "Only creators with email addresses",
            "type": "boolean",
            "description": "For Keywords, keep only creators whose public biography contains an email address. When off, email addresses are still included when available. The full biography is included in both cases.",
            "default": false
          },
          "creators": {
            "title": "Creator IDs or profile URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Enter one Bilibili numeric creator ID or full Bilibili profile URL per entry. You may mix IDs and URLs in the same list, with up to 1,000 entries. Required when you choose Known creators.",
            "items": {
              "type": "string",
              "pattern": "^(?:[1-9][0-9]*|https://space\\.bilibili\\.com/[1-9][0-9]*/?(?:[?#].*)?)$"
            }
          },
          "minFollowers": {
            "title": "Minimum followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators with at least this many followers. Applies to Keywords and Known creators. Leave blank for no lower bound."
          },
          "maxFollowers": {
            "title": "Maximum followers",
            "minimum": 0,
            "type": "integer",
            "description": "Keep creators with at most this many followers. Applies to Keywords and Known creators. Leave blank for no upper bound. Must be at least Minimum followers when both are set."
          },
          "includeUploads": {
            "title": "Include uploads",
            "type": "boolean",
            "description": "Include public uploads inside each creator row. When off, collect no uploads, whatever the upload limit. Upload order and date filters apply only when this is on. The median views for the 20 newest public videos are still included. Applies to Keywords and Known creators.",
            "default": true
          },
          "maxUploadsPerCreator": {
            "title": "Maximum uploads per creator",
            "minimum": 0,
            "type": "integer",
            "description": "With Include uploads on, return a sample of up to this many matching uploads per creator, where available, in the chosen upload order. Leave blank to use 5. Set 0 to collect all available matching uploads. This does not change Maximum creators or the 20-newest-video median sample. Tracking requires an explicit 0.",
            "default": 5
          },
          "uploadOrder": {
            "title": "Upload order",
            "enum": [
              "newest",
              "views",
              "favorites"
            ],
            "type": "string",
            "description": "Sort the uploads within each creator row. This applies to both ways to find creators and does not change the sample of 20 newest videos used for median views.",
            "default": "newest"
          },
          "publishedAfter": {
            "title": "Uploads published on or after",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": "string",
            "description": "Include uploads from this date onward, using UTC dates in YYYY-MM-DD form. Leave blank for no start date. Applies to both ways to find creators. The median-views sample still uses the 20 newest public videos."
          },
          "publishedBefore": {
            "title": "Uploads published on or before",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": "string",
            "description": "Include uploads through this date, using UTC dates in YYYY-MM-DD form. Leave blank for no end date. Must be on or after the start date. Applies to both ways to find creators and does not change the median-views sample."
          },
          "trackNewUploads": {
            "title": "Track new uploads",
            "type": "boolean",
            "description": "Compare uploads with saved results from earlier runs of this Actor to mark newly observed uploads. Requires Include uploads on and Maximum uploads per creator set to 0. A positive or omitted upload limit, or Include uploads off, is rejected when tracking is on. The first successful check sets the starting record. Failed checks do not replace it. Applies to both ways to find creators; upload date filters set the scope of the comparison. When off, uploads follow your upload settings without marking which are new.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}