{
  "openapi": "3.0.1",
  "info": {
    "title": "Baidu Tieba Scraper",
    "description": "This powerful tool allows you to easily extract posts from forums, profiles, search terms and topics from tieba.baidu.com. Only pay for what you use. Works with MCP and AI tools.",
    "version": "0.0",
    "x-build-id": "e4haja8gToXu3iWWt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/natanielsantos~baidu-tieba-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-natanielsantos-baidu-tieba-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/natanielsantos~baidu-tieba-scraper/runs": {
      "post": {
        "operationId": "runs-sync-natanielsantos-baidu-tieba-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/natanielsantos~baidu-tieba-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-natanielsantos-baidu-tieba-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": {
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Enter one or more keywords to search for. Each keyword runs as a separate search.",
            "items": {
              "type": "string"
            }
          },
          "sortSearchBy": {
            "title": "Sort Search Results By",
            "enum": [
              "most_relevant",
              "latest",
              "oldest"
            ],
            "type": "string",
            "description": "Choose how to sort the search results. 'Most Relevant' sorts by relevance to the search term, 'Latest' sorts by date with the newest posts first, and 'Oldest' sorts by date with the oldest posts first.",
            "default": "most_relevant"
          },
          "searchWithinForum": {
            "title": "Search within this forum (provide the forum name, URL or ID)",
            "type": "string",
            "description": "If you want to search within a specific forum, enter the forum name, ID or URL here. This will limit the search results to that forum. Leave empty to search across all forums.",
            "default": ""
          },
          "forums": {
            "title": "Forums to Scrape",
            "type": "array",
            "description": "Enter the forums you want to scrape. You can enter the forum name, URL or ID. This is required if you are not using search terms above.",
            "items": {
              "type": "object",
              "properties": {
                "forum": {
                  "title": "Forum (name, URL or ID)",
                  "type": "string",
                  "editor": "textfield",
                  "minLength": 1,
                  "description": "Enter the forum name, ID or URL you want to scrape"
                },
                "tabs": {
                  "title": "Forum Tabs",
                  "type": "array",
                  "editor": "select",
                  "description": "Select the tabs you want to scrape.",
                  "items": {
                    "type": "string",
                    "enum": [
                      "highlights",
                      "popular",
                      "latest",
                      "video"
                    ],
                    "enumTitles": [
                      "精华(Highlights)",
                      "热门(Popular)",
                      "最新(Latest)",
                      "视频(Video)"
                    ]
                  }
                },
                "customTabs": {
                  "title": "Custom Forum Tabs",
                  "type": "array",
                  "editor": "stringList",
                  "description": "Write the tab names in Chinese, it must match the website exactly"
                },
                "maxPostsPerTab": {
                  "title": "Max Posts Per Tab",
                  "type": "integer",
                  "description": "Maximum number of posts to scrape per forum tab. The Actor will stop scraping once this limit is reached for the tab.",
                  "minimum": 1,
                  "unit": "posts"
                }
              }
            }
          },
          "urls": {
            "title": "Start URLs (Post URLs, Profile URLs or Hot Topic URLs)",
            "type": "array",
            "description": "You can add direct URLs to scrape here. It can be a post URL, User Profile URL or Hot Topic URL.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "topics": {
            "title": "Topics to Scrape",
            "type": "array",
            "description": "Enter the topics you want to scrape. Example: '剧情' or '#剧情'. Alternatively, you can also add Topic URLs in the Start URLs section above.",
            "items": {
              "type": "string"
            }
          },
          "sortTopicPostsBy": {
            "title": "Sort Topic Posts By",
            "enum": [
              "hottest",
              "latest"
            ],
            "type": "string",
            "description": "Choose how to sort the posts when scraping a Hot Topic URL or Topic. 'Hottest' sorts by popularity, while 'Latest' sorts by date with the newest posts first.",
            "default": "hottest"
          },
          "maxPosts": {
            "title": "Max Posts",
            "type": "integer",
            "description": "Maximum number of posts to be scraped per search term, topic, profile or hot topic.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}