{
  "service": "zyte_api",
  "displayName": "Zyte API",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "YOUR_ZYTE_API_KEY",
      "description": "Zyte API key used as the Basic Auth username for the Zyte Extraction API. Create or copy it from the Zyte API access page: https://app.zyte.com/o/zyte-api/api-access"
    }
  ],
  "homepageUrl": "https://www.zyte.com/zyte-api/",
  "actions": [
    {
      "id": "zyte_api.extract_article",
      "service": "zyte_api",
      "name": "extract_article",
      "description": "Extract article data from one public URL with Zyte API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 8192,
            "description": "The absolute public HTTP or HTTPS URL to extract data from with Zyte API.",
            "format": "uri"
          },
          "ipType": {
            "type": "string",
            "enum": [
              "datacenter",
              "residential"
            ],
            "description": "The IP type Zyte API should use for the request."
          },
          "extractFrom": {
            "type": "string",
            "enum": [
              "browserHtml",
              "browserHtmlOnly",
              "httpResponseBody"
            ],
            "description": "The source Zyte API should use for automatic extraction."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "The input payload for extracting article data with Zyte API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL Zyte API extracted data from. It may differ from the input URL."
          },
          "statusCode": {
            "type": "integer",
            "description": "The HTTP status code retrieved from the target page."
          },
          "article": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The article data returned by Zyte API."
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "article"
        ],
        "description": "The output payload for extracting article data with Zyte API."
      }
    },
    {
      "id": "zyte_api.extract_page_content",
      "service": "zyte_api",
      "name": "extract_page_content",
      "description": "Extract generic page content data from one public URL with Zyte API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 8192,
            "description": "The absolute public HTTP or HTTPS URL to extract data from with Zyte API.",
            "format": "uri"
          },
          "ipType": {
            "type": "string",
            "enum": [
              "datacenter",
              "residential"
            ],
            "description": "The IP type Zyte API should use for the request."
          },
          "extractFrom": {
            "type": "string",
            "enum": [
              "browserHtml",
              "browserHtmlOnly",
              "httpResponseBody"
            ],
            "description": "The source Zyte API should use for automatic extraction."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "The input payload for extracting page content data with Zyte API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL Zyte API extracted data from. It may differ from the input URL."
          },
          "statusCode": {
            "type": "integer",
            "description": "The HTTP status code retrieved from the target page."
          },
          "pageContent": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The page content data returned by Zyte API."
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "pageContent"
        ],
        "description": "The output payload for extracting page content data with Zyte API."
      }
    },
    {
      "id": "zyte_api.extract_product",
      "service": "zyte_api",
      "name": "extract_product",
      "description": "Extract product data from one public URL with Zyte API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 8192,
            "description": "The absolute public HTTP or HTTPS URL to extract data from with Zyte API.",
            "format": "uri"
          },
          "ipType": {
            "type": "string",
            "enum": [
              "datacenter",
              "residential"
            ],
            "description": "The IP type Zyte API should use for the request."
          },
          "extractFrom": {
            "type": "string",
            "enum": [
              "browserHtml",
              "browserHtmlOnly",
              "httpResponseBody"
            ],
            "description": "The source Zyte API should use for automatic extraction."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "The input payload for extracting product data with Zyte API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL Zyte API extracted data from. It may differ from the input URL."
          },
          "statusCode": {
            "type": "integer",
            "description": "The HTTP status code retrieved from the target page."
          },
          "product": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The product data returned by Zyte API."
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "product"
        ],
        "description": "The output payload for extracting product data with Zyte API."
      }
    },
    {
      "id": "zyte_api.fetch_browser_html",
      "service": "zyte_api",
      "name": "fetch_browser_html",
      "description": "Fetch browser-rendered HTML for one public URL with Zyte API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 8192,
            "description": "The absolute public HTTP or HTTPS URL to extract data from with Zyte API.",
            "format": "uri"
          },
          "ipType": {
            "type": "string",
            "enum": [
              "datacenter",
              "residential"
            ],
            "description": "The IP type Zyte API should use for the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "The input payload for fetching browser-rendered HTML with Zyte API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL Zyte API extracted data from. It may differ from the input URL."
          },
          "statusCode": {
            "type": "integer",
            "description": "The HTTP status code retrieved from the target page."
          },
          "browserHtml": {
            "type": "string",
            "description": "The browser-rendered HTML returned by Zyte API."
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "browserHtml"
        ],
        "description": "The output payload for fetching browser-rendered HTML with Zyte API."
      }
    }
  ]
}
