{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Advertiser Verifier 🕵️ (real company behind the ads)",
    "description": "Who is really paying for a Google ad, and are they a real company? The Ads Transparency Center advertiser record joined to the registers of France, the UK and Germany: legal name, registration number, still trading or in liquidation, insolvency and sanctions checks, scored. No API key.",
    "version": "0.1",
    "x-build-id": "kV9yhcfUgNbMUSjxe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tagadanar~ads-advertiser-verifier/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tagadanar-ads-advertiser-verifier",
        "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/tagadanar~ads-advertiser-verifier/runs": {
      "post": {
        "operationId": "runs-sync-tagadanar-ads-advertiser-verifier",
        "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/tagadanar~ads-advertiser-verifier/run-sync": {
      "post": {
        "operationId": "run-sync-tagadanar-ads-advertiser-verifier",
        "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": {
          "advertisers": {
            "title": "Advertisers to check",
            "type": "array",
            "description": "Brand names (<code>Zalando</code>), landing domains (<code>asos.com</code>) or Ads Transparency Center advertiser IDs (<code>AR15589870916631265281</code>). Objects work too, with any of <code>advertiserId</code>, <code>advertiserName</code>, <code>domain</code>, <code>country</code>, <code>city</code>, <code>postalCode</code>, <code>registrationNumber</code>. A town or a postcode makes the register match far more reliable when several companies share a name. Rows from a <a href='https://apify.com/tagadanar/ads-transparency-scraper' target='_blank'>Google Ads Transparency Scraper</a> run can be pasted in as they are: duplicates are collapsed, so you pay once per advertiser and not once per ad."
          },
          "advertisersDatasetId": {
            "title": "…or an Apify dataset ID",
            "type": "string",
            "description": "Verify the output of another run instead of pasting it. Paste the dataset ID of a Google Ads Transparency Scraper run, or of any scraper whose rows carry an advertiser name, company name or website. One row per ad is fine: the same advertiser is only verified, and only billed, once."
          },
          "advertisersCsvUrl": {
            "title": "…or a link to a CSV file",
            "type": "string",
            "description": "A public, direct link to a CSV file. The header row names the columns; comma and semicolon files both work. Columns such as <code>advertiser</code>, <code>company</code>, <code>domain</code>, <code>country</code>, <code>city</code> are recognised automatically."
          },
          "adRegion": {
            "title": "Country whose ads to look at",
            "enum": [
              "",
              "FR",
              "GB",
              "DE",
              "US",
              "IT",
              "ES",
              "NL",
              "BE",
              "PL",
              "SE",
              "AT",
              "CH",
              "IE",
              "PT",
              "DK",
              "CA",
              "AU",
              "IN",
              "BR"
            ],
            "type": "string",
            "description": "Only count ads Google served in this country, so \"still advertising\" means still advertising in your market. Leave on Any country to date the advertiser's spend worldwide.",
            "default": ""
          },
          "defaultCountry": {
            "title": "Country to assume when nothing says",
            "enum": [
              "",
              "FR",
              "GB",
              "DE"
            ],
            "type": "string",
            "description": "Used only when Google publishes no country for the advertiser and the row does not state one either. Leave empty to report those advertisers as \"country unknown\" rather than guess a register.",
            "default": ""
          },
          "checkInsolvency": {
            "title": "Check insolvency registers",
            "type": "boolean",
            "description": "Look every matched company up in BODACC (France), The Gazette (UK) and Insolvenzbekanntmachungen (Germany), so an advertiser still buying ads while in liquidation shows up as one. Adds about a second per advertiser.",
            "default": true
          },
          "screenSanctions": {
            "title": "Screen against sanctions lists",
            "type": "boolean",
            "description": "Screen every advertiser, its verified legal name and its directors against the OFAC SDN, UN, EU, UK OFSI and US Consolidated Screening lists, downloaded fresh from the official sources on every run. Adds about fifteen seconds once per run, then nothing per advertiser.",
            "default": true
          },
          "minMatchScore": {
            "title": "Minimum name-match score to accept",
            "minimum": 70,
            "maximum": 100,
            "type": "integer",
            "description": "How close a registered legal name has to be to the advertiser name before we call it a match, from 70 (loose) to 100 (the exact legal name only). 82 keeps \"Doctolib\" matching \"DOCTOLIB SAS\" while rejecting look-alikes in another town.",
            "default": 82
          },
          "companiesHouseApiKey": {
            "title": "Your Companies House API key (optional)",
            "type": "string",
            "description": "UK advertisers work without this: we fall back to the free public company search on GOV.UK. Supplying your own key (free from <a href='https://developer.company-information.service.gov.uk/' target='_blank'>developer.company-information.service.gov.uk</a>) adds SIC codes and richer status data. The key is yours, is never stored, and we never charge you for Companies House lookups."
          },
          "maxAdvertisers": {
            "title": "Maximum advertisers to verify",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many distinct advertisers. Use it to cap what a run can cost. Duplicates are collapsed before this limit applies.",
            "default": 500
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}