{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Ads Transparency Scraper",
    "description": "Google Ads Transparency Center scraper API for competitor ad intelligence. Search brands, domains or advertiser IDs; resolve verified advertisers, paginate creatives, filter country, date and format. From $1.50 per 1,000 ads, platform usage included.",
    "version": "0.1",
    "x-build-id": "1e3QVjbYa5hx8dlW2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zenomastro~google-ads-transparency-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zenomastro-google-ads-transparency-pro",
        "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/zenomastro~google-ads-transparency-pro/runs": {
      "post": {
        "operationId": "runs-sync-zenomastro-google-ads-transparency-pro",
        "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/zenomastro~google-ads-transparency-pro/run-sync": {
      "post": {
        "operationId": "run-sync-zenomastro-google-ads-transparency-pro",
        "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": {
          "queries": {
            "title": "Brand / advertiser search terms",
            "type": "array",
            "description": "Brand names or legal advertiser names, resolved through Google Ads Transparency suggestions (e.g. Nike). Domains (nike.com), AR advertiser IDs and Transparency Center URLs pasted here are recognised automatically.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "advertiserIds": {
            "title": "Advertiser IDs",
            "type": "array",
            "description": "Optional Google Ads Transparency advertiser IDs beginning with AR. The most precise input for recurring workflows.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "advertiserUrls": {
            "title": "Advertiser URLs",
            "type": "array",
            "description": "Optional adstransparency.google.com URLs. The AR advertiser ID is extracted automatically; domain search URLs (…?domain=nike.com) run a domain search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "Advertised domains",
            "type": "array",
            "description": "Optional domains such as nike.com. Returns ads from every advertiser that links to the domain, even when the legal advertiser name is unknown.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter ISO country code such as US, IT, GB, DE, FR, CA, AU or JP (country names work too), or ANYWHERE for ads shown in any country.",
            "default": "US"
          },
          "maxAdvertisers": {
            "title": "Maximum advertisers",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum unique advertisers resolved across all inputs (IDs, URLs and search terms). Domains are not counted.",
            "default": 5
          },
          "maxAdsPerAdvertiser": {
            "title": "Maximum ads per advertiser/domain",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum ads returned for each advertiser or domain, newest first. Results are paginated automatically, and filters and the monitor are applied before counting, so you get up to this many matching ads.",
            "default": 100
          },
          "detailLevel": {
            "title": "Detail level",
            "enum": [
              "basic",
              "detailed"
            ],
            "type": "string",
            "description": "Basic returns the core ad row: format, first/last shown dates, days active, image or preview URL, size and Transparency Center links. Detailed also looks up each creative: countries and platforms where it ran (with impression ranges when Google shows them), targeting flags, topic, variations, plus the ad copy and landing links from Google's ad preview and the YouTube video ID of video ads when the preview contains them. An ad whose lookup fails is returned and charged as basic.",
            "default": "basic"
          },
          "formats": {
            "title": "Ad formats",
            "type": "array",
            "description": "Optional format filter: image, video and/or text. Leave empty for all formats.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "dateFrom": {
            "title": "Active on/after",
            "type": "string",
            "description": "Optional date such as 2026-01-01. Ads last shown before this date are skipped.",
            "default": ""
          },
          "dateTo": {
            "title": "Active on/before",
            "type": "string",
            "description": "Optional date such as 2026-12-31 (the whole day is included). Ads first shown after this date are skipped.",
            "default": ""
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name (letters, numbers, dot, underscore, hyphen) for scheduled monitoring. Ads returned by runs with the same name are remembered, and every ad row gets isNew. Use one name per watch list."
          },
          "onlyNew": {
            "title": "Return only new ads",
            "type": "boolean",
            "description": "With a monitor name: return only ads that earlier runs of the same monitor have not returned yet. Already seen ads are skipped and not charged. The first run returns everything (up to the limits).",
            "default": false
          },
          "includeAdvertiserSummary": {
            "title": "Add a free summary row per advertiser/domain",
            "type": "boolean",
            "description": "Adds one free row (recordType advertiser_summary) per advertiser or domain after its ads: ads returned, formats, first/last shown, ads shown in the last 30 days, advertised domains and, for domains, which advertisers run the ads. A run summary is always saved as SUMMARY in the key-value store.",
            "default": false
          },
          "maxAdvertisersPerQuery": {
            "title": "Advertisers per search term",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many matching advertiser accounts to collect per search term, e.g. 3 to include regional subsidiaries. Extra accounts must match the name; the best match is always used.",
            "default": 1
          },
          "includeResolutionCandidates": {
            "title": "Include advertiser resolution candidates",
            "type": "boolean",
            "description": "Attach up to 10 advertiser candidates considered for a search term to each ad's advertiser object (resolutionCandidates). Useful for audits and ambiguous brands.",
            "default": false
          },
          "requestTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Per-request timeout in seconds for Google Ads Transparency calls.",
            "default": 20
          },
          "retries": {
            "title": "Retries",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Retries for temporary 403/408/425/429/5xx answers, Google's CAPTCHA redirect and network errors, with backoff (Retry-After is honoured).",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional Apify or custom proxy. Requests are direct by default; proxy sessions rotate every few requests. When Google rate-limits direct requests on the Apify platform, the Actor switches to Apify datacenter proxy automatically.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}