{
  "openapi": "3.0.1",
  "info": {
    "title": "TikTok Creative Center Scraper: Top Ads, No Login",
    "description": "Scrape TikTok Creative Center Top Ads for 61 countries, no login or cookies: brand, ad title, likes, comments, shares, CTR, cost tier, industry, objective, landing page, video and cover URLs with expiry. Sweeps sort, period, industry and objective combinations for volume. Pay per ad.",
    "version": "0.1",
    "x-build-id": "GpT2onO2xzj5Zew5P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~tiktok-creative-center-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-tiktok-creative-center-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/automation_craft~tiktok-creative-center-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-tiktok-creative-center-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/automation_craft~tiktok-creative-center-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-tiktok-creative-center-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": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "The Creative Center region filter. Pick several to sweep each. Through the API pass ISO codes or names, or \"all\".",
            "items": {
              "type": "string",
              "enum": [
                "AR",
                "AU",
                "AT",
                "BH",
                "BD",
                "BY",
                "BE",
                "BR",
                "BG",
                "KH",
                "CA",
                "CL",
                "CO",
                "HR",
                "CZ",
                "DK",
                "EG",
                "FI",
                "FR",
                "DE",
                "GR",
                "HU",
                "ID",
                "IE",
                "IL",
                "IT",
                "JP",
                "JO",
                "KZ",
                "KW",
                "MY",
                "MX",
                "MA",
                "NL",
                "NZ",
                "NO",
                "OM",
                "PK",
                "PE",
                "PH",
                "PL",
                "PT",
                "QA",
                "RO",
                "RU",
                "SA",
                "SG",
                "SK",
                "ZA",
                "KR",
                "ES",
                "SE",
                "CH",
                "TW",
                "TH",
                "TR",
                "UA",
                "AE",
                "GB",
                "US",
                "VN"
              ],
              "enumTitles": [
                "AR",
                "AU",
                "AT",
                "BH",
                "BD",
                "BY",
                "BE",
                "BR",
                "BG",
                "KH",
                "CA",
                "CL",
                "CO",
                "HR",
                "CZ",
                "DK",
                "EG",
                "FI",
                "FR",
                "DE",
                "GR",
                "HU",
                "ID",
                "IE",
                "IL",
                "IT",
                "JP",
                "JO",
                "KZ",
                "KW",
                "MY",
                "MX",
                "MA",
                "NL",
                "NZ",
                "NO",
                "OM",
                "PK",
                "PE",
                "PH",
                "PL",
                "PT",
                "QA",
                "RO",
                "RU",
                "SA",
                "SG",
                "SK",
                "ZA",
                "KR",
                "ES",
                "SE",
                "CH",
                "TW",
                "TH",
                "TR",
                "UA",
                "AE",
                "GB",
                "US",
                "VN"
              ]
            }
          },
          "periods": {
            "title": "Periods",
            "type": "array",
            "description": "The Creative Center time window: last 7, 30 or 180 days. Pick several to sweep each.",
            "items": {
              "type": "string",
              "enum": [
                "7",
                "30",
                "180"
              ],
              "enumTitles": [
                "Last 7 days",
                "Last 30 days",
                "Last 180 days"
              ]
            }
          },
          "orderBy": {
            "title": "Sort orders to sweep",
            "type": "array",
            "description": "Each sort order surfaces a different list of 20. Default: every sort order.",
            "items": {
              "type": "string",
              "enum": [
                "for_you",
                "impression",
                "ctr",
                "like",
                "play_2s_rate",
                "play_6s_rate",
                "cvr"
              ],
              "enumTitles": [
                "For you (TikTok default)",
                "Reach",
                "CTR",
                "Likes",
                "2 second view rate",
                "6 second view rate",
                "Conversion rate"
              ]
            }
          },
          "industries": {
            "title": "Industries (ids)",
            "type": "array",
            "description": "Creative Center industry ids, for example 22111000000 (Apparel and Accessories). Leave empty to sweep every industry (see \"Sweep industries\"). The run summary and the filters row list every id with its label.",
            "items": {
              "type": "string"
            }
          },
          "objectives": {
            "title": "Campaign objectives (ids)",
            "type": "array",
            "description": "Creative Center objective ids (1 = App installs, 2 = Traffic and so on; the filters row lists them). Leave empty to sweep every objective.",
            "items": {
              "type": "string"
            }
          },
          "adLanguages": {
            "title": "Ad languages",
            "type": "array",
            "description": "ISO codes such as en, es, de. Empty = any language.",
            "items": {
              "type": "string"
            }
          },
          "adFormat": {
            "title": "Ad format",
            "enum": [
              "",
              "spark",
              "non_spark"
            ],
            "type": "string",
            "description": "Spark ads (boosted organic posts) or non Spark ads. Empty = both.",
            "default": ""
          },
          "likeTiers": {
            "title": "Likes percentile tiers",
            "type": "array",
            "description": "The Creative Center \"Likes\" filter: 1 = top 1 to 20 percent, 2 = top 21 to 40 percent, up to 5.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "Top 1 to 20%",
                "Top 21 to 40%",
                "Top 41 to 60%",
                "Top 61 to 80%",
                "Top 81 to 100%"
              ]
            }
          },
          "sweepIndustries": {
            "title": "Sweep industries",
            "type": "boolean",
            "description": "When no industry is pinned, add one combination per industry after the base sweep. More distinct ads, more calls.",
            "default": true
          },
          "sweepObjectives": {
            "title": "Sweep objectives",
            "type": "boolean",
            "description": "When no objective is pinned, add one combination per objective after the industry layer.",
            "default": true
          },
          "maxAds": {
            "title": "Max ads (total)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Hard cap on delivered, charged top ads. The sweep stops when it is reached or when the combinations run out. 0 means no cap."
          },
          "includeDetails": {
            "title": "Include the detail record",
            "type": "boolean",
            "description": "Adds landing page, keywords, pattern labels, highlight text, voice over, comments, shares, countries and source to every ad (one extra call per ad, included in the price).",
            "default": true
          },
          "includeKeyframes": {
            "title": "Include retention curve and engagement metrics",
            "type": "boolean",
            "description": "Adds the second by second audience retention curve and the like, comment and share counts TikTok reports for the ad. $1.00 per 1,000 ads that carry them (two extra TikTok calls per ad).",
            "default": false
          },
          "dedupMemoryName": {
            "title": "Dedup memory name (only new ads on later runs)",
            "type": "string",
            "description": "Name this monitor, for example \"us-top-ads\". Ads delivered under that name are remembered in a key-value store the Actor creates in your account and are never delivered or charged again."
          },
          "resetDedupMemory": {
            "title": "Reset this memory first",
            "type": "boolean",
            "description": "Forget everything stored under the memory name before running.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Leave the default (Apify datacenter proxy). The Creative Center API is not IP bound; the proxy only spreads load.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Filter combinations fetched at the same time.",
            "default": 4
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}