{
  "openapi": "3.0.1",
  "info": {
    "title": "Tiktok B2b Phone Number Scraper",
    "description": "Tiktok B2B Phone Number Scraper 📱💼 extracts business phone numbers, profile data, and contact details from TikTok accounts. Ideal for lead generation, outreach, and market research. Fast, scalable, and designed for efficient B2B data collection and automation. 🚀📊",
    "version": "0.1",
    "x-build-id": "5fz3v8j0jKt36Jckj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~tiktok-b2b-phone-number-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-tiktok-b2b-phone-number-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/scraper-engine~tiktok-b2b-phone-number-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-tiktok-b2b-phone-number-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/scraper-engine~tiktok-b2b-phone-number-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-tiktok-b2b-phone-number-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",
        "required": [
          "keywords",
          "country"
        ],
        "properties": {
          "keywords": {
            "title": "🔍 Keywords / Usernames / URLs",
            "type": "array",
            "description": "🎯 The words that power your search! Add one or more keywords, TikTok usernames, or profile URLs (e.g. [\"marketing\", \"founder\"]) and the actor finds public TikTok B2B profiles/posts matching them, then ☎️ extracts any phone numbers it finds. 💡 Tip: more specific keywords = more targeted leads.",
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "🌐 Platform",
            "enum": [
              "Tiktok"
            ],
            "type": "string",
            "description": "📱 The service to scrape. Currently locked to Tiktok — more platforms coming soon! 🚀",
            "default": "Tiktok"
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "Afghanistan (+93)",
              "Albania (+355)",
              "Algeria (+213)",
              "Andorra (+376)",
              "Angola (+244)",
              "Antigua And Barbuda (+1-268)",
              "Argentina (+54)",
              "Armenia (+374)",
              "Australia (+61)",
              "Austria (+43)",
              "Azerbaijan (+994)",
              "Bahamas (+1-242)",
              "Bahrain (+973)",
              "Bangladesh (+880)",
              "Barbados (+1-246)",
              "Belarus (+375)",
              "Belgium (+32)",
              "Belize (+501)",
              "Benin (+229)",
              "Bhutan (+975)",
              "Bolivia (+591)",
              "Bosnia And Herzegovina (+387)",
              "Botswana (+267)",
              "Brazil (+55)",
              "Brunei (+673)",
              "Bulgaria (+359)",
              "Burkina Faso (+226)",
              "Burundi (+257)",
              "Cambodia (+855)",
              "Cameroon (+237)",
              "Canada (+1)",
              "Cape Verde (+238)",
              "Central African Republic (+236)",
              "Chad (+235)",
              "Chile (+56)",
              "China (+86)",
              "Colombia (+57)",
              "Comoros (+269)",
              "Congo (Democratic Republic) (+243)",
              "Congo (Republic) (+242)",
              "Costa Rica (+506)",
              "Croatia (+385)",
              "Cuba (+53)",
              "Cyprus (+357)",
              "Czech Republic (+420)",
              "Denmark (+45)",
              "Djibouti (+253)",
              "Dominica (+1-767)",
              "Dominican Republic (+1-809)",
              "East Timor (+670)",
              "Ecuador (+593)",
              "Egypt (+20)",
              "El Salvador (+503)",
              "Equatorial Guinea (+240)",
              "Eritrea (+291)",
              "Estonia (+372)",
              "Eswatini (+268)",
              "Ethiopia (+251)",
              "Fiji (+679)",
              "Finland (+358)",
              "France (+33)",
              "Gabon (+241)",
              "Gambia (+220)",
              "Georgia (+995)",
              "Germany (+49)",
              "Ghana (+233)",
              "Greece (+30)",
              "Grenada (+1-473)",
              "Guatemala (+502)",
              "Guinea (+224)",
              "Guinea-Bissau (+245)",
              "Guyana (+592)",
              "Haiti (+509)",
              "Honduras (+504)",
              "Hungary (+36)",
              "Iceland (+354)",
              "India (+91)",
              "Indonesia (+62)",
              "Iran (+98)",
              "Iraq (+964)",
              "Ireland (+353)",
              "Israel (+972)",
              "Italy (+39)",
              "Jamaica (+1-876)",
              "Japan (+81)",
              "Jordan (+962)",
              "Kazakhstan (+7)",
              "Kenya (+254)",
              "Kiribati (+686)",
              "Korea, North (+850)",
              "Korea, South (+82)",
              "Kuwait (+965)",
              "Kyrgyzstan (+996)",
              "Laos (+856)",
              "Latvia (+371)",
              "Lebanon (+961)",
              "Lesotho (+266)",
              "Liberia (+231)",
              "Libya (+218)",
              "Liechtenstein (+423)",
              "Lithuania (+370)",
              "Luxembourg (+352)",
              "Madagascar (+261)",
              "Malawi (+265)",
              "Malaysia (+60)",
              "Maldives (+960)",
              "Mali (+223)",
              "Malta (+356)",
              "Marshall Islands (+692)",
              "Mauritania (+222)",
              "Mauritius (+230)",
              "Mexico (+52)",
              "Micronesia (+691)",
              "Moldova (+373)",
              "Monaco (+377)",
              "Mongolia (+976)",
              "Montenegro (+382)",
              "Morocco (+212)",
              "Mozambique (+258)",
              "Myanmar (+95)",
              "Namibia (+264)",
              "Nauru (+674)",
              "Nepal (+977)",
              "Netherlands (+31)",
              "New Zealand (+64)",
              "Nicaragua (+505)",
              "Niger (+227)",
              "Nigeria (+234)",
              "North Macedonia (+389)",
              "Norway (+47)",
              "Oman (+968)",
              "Pakistan (+92)",
              "Palau (+680)",
              "Panama (+507)",
              "Papua New Guinea (+675)",
              "Paraguay (+595)",
              "Peru (+51)",
              "Philippines (+63)",
              "Poland (+48)",
              "Portugal (+351)",
              "Qatar (+974)",
              "Romania (+40)",
              "Russia (+7)",
              "Rwanda (+250)",
              "Saint Kitts And Nevis (+1-869)",
              "Saint Lucia (+1-758)",
              "Saint Vincent And The Grenadines (+1-784)",
              "Samoa (+685)",
              "San Marino (+378)",
              "Sao Tome And Principe (+239)",
              "Saudi Arabia (+966)",
              "Senegal (+221)",
              "Serbia (+381)",
              "Seychelles (+248)",
              "Sierra Leone (+232)",
              "Singapore (+65)",
              "Slovakia (+421)",
              "Slovenia (+386)",
              "Solomon Islands (+677)",
              "Somalia (+252)",
              "South Africa (+27)",
              "South Sudan (+211)",
              "Spain (+34)",
              "Sri Lanka (+94)",
              "Sudan (+249)",
              "Suriname (+597)",
              "Sweden (+46)",
              "Switzerland (+41)",
              "Syria (+963)",
              "Taiwan (+886)",
              "Tajikistan (+992)",
              "Tanzania (+255)",
              "Thailand (+66)",
              "Togo (+228)",
              "Tonga (+676)",
              "Trinidad And Tobago (+1-868)",
              "Tunisia (+216)",
              "Turkey (+90)",
              "Turkmenistan (+993)",
              "Tuvalu (+688)",
              "Uganda (+256)",
              "Ukraine (+380)",
              "United Arab Emirates (+971)",
              "United Kingdom (+44)",
              "United States (+1)",
              "Uruguay (+598)",
              "Uzbekistan (+998)",
              "Vanuatu (+678)",
              "Vatican City (+39-06)",
              "Venezuela (+58)",
              "Vietnam (+84)",
              "Yemen (+967)",
              "Zambia (+260)",
              "Zimbabwe (+263)"
            ],
            "type": "string",
            "description": "🌎 Select a country to scrape related phone numbers. 📞 The dial code is used to normalize and filter results down to just that country.",
            "default": "United Kingdom (+44)"
          },
          "maxPhoneNumbers": {
            "title": "📊 Maximum Phone Numbers per Keyword",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "🎚️ How many phone numbers to collect per keyword before moving on. ⚡ Higher = more leads but longer runs. Default is 10 ✅ (range 1 – 10,000).",
            "default": 10
          },
          "engine": {
            "title": "⚙️ Engine",
            "enum": [
              "legacy"
            ],
            "type": "string",
            "description": "🔧 The processing engine. Currently 'legacy' 🛡️ — a reliable, battle-tested extraction pipeline. More engines on the roadmap! 🚧",
            "default": "legacy"
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy Configuration",
            "type": "object",
            "description": "🌐 Control how the actor connects to the internet. 🆓 Leave it empty and the actor auto-selects the best proxy for reliable results. 🔄 On any failed response it rotates the connection and retries automatically. 🧠 Advanced users can plug in custom proxies here."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}