{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Ads Transparency Scraper: Competitor Ad Library",
    "description": "Every Google Search, YouTube, Shopping, Maps and Play ad a competitor runs, from Google's Ads Transparency Center: creative ID, format, preview image, first and last shown dates. Search by domain, advertiser ID or name. New-ads monitor. No browser, no login.",
    "version": "0.1",
    "x-build-id": "wskZbHh0BReA9bv2U"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steady-scrape~google-ads-transparency/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steady-scrape-google-ads-transparency",
        "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/steady-scrape~google-ads-transparency/runs": {
      "post": {
        "operationId": "runs-sync-steady-scrape-google-ads-transparency",
        "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/steady-scrape~google-ads-transparency/run-sync": {
      "post": {
        "operationId": "run-sync-steady-scrape-google-ads-transparency",
        "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": {
          "targets": {
            "title": "Domains or advertiser IDs",
            "type": "array",
            "description": "One per line: a domain (nike.com), an advertiser ID (AR16735076323512287233), several IDs of one company separated by commas (max 25), or an adstransparency.google.com advertiser URL.",
            "items": {
              "type": "string"
            }
          },
          "advertiserSearch": {
            "title": "Advertiser name search",
            "type": "array",
            "description": "Find advertisers by company or brand name (e.g. \"hubspot\"). Returns matching advertiser accounts with IDs, verification and approximate ad counts. Turn on 'Fetch ads for found advertisers' to also get their ads.",
            "items": {
              "type": "string"
            }
          },
          "fetchAdsForFoundAdvertisers": {
            "title": "Fetch ads for found advertisers",
            "type": "boolean",
            "description": "For each name search, also list the ads of the top matching advertiser(s).",
            "default": false
          },
          "maxAdvertisersPerSearch": {
            "title": "Advertisers to fetch ads for (per name search)",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Used only with 'Fetch ads for found advertisers'. A company with several Google Ads accounts counts as one.",
            "default": 1
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Where the ads were shown: country ISO code (\"US\", \"DE\"), country name (\"Germany\") or \"anywhere\" for all regions.",
            "default": "US"
          },
          "platform": {
            "title": "Platform",
            "enum": [
              "all",
              "google_search",
              "youtube",
              "google_shopping",
              "google_maps",
              "google_play"
            ],
            "type": "string",
            "description": "Where the ads ran. 'All platforms' includes every Google ad surface in the Transparency Center.",
            "default": "all"
          },
          "adFormat": {
            "title": "Ad format",
            "enum": [
              "all",
              "text",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Text, image or video creatives.",
            "default": "all"
          },
          "maxAdsPerTarget": {
            "title": "Max ads per target",
            "minimum": 1,
            "maximum": 360,
            "type": "integer",
            "description": "Most recently shown ads first. Google returns up to 120 per query; with format 'All' up to 360 are collected by also querying text, image and video separately (deduplicated).",
            "default": 120
          },
          "lastShownWithinDays": {
            "title": "Only ads shown in the last N days",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no filter. 1-2 = ads running right now. Filtered-out ads are not charged.",
            "default": 0
          },
          "dateFrom": {
            "title": "Shown from (date)",
            "type": "string",
            "description": "Optional. Only ads shown on or after this date (YYYY-MM-DD). Google keeps fewer old ads, so long-ago ranges may return nothing."
          },
          "dateTo": {
            "title": "Shown until (date)",
            "type": "string",
            "description": "Optional, needs 'Shown from'. Defaults to today."
          },
          "onlyNewAds": {
            "title": "Monitor mode: only new ads",
            "type": "boolean",
            "description": "Schedule this Actor and get only creatives you have not received before for each target. The first run saves a baseline (and returns all ads).",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor storage name",
            "type": "string",
            "description": "Named key-value store in your Apify account that remembers which ads you already received. Use a different name per monitor.",
            "default": "steadyscrape-ads-monitor"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}