{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Ads Transparency Scraper | $1/1K Starter | Ad Monitor",
    "description": "Scrape Google Ads Transparency Center by company domain or advertiser. Get ad copy, images, YouTube links and shown dates. Export CSV/JSON, resume batches and monitor competitor creatives. $1/1K on Starter; details included. No Google Ads login needed.",
    "version": "0.1",
    "x-build-id": "tcRFfF1ahUN8Boatd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/x_guru~google-ads-transparency-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-x_guru-google-ads-transparency-monitor",
        "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/x_guru~google-ads-transparency-monitor/runs": {
      "post": {
        "operationId": "runs-sync-x_guru-google-ads-transparency-monitor",
        "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/x_guru~google-ads-transparency-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-x_guru-google-ads-transparency-monitor",
        "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",
        "required": [
          "targets"
        ],
        "properties": {
          "targets": {
            "title": "Companies or Google Ads URLs",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "Start with company domains such as nike.com, one per line (up to 50). You can also paste an AR advertiser ID, an exact advertiser name or a Google Ads Transparency URL. Domain matches may include agencies and resellers. Ambiguous names return candidates in Results by target; choose an ID for a new search.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 5000
            }
          },
          "maxResults": {
            "title": "Maximum ads in this run",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "One total limit across all companies after deduplication. The form starts with 10 ads for a quick preview. Free plans allow up to 100 ads per continuation chain. Paid plans use your chosen limit, subject to budget and resource limits. Continue larger collections with PAGINATION.nextInput.",
            "default": 100
          },
          "country": {
            "title": "Search country",
            "enum": [
              "ALL",
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "ES",
              "IT",
              "BR",
              "IN",
              "AD",
              "AE",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AQ",
              "AR",
              "AS",
              "AT",
              "AW",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BI",
              "BJ",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BS",
              "BT",
              "BV",
              "BW",
              "BY",
              "BZ",
              "CC",
              "CD",
              "CF",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CN",
              "CO",
              "CR",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "EH",
              "ER",
              "ET",
              "FI",
              "FJ",
              "FK",
              "FM",
              "FO",
              "GA",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GI",
              "GL",
              "GM",
              "GN",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GW",
              "GY",
              "HK",
              "HM",
              "HN",
              "HR",
              "HT",
              "HU",
              "ID",
              "IE",
              "IL",
              "IM",
              "IO",
              "IQ",
              "IS",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LI",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "LY",
              "MA",
              "MC",
              "MD",
              "ME",
              "MG",
              "MH",
              "MK",
              "ML",
              "MM",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PN",
              "PR",
              "PS",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RW",
              "SA",
              "SB",
              "SC",
              "SE",
              "SG",
              "SH",
              "SI",
              "SJ",
              "SK",
              "SL",
              "SM",
              "SN",
              "SO",
              "SR",
              "ST",
              "SV",
              "SX",
              "SZ",
              "TC",
              "TD",
              "TF",
              "TG",
              "TH",
              "TJ",
              "TK",
              "TL",
              "TM",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "UM",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "YE",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "type": "string",
            "description": "Country scope applied by Google. All countries is the default. This is not exact targeting or reach data. Single-creative URLs require All countries. URL region/format filters override this form for that target.",
            "default": "ALL"
          },
          "adFormat": {
            "title": "Ad format",
            "enum": [
              "all",
              "text",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Choose text, image, video or all formats. Filtering is applied by the source for searches.",
            "default": "all"
          },
          "includeDetails": {
            "title": "Include creative details",
            "type": "boolean",
            "description": "Recommended: extract available ad copy and image/YouTube links, without a separate detail fee. Turn off for faster metadata-only collection. Some creatives provide previews only; missing fields are null.",
            "default": true
          },
          "mode": {
            "title": "Collection mode",
            "enum": [
              "collect",
              "monitor"
            ],
            "type": "string",
            "description": "Collect current search results, or compare creative changes with the previous completed snapshot. Monitoring requires details. All saved ads, including unchanged ones, count toward the result limit and price.",
            "default": "collect"
          },
          "lastShownFrom": {
            "title": "Last shown on or after (optional)",
            "pattern": "^$|^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Choose an inclusive UTC calendar date. The filter uses the source last-shown date after fetching pages. Narrow windows can require extra pages."
          },
          "lastShownTo": {
            "title": "Last shown on or before (optional)",
            "pattern": "^$|^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Choose an inclusive UTC calendar date on or after the start date. Leave empty for no upper bound."
          },
          "monitorKey": {
            "title": "Monitor name (optional for Tasks)",
            "maxLength": 100,
            "type": "string",
            "description": "A saved Apify Task automatically uses its own identity and updates the previous completed snapshot. For direct/API monitor runs, enter a stable name such as nike-weekly. Use different names for independent monitors; run each monitor sequentially."
          },
          "resumeFromRunId": {
            "title": "Continue a previous run (optional)",
            "type": "string",
            "description": "Prefer copying PAGINATION.nextInput. You may enter a finished run ID from this Actor and your account, keeping the same targets and filters. Saved ads are skipped and buffered pages continue. A restricted source may remain unavailable; retrying is not an access guarantee."
          },
          "collectionStrategy": {
            "title": "Collection order",
            "enum": [
              "round_robin",
              "sequential"
            ],
            "type": "string",
            "description": "Round robin gives each target up to five ads per turn by default. Sequential finishes earlier targets first. One failed target does not stop other targets.",
            "default": "round_robin"
          },
          "advanced": {
            "title": "Collection limits and creative variants",
            "type": "object",
            "description": "Leave these defaults for a first run. Free plans are capped at 30 source requests, 120 collection seconds and 10 MB per run even if larger values are entered. For paid plans, these fields control the collection limits.",
            "properties": {
              "pageSize": {
                "title": "Ads per search page",
                "type": "integer",
                "description": "Search page size only. The overall ad limit is set above.",
                "editor": "number",
                "minimum": 1,
                "maximum": 100
              },
              "resultsPerTargetTurn": {
                "title": "Ads per company turn",
                "type": "integer",
                "description": "In round-robin mode, collect this many ads before moving to the next company.",
                "editor": "number",
                "minimum": 1,
                "maximum": 25
              },
              "maxCreativeVariants": {
                "title": "Creative variants per ad",
                "type": "integer",
                "description": "Extract up to this many variants per ad. More variants can take longer. Keep this value unchanged when continuing a run.",
                "editor": "number",
                "minimum": 1,
                "maximum": 10
              },
              "maxRequests": {
                "title": "Maximum source requests",
                "type": "integer",
                "description": "Search, details, creative previews, retries and media checks all count. Lower limits can leave partial results.",
                "editor": "number",
                "minimum": 1,
                "maximum": 5000
              },
              "maxRunSeconds": {
                "title": "Maximum collection time",
                "type": "integer",
                "description": "Collection time in seconds. Set the Apify timeout in Run options at least 45 seconds higher.",
                "editor": "number",
                "minimum": 15,
                "maximum": 3600,
                "unit": "seconds"
              },
              "maxTransferMegabytes": {
                "title": "Maximum measured transfer",
                "type": "integer",
                "description": "Stop after this many MB of measured request/response bodies. Transport overhead is not included.",
                "editor": "number",
                "minimum": 1,
                "maximum": 500,
                "unit": "MB"
              },
              "requestTimeoutSeconds": {
                "title": "Request timeout",
                "type": "integer",
                "description": "Maximum wait for one source request, in seconds.",
                "editor": "number",
                "minimum": 5,
                "maximum": 60,
                "unit": "seconds"
              },
              "maxRetries": {
                "title": "Retries per request",
                "type": "integer",
                "description": "Additional attempts after a temporary request failure. Other companies continue if a target remains unavailable.",
                "editor": "number",
                "minimum": 0,
                "maximum": 3
              },
              "requestDelaySeconds": {
                "title": "Delay between requests",
                "type": "number",
                "description": "Pause between source requests, in seconds. The default balances speed with request pacing.",
                "editor": "number",
                "minimum": 0,
                "maximum": 5,
                "unit": "seconds"
              },
              "maxNoProgressPages": {
                "title": "Pages without new ads",
                "type": "integer",
                "description": "Pause a target after this many consecutive pages contain no new ad IDs. This prevents endless pagination.",
                "editor": "number",
                "minimum": 1,
                "maximum": 20
              }
            },
            "default": {
              "pageSize": 25,
              "resultsPerTargetTurn": 5,
              "requestTimeoutSeconds": 25,
              "requestDelaySeconds": 0.1,
              "maxRetries": 2,
              "maxRequests": 1000,
              "maxRunSeconds": 600,
              "maxTransferMegabytes": 100,
              "maxNoProgressPages": 3,
              "maxCreativeVariants": 3
            },
            "additionalProperties": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}