> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapebadger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Ad Detail

> A single TikTok ad's advertiser, creatives, and the full EU-DSA targeting and impression breakdown — per-region impressions by age and gender, audience size, interests, countries, languages and devices.

<Note>
  The TikTok Ad Library is **EU-only** (EU Digital Services Act ad transparency).
  Pass an ad `id` from a [Search the Ad Library](/api-reference/endpoint/tiktok/search-ads)
  result and an EU `region`.
</Note>

<Note>
  Each request costs **8 credits**. Failed requests are not charged.
</Note>

<Tip>
  The real per-region impression numbers live in `targeting.location.data[].breakdowns`
  (by age and gender). The top-level `impression` and `spent` fields are usually
  `0`/`""` for EU disclosures — sum the breakdowns to size a campaign's reach.
</Tip>


## OpenAPI

````yaml GET /v1/tiktok/ads/{ad_id}
openapi: 3.1.0
info:
  title: ScrapeBadger TikTok API
  version: 1.0.0
  description: >-
    TikTok scraping API for user profiles, videos, comments, transcripts,
    hashtags, music/sounds, search, trending, and the EU Commercial Content (ad
    transparency) library. Returns clean structured JSON; handles signing,
    anti-bot bypass, and regional proxy routing automatically.
servers:
  - url: https://scrapebadger.com
    description: Production
security:
  - apiKeyAuth: []
paths:
  /v1/tiktok/ads/{ad_id}:
    get:
      tags:
        - TikTok Ads
      summary: Get TikTok ad detail
      description: >-
        Fetch a single ad's advertiser, creatives, and full targeting/impression
        breakdown (per-region age/gender impressions, audience size, interests,
        countries, languages).
      operationId: getTikTokAdDetail
      parameters:
        - name: ad_id
          in: path
          required: true
          schema:
            type: string
          description: Ad id from an ads/search result.
        - name: region
          in: query
          schema:
            type: string
            default: DE
          description: EU region code — the Ad Library is EU-only.
      responses:
        '200':
          description: Ad detail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdDetailResponse'
              example:
                ad:
                  id: '1873163420032386'
                  name: Nike Store
                  title: '@nike'
                  first_shown_date: 1786320000000
                  last_shown_date: 1786406400000
                  videos:
                    - video_url: https://library.tiktok.com/api/v1/cdn/ad.mp4
                      cover_img: https://p16-common-sign.tiktokcdn.com/cover.image
                  estimated_audience: 10K-100K
                  advertising_objective: Reach
                  call_to_action: Learn more
                  external_url: https://www.nike.com/de/
                advertiser:
                  name: Nike Store
                  adv_biz_ids: '7564865556147552273'
                  registry_location: Germany
                  sponsor: Nike Store
                  tt_user: null
                targeting:
                  location:
                    total_region: 1
                    total_impressions: 10K-100K
                    data:
                      - region: DE
                        impressions: 23K
                        breakdowns:
                          - age: 18-24
                            gender: FEMALE
                            impressions: 9K
                          - age: 25-34
                            gender: FEMALE
                            impressions: 5K
                  target_audience_size: 22.8M-27.9M
                  interest: Home Design, Education
                  countries:
                    - DE
                  languages:
                    - German
                  operating_systems:
                    - ALL
                display_mode: enhanced
                region: DE
components:
  schemas:
    AdDetailResponse:
      type: object
      properties:
        ad:
          $ref: '#/components/schemas/TikTokAd'
        advertiser:
          $ref: '#/components/schemas/AdAdvertiser'
        targeting:
          $ref: '#/components/schemas/AdTargeting'
        display_mode:
          type: string
          description: TikTok disclosure mode, e.g. "enhanced".
        region:
          type: string
      required:
        - ad
        - advertiser
        - targeting
        - region
    TikTokAd:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Advertiser name.
        audit_status:
          type: string
        type:
          type: string
        first_shown_date:
          type: integer
          description: Epoch milliseconds.
        last_shown_date:
          type: integer
          description: Epoch milliseconds.
        videos:
          type: array
          items:
            $ref: '#/components/schemas/TikTokAdVideo'
        title:
          type: string
          description: Ad caption / creative title.
        estimated_audience:
          type: string
          description: Audience bracket, e.g. "10K-100K".
        impression:
          type: integer
          description: Usually 0 on search/detail; real numbers live in targeting.location.
        spent:
          type: string
          description: Spend bracket when disclosed (often empty).
        advertising_objective:
          type: string
          description: e.g. "Reach", "Traffic".
        call_to_action:
          type: string
          description: e.g. "Learn more" (populated on detail).
        external_url:
          type: string
          description: Ad landing page (populated on detail).
        show_mode:
          type: integer
        sor_audit_status:
          type: string
        image_urls:
          type: array
          items:
            type: string
      required:
        - id
      description: An ad from the Commercial Content Library.
    AdAdvertiser:
      type: object
      properties:
        name:
          type: string
        adv_biz_ids:
          type: string
          description: Advertiser business id — feeds ads/search?advertiser_id=.
        registry_location:
          type: string
        sponsor:
          type: string
        tt_user:
          type: object
          nullable: true
          description: Linked TikTok account, when disclosed.
      description: The advertiser behind an ad.
    AdTargeting:
      type: object
      properties:
        location:
          $ref: '#/components/schemas/AdTargetingLocation'
        age:
          type: array
          items:
            type: object
        gender:
          type: array
          items:
            type: object
        target_audience_size:
          type: string
          description: e.g. "22.8M-27.9M".
        audience:
          type: string
        interest:
          type: string
          description: Comma-joined string, e.g. "Home Design, Education".
        video_interactions:
          type: string
        creator_interactions:
          type: string
        countries:
          type: array
          items:
            type: string
        cities:
          type: array
          items:
            type: string
        provinces:
          type: array
          items:
            type: string
        languages:
          type: array
          items:
            type: string
        device_models:
          type: array
          items:
            type: string
        operating_systems:
          type: array
          items:
            type: string
        high_spending_power:
          type: string
        audience_exclude:
          type: string
      description: Targeting + impression breakdown disclosed for an ad (EU-DSA).
    TikTokAdVideo:
      type: object
      properties:
        video_url:
          type: string
        cover_img:
          type: string
      description: A creative asset attached to an ad.
    AdTargetingLocation:
      type: object
      properties:
        total_region:
          type: integer
        total_impressions:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/AdTargetingRegion'
      description: Location targeting + the only place real impression numbers live.
    AdTargetingRegion:
      type: object
      properties:
        region:
          type: string
        impressions:
          type: string
        breakdowns:
          type: array
          items:
            $ref: '#/components/schemas/AdTargetingBreakdown'
    AdTargetingBreakdown:
      type: object
      properties:
        age:
          type: string
        gender:
          type: string
        impressions:
          type: string
          description: Bracketed range, e.g. "0-1K", "2K".
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````