{
  "actorSpecification": 1,
  "fields": {
    "adEndDate": {
      "description": "Last date the ad was shown (YYYY-MM-DD).",
      "title": "Last shown",
      "type": "string"
    },
    "adFormat": {
      "description": "`single_video`, `image`, `carousel` or `spark_ad` when TikTok discloses it.",
      "title": "Ad format",
      "type": "string"
    },
    "adId": {
      "description": "TikTok ad ID.",
      "title": "Ad ID",
      "type": "string"
    },
    "adImages": {
      "description": "Image creative URLs.",
      "title": "Ad images",
      "type": "array"
    },
    "adImpressions": {
      "description": "TikTok's estimate bucket (e.g. `10K-100K`).",
      "title": "Unique users seen",
      "type": "string"
    },
    "adImpressionsExact": {
      "description": "Exact count when TikTok discloses it (normally empty).",
      "title": "Exact impressions",
      "type": "integer"
    },
    "adImpressionsMax": {
      "description": "Numeric upper bound of the bucket.",
      "title": "Impressions upper bound",
      "type": "integer"
    },
    "adImpressionsMin": {
      "description": "Numeric lower bound of the bucket.",
      "title": "Impressions lower bound",
      "type": "integer"
    },
    "adLanguages": {
      "description": "Languages carried by the search listing, when present.",
      "title": "Ad languages",
      "type": "array"
    },
    "adPlatforms": {
      "description": "Platforms the ad ran on, when listed.",
      "title": "Platforms",
      "type": "array"
    },
    "adReachByCountry": {
      "description": "Per-country reach with age × gender breakdowns.",
      "title": "Reach by country",
      "type": "array"
    },
    "adSpent": {
      "description": "Disclosed spend when TikTok publishes it (normally empty).",
      "title": "Spend",
      "type": "string"
    },
    "adStartDate": {
      "description": "First date the ad was shown (YYYY-MM-DD).",
      "title": "First shown",
      "type": "string"
    },
    "adTitle": {
      "description": "Ad caption or headline.",
      "title": "Ad caption/title",
      "type": "string"
    },
    "adType": {
      "description": "`video`, `image` or `text`.",
      "title": "Ad type",
      "type": "string"
    },
    "adUrl": {
      "description": "Link to the ad's TikTok page.",
      "title": "Ad URL",
      "type": "string"
    },
    "adVideoCover": {
      "description": "Cover image URL.",
      "title": "Video cover",
      "type": "string"
    },
    "adVideoUrl": {
      "description": "Working video CDN URL (decoded from TikTok's library wrapper).",
      "title": "Video URL",
      "type": "string"
    },
    "adVideoUrlOriginal": {
      "description": "TikTok's original library video URL, kept for traceability.",
      "title": "Original video URL",
      "type": "string"
    },
    "adVideos": {
      "description": "All video renditions for carousel ads, each with `videoUrl`, optional `coverImage` and `videoUrlOriginal`.",
      "title": "Ad videos",
      "type": "array"
    },
    "advertiserBusinessId": {
      "description": "Registered business ID.",
      "title": "Business ID",
      "type": "string"
    },
    "advertiserBusinessName": {
      "description": "Registered business name.",
      "title": "Registered advertiser",
      "type": "string"
    },
    "advertiserCountries": {
      "description": "Countries returned by the Creative Center detail endpoint.",
      "title": "Creative Center countries",
      "type": "array"
    },
    "advertiserCountry": {
      "description": "Advertiser's registered country.",
      "title": "Registry country",
      "type": "string"
    },
    "advertiserId": {
      "description": "TikTok business ID when disclosed.",
      "title": "Advertiser ID",
      "type": "string"
    },
    "advertiserIndustry": {
      "description": "Industry when the source provides it.",
      "title": "Advertiser industry",
      "type": "string"
    },
    "advertiserName": {
      "description": "Advertiser or brand name.",
      "title": "Advertiser",
      "type": "string"
    },
    "advertiserSponsor": {
      "description": "Sponsor/payer name when different from the advertiser.",
      "title": "Paid for by",
      "type": "string"
    },
    "advertiserTikTokUser": {
      "description": "Linked TikTok account: id/username/displayName/followers/accountType/avatar/profile.",
      "title": "TikTok account",
      "type": "object"
    },
    "advertisingObjective": {
      "description": "Campaign objective (e.g. Traffic, Sales).",
      "title": "Advertising objective",
      "type": "string"
    },
    "audienceExclude": {
      "description": "Whether the audience is excluded.",
      "title": "Audience exclude",
      "type": "string"
    },
    "audienceTargeting": {
      "description": "TikTok's audience include/exclude flag.",
      "title": "Audience targeting",
      "type": "string"
    },
    "auditReasons": {
      "description": "Additional audit reason codes/text.",
      "title": "Audit reasons",
      "type": "array"
    },
    "auditStatus": {
      "description": "Raw TikTok audit code.",
      "title": "Audit status",
      "type": "string"
    },
    "auditStatusLabel": {
      "description": "`approved`, `rejected`, `in_review` or `removed`.",
      "title": "Audit status label",
      "type": "string"
    },
    "avgImpressionsPerDay": {
      "description": "Lower-bound bucket divided by daysActive.",
      "title": "Avg impressions/day",
      "type": "integer"
    },
    "ccSource": {
      "description": "Source label from the Creative Center detail endpoint.",
      "title": "Creative Center source",
      "type": "string"
    },
    "commentCount": {
      "description": "Creative Center comment count.",
      "title": "Comments",
      "type": "integer"
    },
    "commercialContentIndicator": {
      "description": "Commercial-content indicator when present.",
      "title": "Commercial content",
      "type": "boolean"
    },
    "costTier": {
      "description": "Creative Center budget tier code (0/1).",
      "title": "Cost tier",
      "type": "integer"
    },
    "creativeId": {
      "description": "Creative identifier when present.",
      "title": "Creative ID",
      "type": "string"
    },
    "creativeName": {
      "description": "Creative name when present.",
      "title": "Creative name",
      "type": "string"
    },
    "creatorInteractionsTargeting": {
      "description": "Creator-interaction targeting when disclosed.",
      "title": "Creator interactions",
      "type": "string"
    },
    "ctaText": {
      "description": "CTA button text.",
      "title": "Call to action",
      "type": "string"
    },
    "ctr": {
      "description": "Creative Center click-through rate (0–1).",
      "title": "CTR",
      "type": "number"
    },
    "dataSource": {
      "description": "Source-provided data label when present.",
      "title": "Data source label",
      "type": "string"
    },
    "daysActive": {
      "description": "Inclusive days between first and last shown dates.",
      "title": "Days active",
      "type": "integer"
    },
    "detailUnavailable": {
      "description": "True when TikTok had no detail data for the ad.",
      "title": "Detail unavailable",
      "type": "boolean"
    },
    "detailsFetched": {
      "description": "True when the detail record was merged.",
      "title": "Details fetched",
      "type": "boolean"
    },
    "displayMode": {
      "description": "TikTok detail page display mode.",
      "title": "Display mode",
      "type": "string"
    },
    "industryKey": {
      "description": "Creative Center industry key.",
      "title": "Industry key",
      "type": "string"
    },
    "industryName": {
      "description": "Creative Center industry name.",
      "title": "Industry",
      "type": "string"
    },
    "interestTargeting": {
      "description": "Interest categories when disclosed.",
      "title": "Interest targeting",
      "type": "string"
    },
    "isSearchAd": {
      "description": "Creative Center `is_search` flag.",
      "title": "Search placement",
      "type": "boolean"
    },
    "landingPageUrl": {
      "description": "External website linked from the ad.",
      "title": "Landing page",
      "type": "string"
    },
    "likeCount": {
      "description": "Creative Center like count.",
      "title": "Likes",
      "type": "integer"
    },
    "objectiveKey": {
      "description": "Creative Center objective key.",
      "title": "Objective key",
      "type": "string"
    },
    "objectiveName": {
      "description": "Creative Center objective name.",
      "title": "Objective",
      "type": "string"
    },
    "observedCountry": {
      "description": "Creative Center country used for this row.",
      "title": "Observed country",
      "type": "string"
    },
    "observedPeriod": {
      "description": "Creative Center period in days.",
      "title": "Observed period",
      "type": "integer"
    },
    "recordType": {
      "description": "`ad` for a DSA library ad, `topAd` for a Creative Center top ad, `summary` for count-only runs.",
      "title": "Record Type",
      "type": "string"
    },
    "rejectionInfo": {
      "description": "Rejection details when the ad was rejected.",
      "title": "Rejection info",
      "type": "object"
    },
    "scrapedAt": {
      "description": "ISO 8601 UTC collection time.",
      "title": "Scraped at",
      "type": "string"
    },
    "searchQueryType": {
      "description": "`keyword`, `advertiser` or `browse`.",
      "title": "Search type",
      "type": "string"
    },
    "searchRegion": {
      "description": "Region used for this row.",
      "title": "Search region",
      "type": "string"
    },
    "searchTotal": {
      "description": "TikTok's reported total for the search.",
      "title": "Search total",
      "type": "integer"
    },
    "shareCount": {
      "description": "Creative Center share count.",
      "title": "Shares",
      "type": "integer"
    },
    "showMode": {
      "description": "Raw TikTok show_mode code.",
      "title": "Show mode",
      "type": "integer"
    },
    "sorAuditStatus": {
      "description": "TikTok's statement-of-reasons audit code.",
      "title": "SOR audit status",
      "type": "string"
    },
    "source": {
      "description": "`tiktokAdsLibrary` or `creativeCenter`.",
      "title": "Source",
      "type": "string"
    },
    "targetAudienceSize": {
      "description": "Estimated audience size bucket.",
      "title": "Target audience size",
      "type": "string"
    },
    "targetAudienceSizeMax": {
      "description": "Numeric upper bound.",
      "title": "Audience size upper",
      "type": "integer"
    },
    "targetAudienceSizeMin": {
      "description": "Numeric lower bound.",
      "title": "Audience size lower",
      "type": "integer"
    },
    "targetingByAge": {
      "description": "Per-region targeted age buckets.",
      "title": "Targeting by age",
      "type": "array"
    },
    "targetingByGender": {
      "description": "Per-region targeted genders.",
      "title": "Targeting by gender",
      "type": "array"
    },
    "targetingByLocation": {
      "description": "Rows of `{region, impressions}`.",
      "title": "Targeting by location",
      "type": "array"
    },
    "targetingCities": {
      "description": "Cities explicitly targeted.",
      "title": "Targeted cities",
      "type": "array"
    },
    "targetingCountries": {
      "description": "Country codes explicitly targeted.",
      "title": "Targeted countries",
      "type": "array"
    },
    "targetingDeviceModels": {
      "description": "Device models explicitly targeted.",
      "title": "Targeted devices",
      "type": "array"
    },
    "targetingHighSpendingPower": {
      "description": "TikTok's high-spending-power flag.",
      "title": "High spending power",
      "type": "string"
    },
    "targetingLanguages": {
      "description": "Languages explicitly targeted.",
      "title": "Targeted languages",
      "type": "array"
    },
    "targetingOperatingSystems": {
      "description": "Operating systems explicitly targeted.",
      "title": "Targeted operating systems",
      "type": "array"
    },
    "targetingProvinces": {
      "description": "Provinces/regions explicitly targeted.",
      "title": "Targeted provinces",
      "type": "array"
    },
    "targetingTotalImpressions": {
      "description": "Total unique-users-seen bucket.",
      "title": "Total reach",
      "type": "string"
    },
    "targetingTotalRegions": {
      "description": "Number of targeted regions.",
      "title": "Targeted regions",
      "type": "integer"
    },
    "videoDuration": {
      "description": "Creative Center video length in seconds.",
      "title": "Video duration",
      "type": "number"
    },
    "videoHeight": {
      "description": "Creative Center video height in pixels.",
      "title": "Video height",
      "type": "integer"
    },
    "videoInteractionsTargeting": {
      "description": "Video-interaction targeting when disclosed.",
      "title": "Video interactions",
      "type": "string"
    },
    "videoRenditions": {
      "description": "Creative Center video URLs keyed by resolution (360p–1080p).",
      "title": "Video renditions",
      "type": "object"
    },
    "videoWidth": {
      "description": "Creative Center video width in pixels.",
      "title": "Video width",
      "type": "integer"
    }
  },
  "title": "TikTok Ads",
  "views": {
    "creativeCenter": {
      "title": "Creative Center Top Ads",
      "transformation": {
        "fields": [
          "adId",
          "advertiserName",
          "adTitle",
          "ctr",
          "likeCount",
          "costTier",
          "industryName",
          "objectiveName",
          "observedCountry",
          "observedPeriod",
          "adVideoUrl",
          "adUrl"
        ]
      }
    },
    "detailed": {
      "title": "Detailed ads",
      "transformation": {
        "fields": [
          "adId",
          "source",
          "recordType",
          "advertiserName",
          "adTitle",
          "adType",
          "adFormat",
          "adStartDate",
          "adEndDate",
          "daysActive",
          "adImpressions",
          "adImpressionsMin",
          "adImpressionsMax",
          "auditStatusLabel",
          "ctaText",
          "advertisingObjective",
          "landingPageUrl",
          "advertiserBusinessName",
          "advertiserCountry",
          "advertiserSponsor",
          "targetAudienceSize",
          "targetingCountries",
          "adUrl"
        ]
      }
    },
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "adEndDate": {
            "format": "text",
            "label": "Last shown"
          },
          "adId": {
            "format": "text",
            "label": "Ad ID"
          },
          "adImpressions": {
            "format": "text",
            "label": "Unique users seen"
          },
          "adStartDate": {
            "format": "text",
            "label": "First shown"
          },
          "adTitle": {
            "format": "text",
            "label": "Ad caption/title"
          },
          "adType": {
            "format": "text",
            "label": "Ad type"
          },
          "adUrl": {
            "format": "link",
            "label": "Ad URL"
          },
          "advertiserName": {
            "format": "text",
            "label": "Advertiser"
          },
          "ctr": {
            "format": "number",
            "label": "CTR"
          },
          "likeCount": {
            "format": "number",
            "label": "Likes"
          },
          "source": {
            "format": "text",
            "label": "Source"
          }
        }
      },
      "title": "TikTok Ads",
      "transformation": {
        "fields": [
          "adId",
          "source",
          "advertiserName",
          "adTitle",
          "adType",
          "adImpressions",
          "adStartDate",
          "adEndDate",
          "ctr",
          "likeCount",
          "adUrl"
        ]
      }
    }
  }
}
