{
  "service": "serply",
  "displayName": "Serply",
  "categories": [
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SERPLY_API_KEY",
      "description": "Serply API key sent in the X-Api-Key request header. View and manage it in the Serply Dashboard: https://app.serply.io."
    }
  ],
  "homepageUrl": "https://serply.io",
  "actions": [
    {
      "id": "serply.google_news_search",
      "service": "serply",
      "name": "google_news_search",
      "description": "Search Google News through Serply and return feed-style article results.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "A URL-encoded query string such as q=openai or q=stock+market&num=10.",
            "pattern": "^q=[^?#]+$"
          },
          "proxyLocation": {
            "type": "string",
            "enum": [
              "EU",
              "CA",
              "US",
              "IE",
              "GB",
              "FR",
              "DE",
              "SE",
              "IN",
              "JP",
              "KR",
              "SG",
              "AU",
              "BR"
            ],
            "description": "The Serply proxy location used for the request."
          },
          "userAgent": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "The Serply X-User-Agent device mode used for the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input parameters for one Serply search-style request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "feed": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "The feed title returned by Serply."
              },
              "generator": {
                "type": "string",
                "description": "The feed generator returned by Serply."
              },
              "link": {
                "type": "string",
                "description": "The feed URL returned by Serply."
              },
              "language": {
                "type": "string",
                "description": "The feed language returned by Serply."
              },
              "publisher": {
                "type": "string",
                "description": "The feed publisher returned by Serply."
              },
              "updated": {
                "type": "string",
                "description": "The feed updated timestamp returned by Serply."
              },
              "entries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "The article title returned by Serply."
                    },
                    "link": {
                      "type": "string",
                      "description": "The article URL returned by Serply."
                    },
                    "summary": {
                      "type": "string",
                      "description": "The article summary returned by Serply."
                    },
                    "published": {
                      "type": "string",
                      "description": "The article published timestamp returned by Serply."
                    },
                    "source": {
                      "type": "string",
                      "description": "The article source returned by Serply."
                    }
                  },
                  "additionalProperties": true,
                  "description": "One news entry returned by Serply."
                },
                "description": "The news entries returned by Serply."
              }
            },
            "additionalProperties": true,
            "description": "The Google News feed object returned by Serply."
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One entity object returned by Serply for the news query."
            },
            "description": "The entity objects returned by Serply."
          }
        },
        "additionalProperties": false,
        "required": [
          "feed"
        ],
        "description": "Normalized output for a Serply Google News response."
      }
    },
    {
      "id": "serply.google_scholar_search",
      "service": "serply",
      "name": "google_scholar_search",
      "description": "Search Google Scholar through Serply and return academic result entries.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "A URL-encoded query string such as q=openai or q=stock+market&num=10.",
            "pattern": "^q=[^?#]+$"
          },
          "proxyLocation": {
            "type": "string",
            "enum": [
              "EU",
              "CA",
              "US",
              "IE",
              "GB",
              "FR",
              "DE",
              "SE",
              "IN",
              "JP",
              "KR",
              "SG",
              "AU",
              "BR"
            ],
            "description": "The Serply proxy location used for the request."
          },
          "userAgent": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "The Serply X-User-Agent device mode used for the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input parameters for one Serply search-style request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Serply search result item."
            },
            "description": "The search results returned by Serply."
          },
          "total": {
            "type": "number",
            "description": "The total number of results returned by Serply."
          },
          "answer": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One answer string returned by Serply."
                },
                "description": "The answer box strings returned by Serply."
              },
              {
                "type": "null"
              }
            ]
          },
          "ts": {
            "type": "number",
            "description": "The request timestamp returned by Serply."
          },
          "device_region": {
            "type": "string",
            "description": "The device region returned by Serply."
          },
          "device_type": {
            "type": "string",
            "description": "The device type returned by Serply."
          }
        },
        "additionalProperties": false,
        "required": [
          "results",
          "total"
        ],
        "description": "Normalized output for a Serply search-style response."
      }
    },
    {
      "id": "serply.google_search",
      "service": "serply",
      "name": "google_search",
      "description": "Search Google through Serply and return web search results in JSON format.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "A URL-encoded query string such as q=openai or q=stock+market&num=10.",
            "pattern": "^q=[^?#]+$"
          },
          "proxyLocation": {
            "type": "string",
            "enum": [
              "EU",
              "CA",
              "US",
              "IE",
              "GB",
              "FR",
              "DE",
              "SE",
              "IN",
              "JP",
              "KR",
              "SG",
              "AU",
              "BR"
            ],
            "description": "The Serply proxy location used for the request."
          },
          "userAgent": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "The Serply X-User-Agent device mode used for the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input parameters for one Serply search-style request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Serply search result item."
            },
            "description": "The search results returned by Serply."
          },
          "total": {
            "type": "number",
            "description": "The total number of results returned by Serply."
          },
          "answer": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One answer string returned by Serply."
                },
                "description": "The answer box strings returned by Serply."
              },
              {
                "type": "null"
              }
            ]
          },
          "ts": {
            "type": "number",
            "description": "The request timestamp returned by Serply."
          },
          "device_region": {
            "type": "string",
            "description": "The device region returned by Serply."
          },
          "device_type": {
            "type": "string",
            "description": "The device type returned by Serply."
          }
        },
        "additionalProperties": false,
        "required": [
          "results",
          "total"
        ],
        "description": "Normalized output for a Serply search-style response."
      }
    },
    {
      "id": "serply.google_video_search",
      "service": "serply",
      "name": "google_video_search",
      "description": "Search Google Video through Serply and return video search results.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "A URL-encoded query string such as q=openai or q=stock+market&num=10.",
            "pattern": "^q=[^?#]+$"
          },
          "proxyLocation": {
            "type": "string",
            "enum": [
              "EU",
              "CA",
              "US",
              "IE",
              "GB",
              "FR",
              "DE",
              "SE",
              "IN",
              "JP",
              "KR",
              "SG",
              "AU",
              "BR"
            ],
            "description": "The Serply proxy location used for the request."
          },
          "userAgent": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "description": "The Serply X-User-Agent device mode used for the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input parameters for one Serply search-style request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Serply search result item."
            },
            "description": "The search results returned by Serply."
          },
          "total": {
            "type": "number",
            "description": "The total number of results returned by Serply."
          },
          "answer": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One answer string returned by Serply."
                },
                "description": "The answer box strings returned by Serply."
              },
              {
                "type": "null"
              }
            ]
          },
          "ts": {
            "type": "number",
            "description": "The request timestamp returned by Serply."
          },
          "device_region": {
            "type": "string",
            "description": "The device region returned by Serply."
          },
          "device_type": {
            "type": "string",
            "description": "The device type returned by Serply."
          }
        },
        "additionalProperties": false,
        "required": [
          "results",
          "total"
        ],
        "description": "Normalized output for a Serply search-style response."
      }
    }
  ]
}
