{
  "service": "adyntel",
  "displayName": "Adyntel",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "adyntel_api_key",
      "description": "Adyntel API key sent as the api_key field in JSON API requests. Find it in your Adyntel profile under Integrations: https://docs.adyntel.com/authorization.",
      "extraFields": [
        {
          "key": "email",
          "label": "Account Email",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "user@example.com",
          "description": "The Adyntel profile email sent with api_key on every API request. Use the email for the Adyntel profile that owns the key: https://docs.adyntel.com/authorization."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.adyntel.com",
  "actions": [
    {
      "id": "adyntel.get_domain_keywords",
      "service": "adyntel",
      "name": "get_domain_keywords",
      "description": "Get Adyntel paid and organic keyword metrics for a company domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "company_domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain without protocol or www prefix, for example clay.com."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The language for keyword results."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of keyword results to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "company_domain"
        ],
        "description": "Input for fetching paid and organic keyword metrics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "organic": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          },
          "organic_percentages": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          },
          "paid": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          },
          "paid_percentages": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized paid and organic keyword metrics."
      }
    },
    {
      "id": "adyntel.get_tiktok_ad_details",
      "service": "adyntel",
      "name": "get_tiktok_ad_details",
      "description": "Get details for one TikTok ad by ID using Adyntel.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The TikTok ad ID to fetch."
          }
        },
        "additionalProperties": false,
        "description": "Input for fetching TikTok ad details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The raw Adyntel response."
      }
    },
    {
      "id": "adyntel.search_google_ads",
      "service": "adyntel",
      "name": "search_google_ads",
      "description": "Search Google ads for a company domain using Adyntel's Google ad library endpoint.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "company_domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain without protocol or www prefix, for example clay.com."
          },
          "media_type": {
            "type": "string",
            "enum": [
              "text",
              "image",
              "video"
            ],
            "description": "Filter Google ads by media type."
          },
          "continuation_token": {
            "type": "string",
            "minLength": 1,
            "description": "The continuation token returned by a previous Adyntel response."
          },
          "extract_text": {
            "type": "boolean",
            "description": "Whether Adyntel should extract text from ad creatives."
          },
          "data_provider": {
            "type": "string",
            "enum": [
              "rapidapi",
              "apify"
            ],
            "description": "The Adyntel data provider to use for this request."
          }
        },
        "additionalProperties": false,
        "required": [
          "company_domain"
        ],
        "description": "Input for searching Google ads by company domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "ads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Adyntel."
            },
            "description": "The ads extracted from the Adyntel response when available."
          },
          "continuation_token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token for the next Adyntel page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The upstream page identifier when Adyntel returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "is_last_page": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the current page is the last page when Adyntel returns this flag."
              },
              {
                "type": "null"
              }
            ]
          },
          "number_of_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ad_count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total ad count reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized ad search response returned by Adyntel."
      }
    },
    {
      "id": "adyntel.search_linkedin_ads",
      "service": "adyntel",
      "name": "search_linkedin_ads",
      "description": "Search LinkedIn ads for a company domain or LinkedIn page ID using Adyntel.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "company_domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain without protocol or www prefix, for example clay.com."
          },
          "linkedin_page_id": {
            "type": "string",
            "minLength": 1,
            "description": "The LinkedIn Page ID to search for."
          },
          "continuation_token": {
            "type": "string",
            "minLength": 1,
            "description": "The continuation token returned by a previous Adyntel response."
          },
          "extract": {
            "type": "string",
            "enum": [
              "number_of_ads"
            ],
            "description": "Return a derived LinkedIn value instead of full ads."
          },
          "live_ads": {
            "type": "boolean",
            "description": "Whether to return only currently active LinkedIn ads."
          },
          "data_provider": {
            "type": "string",
            "enum": [
              "rapidapi",
              "apify"
            ],
            "description": "The Adyntel data provider to use for this request."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching LinkedIn ads by company domain or LinkedIn page ID.",
        "anyOf": [
          {
            "required": [
              "company_domain"
            ]
          },
          {
            "required": [
              "linkedin_page_id"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "ads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Adyntel."
            },
            "description": "The ads extracted from the Adyntel response when available."
          },
          "continuation_token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token for the next Adyntel page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The upstream page identifier when Adyntel returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "is_last_page": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the current page is the last page when Adyntel returns this flag."
              },
              {
                "type": "null"
              }
            ]
          },
          "number_of_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ad_count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total ad count reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized ad search response returned by Adyntel."
      }
    },
    {
      "id": "adyntel.search_meta_ads",
      "service": "adyntel",
      "name": "search_meta_ads",
      "description": "Search Facebook and Instagram ads for a company using Adyntel's Meta ad library endpoint.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "company_domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain without protocol or www prefix, for example clay.com."
          },
          "facebook_url": {
            "type": "string",
            "minLength": 1,
            "description": "The Facebook page URL starting with https://, used instead of company_domain."
          },
          "country_code": {
            "type": "string",
            "minLength": 1,
            "description": "The country code filter supported by Adyntel."
          },
          "continuation_token": {
            "type": "string",
            "minLength": 1,
            "description": "The continuation token returned by a previous Adyntel response."
          },
          "media_type": {
            "type": "string",
            "enum": [
              "image",
              "meme",
              "image_and_meme",
              "video"
            ],
            "description": "Filter Meta ads by creative media type."
          },
          "active_status": {
            "type": "string",
            "enum": [
              "inactive",
              "all"
            ],
            "description": "Filter Meta ads by active status."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching Meta ads by company domain or Facebook page URL.",
        "anyOf": [
          {
            "required": [
              "company_domain"
            ]
          },
          {
            "required": [
              "facebook_url"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "ads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Adyntel."
            },
            "description": "The ads extracted from the Adyntel response when available."
          },
          "continuation_token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token for the next Adyntel page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The upstream page identifier when Adyntel returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "is_last_page": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the current page is the last page when Adyntel returns this flag."
              },
              {
                "type": "null"
              }
            ]
          },
          "number_of_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ad_count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total ad count reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized ad search response returned by Adyntel."
      }
    },
    {
      "id": "adyntel.search_tiktok_ads",
      "service": "adyntel",
      "name": "search_tiktok_ads",
      "description": "Search TikTok ads by keyword using Adyntel's TikTok ad library endpoint.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "description": "The keyword to search for in the ad library."
          },
          "country_code": {
            "type": "string",
            "minLength": 1,
            "description": "The country code filter supported by Adyntel."
          }
        },
        "additionalProperties": false,
        "required": [
          "keyword"
        ],
        "description": "Input for searching TikTok ads by keyword."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "no_results": {
            "type": "boolean",
            "description": "Whether Adyntel returned HTTP 204 with no result payload."
          },
          "ads": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Adyntel."
            },
            "description": "The ads extracted from the Adyntel response when available."
          },
          "continuation_token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token for the next Adyntel page when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string",
                "description": "The upstream page identifier when Adyntel returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "is_last_page": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the current page is the last page when Adyntel returns this flag."
              },
              {
                "type": "null"
              }
            ]
          },
          "number_of_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ads": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of ads reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ad_count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total ad count reported by Adyntel when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Adyntel."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized ad search response returned by Adyntel."
      }
    }
  ]
}
