{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Ads Transparency Scraper: Ads, Text, Dates by Advertiser",
    "description": "Collect Google ads by advertiser or website, with screenshots, dates, variations, country details and readable text where available. Monitor unseen ads. Trial: 0.01 USD per 1,000 ads until 30 Nov 2026.",
    "version": "1.0",
    "x-build-id": "7BJM1I0VX1so5GLzn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cozybit~google-ads-transparency-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cozybit-google-ads-transparency-scraper",
        "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/cozybit~google-ads-transparency-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cozybit-google-ads-transparency-scraper",
        "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/cozybit~google-ads-transparency-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cozybit-google-ads-transparency-scraper",
        "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": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Advertisers or websites",
            "type": "array",
            "description": "Enter names such as Nike, websites such as nike.com, or Google advertiser IDs starting with AR. Name matching prefers whole words at the start, then elsewhere, then substrings. Within each group, your selected country is preferred, then the most ads. Check RUN_SUMMARY.resolved for the choice and candidates. Free Apify plans return up to 50 ads or 50 advertiser rows in total per run; any paid plan removes this limit.",
            "items": {
              "type": "string"
            }
          },
          "resultType": {
            "title": "Results",
            "enum": [
              "ads",
              "advertisers"
            ],
            "type": "string",
            "description": "Ads returns one row per ad. Advertisers returns one row per advertiser per query with filtered approximate ad counts, billing country, legal name, verification and the latest ad. Website discovery scans at most five pages of 40 recent ads, so it may not find every advertiser. Empty discovery produces one free no-data row. Known advertisers with no matching ads are retained with zero counts; zero or failed counts are free. Advertiser mode ignores onlyNewAds, includeAdText, includeDetails and maxAdsPerQuery.",
            "default": "ads"
          },
          "maxAdvertisersPerQuery": {
            "title": "Maximum advertisers per query",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Advertiser mode only. Keep this many distinct advertisers in first-appearance order for websites, or the top ranked name matches. An AR ID selects only that advertiser. Free plans return at most 50 rows per run, including no-data rows.",
            "default": 5
          },
          "region": {
            "title": "Shown in country",
            "type": "string",
            "description": "ISO country code, for example US, DE, GB or IN. Empty means anywhere; this filters ad delivery, not proxy location.",
            "default": ""
          },
          "platform": {
            "title": "Platform",
            "enum": [
              "",
              "SEARCH",
              "YOUTUBE",
              "SHOPPING",
              "MAPS",
              "PLAY"
            ],
            "type": "string",
            "description": "Empty includes every Google platform.",
            "default": ""
          },
          "format": {
            "title": "Ad format",
            "enum": [
              "",
              "TEXT",
              "IMAGE",
              "VIDEO"
            ],
            "type": "string",
            "description": "Empty includes every ad format.",
            "default": ""
          },
          "dateFrom": {
            "title": "Shown on or after",
            "type": "string",
            "description": "Optional date YYYY-MM-DD. Filters serving dates, not the original creative creation date.",
            "default": ""
          },
          "dateTo": {
            "title": "Shown on or before",
            "type": "string",
            "description": "Optional inclusive date YYYY-MM-DD.",
            "default": ""
          },
          "maxAdsPerQuery": {
            "title": "Maximum ads per advertiser or website",
            "minimum": 1,
            "type": "integer",
            "description": "Ignored in advertiser mode. Collect up to this many ads for each entry, most recently shown first. In monitoring mode this counts only unseen ads. Free Apify plans return up to 50 ads in total per run, even across several entries.",
            "default": 40
          },
          "includeAdText": {
            "title": "Extract available ad text",
            "type": "boolean",
            "description": "Ignored in advertiser mode. Fetch text previews, including product titles of Shopping image ads. Text ads without a preview also need a detail lookup. Google sometimes exposes screenshots only, reported as unavailable. No OCR is used.",
            "default": true
          },
          "includeDetails": {
            "title": "Include ad variations and country details",
            "type": "boolean",
            "description": "Ignored in advertiser mode. Include available variations, first and last shown dates by country, and impression ranges where Google provides them. Included in the price. Turn off for faster runs; a detail lookup may still be needed to find text.",
            "default": true
          },
          "onlyNewAds": {
            "title": "Return only ads not collected before",
            "type": "boolean",
            "description": "Ignored in advertiser mode; no monitoring state is read or written. Remember collected ads for each entry, country, platform and format. Later runs skip them before text lookup or charging. The first run collects normally. Use one monitoring run at a time for the same settings. Previously collected ads are not returned again until their IDs leave the 50,000-ad history.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy settings for ad searches and details",
            "type": "object",
            "description": "Keep the default residential proxy for advertiser searches, ads and details. No proxy country is required. Datacenter proxies are not recommended: Google blocks shared datacenter IPs. Text previews normally load directly from the run's server; a blocked preview is retried once through the current proxy session.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}