{
  "service": "podscribe",
  "displayName": "Podscribe",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "PODSCRIBE_API_KEY",
      "description": "Podscribe API key sent as a Bearer token. Podscribe provides keys for public API access."
    }
  ],
  "homepageUrl": "https://podscribe.com",
  "actions": [
    {
      "id": "podscribe.get_integration_health",
      "service": "podscribe",
      "name": "get_integration_health",
      "description": "Retrieve Podscribe integration health, optionally filtered by advertiser and including pixel data.",
      "requiredScopes": [
        "integration_health:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "advertiserName": {
            "type": "string",
            "minLength": 1,
            "description": "Advertiser name used to filter integration health."
          },
          "withPixels": {
            "type": "boolean",
            "description": "Whether to include pixel data for the advertiser."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving Podscribe integration health. advertiserName is required when withPixels is true."
      },
      "outputSchema": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The integration name."
            },
            "lookupName": {
              "type": "string",
              "description": "The integration lookup name."
            },
            "issues": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The integration issue type."
                  },
                  "reported_at": {
                    "type": "string",
                    "description": "The timestamp when Podscribe last reported the issue.",
                    "format": "date-time"
                  },
                  "actions": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "description": "A pixel action associated with the issue."
                    },
                    "description": "Pixel actions associated with the issue when Podscribe includes action details."
                  }
                },
                "additionalProperties": true,
                "description": "An integration issue returned by Podscribe."
              },
              "description": "Issues related to this integration."
            },
            "pixels": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The pixel action type."
                  },
                  "last_url": {
                    "type": "string",
                    "description": "The last URL that triggered the pixel."
                  },
                  "last_seen": {
                    "type": "string",
                    "description": "The timestamp when Podscribe last saw the pixel.",
                    "format": "date-time"
                  }
                },
                "additionalProperties": true,
                "description": "Pixel data returned with integration health."
              },
              "description": "Pixel data returned for this integration."
            }
          },
          "additionalProperties": true,
          "description": "An integration health item returned by Podscribe."
        },
        "description": "Integration health items returned by Podscribe."
      }
    },
    {
      "id": "podscribe.get_show_info",
      "service": "podscribe",
      "name": "get_show_info",
      "description": "Retrieve Podscribe show information by iTunes or YouTube identifier.",
      "requiredScopes": [
        "shows:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "iTunes ID, YouTube channel ID, or YouTube playlist ID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving Podscribe show info."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "podscribeSeriesId": {
            "type": "number",
            "description": "The unique show identifier in Podscribe."
          },
          "title": {
            "type": "string",
            "description": "The podcast or video series title."
          },
          "platform": {
            "type": "string",
            "description": "The platform associated with the show."
          },
          "monthlyListeners": {
            "type": "number",
            "description": "Estimated monthly listeners for the show."
          },
          "monthlyDownloads": {
            "type": "number",
            "description": "Estimated monthly downloads for the show."
          },
          "avgDownloadsPerEpisode": {
            "type": "number",
            "description": "Estimated average downloads per episode."
          },
          "ytAvgDownloadsPerEpisode": {
            "type": "number",
            "description": "Estimated average YouTube views per episode."
          },
          "ytMonthlyDownloads": {
            "type": "number",
            "description": "Estimated monthly YouTube views for the show."
          },
          "spotifyAvgDownloadsPerEpisode": {
            "type": "number",
            "description": "Estimated average Spotify downloads per episode."
          },
          "spotifyMonthlyDownloads": {
            "type": "number",
            "description": "Estimated monthly Spotify downloads for the show."
          },
          "rumbleAvgDownloadsPerEpisode": {
            "type": "number",
            "description": "Estimated average Rumble downloads per episode."
          },
          "rumbleMonthlyDownloads": {
            "type": "number",
            "description": "Estimated monthly Rumble downloads for the show."
          },
          "podcastDownloads": {
            "type": "number",
            "description": "Estimated monthly podcast downloads for the show."
          },
          "podcastAvgDownloadsPerEpisode": {
            "type": "number",
            "description": "Estimated average podcast downloads per episode."
          },
          "directRes": {
            "type": "number",
            "description": "The percentage of ads classified as direct response."
          },
          "hostRead": {
            "type": "number",
            "description": "The percentage of ads read by the host."
          },
          "countAds": {
            "type": "number",
            "description": "The total number of ads Podscribe has found for the show."
          },
          "topAdvertisers": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An advertiser name."
            },
            "description": "Top advertisers returned for the show."
          },
          "renewalRate": {
            "type": "number",
            "description": "The advertiser renewal-rate proxy returned by Podscribe."
          },
          "adLoad": {
            "type": "number",
            "description": "The podcast ad load returned by Podscribe."
          },
          "adLoadYT": {
            "type": "number",
            "description": "The YouTube ad load returned by Podscribe."
          },
          "isPodscribePrefixPlaced": {
            "type": "boolean",
            "description": "Whether the Podscribe prefix is placed on the show."
          },
          "optedIntoSpotifyVideo": {
            "type": "boolean",
            "description": "Whether the show opted into Spotify video."
          }
        },
        "additionalProperties": true,
        "description": "Show information returned by Podscribe."
      }
    },
    {
      "id": "podscribe.search_episodes",
      "service": "podscribe",
      "name": "search_episodes",
      "description": "Search Podscribe episodes by query string with optional time frame, media type, and show filters.",
      "requiredScopes": [
        "episodes:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search query string."
          },
          "timeFrame": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of days to look back."
          },
          "exact": {
            "type": "boolean",
            "description": "Whether to enable exact-match search."
          },
          "transcriptOnly": {
            "type": "boolean",
            "description": "Whether to search only in transcripts."
          },
          "excludeAds": {
            "type": "boolean",
            "description": "Whether to exclude ads from search results."
          },
          "showFilterIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "A Podscribe show ID."
            },
            "description": "Show IDs used to filter episode search results.",
            "minItems": 1
          },
          "mediaType": {
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "all",
                  "podcast",
                  "youtube",
                  "radio",
                  "rumble"
                ],
                "description": "The media type used to filter episode search results."
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "all",
                    "podcast",
                    "youtube",
                    "radio",
                    "rumble"
                  ],
                  "description": "The media type used to filter episode search results."
                },
                "description": "Media type values used to filter episode search results.",
                "minItems": 1
              }
            ],
            "description": "The media type values used to filter episode search results."
          }
        },
        "additionalProperties": false,
        "required": [
          "search"
        ],
        "description": "Input parameters for searching Podscribe episodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "An episode returned by Podscribe episode search."
            },
            "description": "Episodes returned by Podscribe."
          }
        },
        "additionalProperties": false,
        "description": "Podscribe episode search results."
      }
    }
  ]
}
