{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Ads Transparency Center API",
    "description": "Google Ads Transparency Center scraper: every Google ad of an advertiser, website or ad link, with image or video, ad text and landing page where shown, countries, dates, EU reach and targeting. Or list advertisers with ad counts. Filter by country, format, platform, dates; only new ads. No login.",
    "version": "0.1",
    "x-build-id": "prNbQaINbeNkbQgz8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deepmine~google-ads-transparency/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deepmine-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/deepmine~google-ads-transparency/runs": {
      "post": {
        "operationId": "runs-sync-deepmine-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/deepmine~google-ads-transparency/run-sync": {
      "post": {
        "operationId": "run-sync-deepmine-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": {
          "searchTerms": {
            "title": "Advertisers or websites",
            "type": "array",
            "description": "One per line: an advertiser name (Nike, Canva), a website domain or URL (nike.com), an advertiser ID (AR14188379519798214657) or a link copied from adstransparency.google.com: an advertiser page, a website search or a single ad. A domain gets every ad that leads to that site, whoever runs it.",
            "default": [
              "nike.com",
              "Canva"
            ],
            "items": {
              "type": "string"
            }
          },
          "resultType": {
            "title": "Get",
            "enum": [
              "ads",
              "advertisers"
            ],
            "type": "string",
            "description": "Ads (default): the ads themselves. Advertisers: the advertiser accounts instead, with country, verification and how many ads each runs, in the Advertisers dataset: every advertiser Google finds for a name (e.g. all \"Canva\" accounts, or advertisers named \"dentist\"), the advertisers whose ads lead to a website, or an ID's account. Charged per advertiser (see Pricing).",
            "default": "ads"
          },
          "region": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code where the ads were shown (US, GB, DE, ...), or anywhere for every country.",
            "default": "anywhere"
          },
          "maxAdsPerSearch": {
            "title": "Max ads per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop each advertiser or website after this many ads (in Advertisers mode: this many advertisers per search). You pay per ad, so this caps the cost of each search. Ads come in Google's order, most recently shown first. About 30 seconds per 1,000 ads, or 7 minutes with ad details: above about 8,000 ads with details, raise the run timeout.",
            "default": 100
          },
          "includeAdDetails": {
            "title": "Include ad details",
            "type": "boolean",
            "description": "Read each ad's details: the headline, ad text and display URL of text ads, the image or YouTube video of display and video ads, the product of Shopping ads, and the countries where it was shown (always; the words only where Google keeps the ad as text). An ad with details costs more than a plain ad (see Pricing); without them a row has the advertiser, format, dates and a preview image. An ad whose details fail is charged as a plain ad. For ads shown in the EU/EEA, details also give impressions per country and platform, and the targeting used.",
            "default": true
          },
          "onlyNewAds": {
            "title": "Only new ads",
            "type": "boolean",
            "description": "Monitor mode: skip the ads an earlier run already delivered for the same advertiser or website and filters, so a scheduled run gives only ads that are new since the last one. Skipped ads aren't read or charged. The first run delivers everything (it's the baseline). Max ads per search still sets how far down Google's list each run looks. In Advertisers mode: only advertisers an earlier run didn't list.",
            "default": false
          },
          "format": {
            "title": "Ad format",
            "enum": [
              "all",
              "text",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Only text, image or video ads.",
            "default": "all"
          },
          "platform": {
            "title": "Google platform",
            "enum": [
              "all",
              "search",
              "youtube",
              "shopping",
              "maps",
              "play"
            ],
            "type": "string",
            "description": "Only ads shown on this Google platform. Google records platforms for ads shown since September 2023.",
            "default": "all"
          },
          "dateFrom": {
            "title": "Shown on or after",
            "type": "string",
            "description": "Only ads shown on or after this date (YYYY-MM-DD)."
          },
          "dateTo": {
            "title": "Shown on or before",
            "type": "string",
            "description": "Only ads shown on or before this date (YYYY-MM-DD)."
          },
          "advertisersPerName": {
            "title": "Advertiser accounts per name",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "An advertiser name can match several accounts (Canva US, Canva Pty Ltd, ...). Ads: get the ads of this many of them, the ones with the most ads first (default 1: the biggest account). Each account is its own search, with its own max ads. Websites and IDs aren't affected.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxies are the default. When Google refuses datacenter IP after IP, the run goes on through Apify residential proxies by itself.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}