{
  "service": "serpapi",
  "displayName": "SerpApi",
  "categories": [
    "Data",
    "Location"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SERPAPI_API_KEY",
      "description": "SerpApi API key passed as the api_key query parameter. Find or manage it at https://serpapi.com/manage-api-key."
    }
  ],
  "homepageUrl": "https://serpapi.com",
  "actions": [
    {
      "id": "serpapi.google_maps_search",
      "service": "serpapi",
      "name": "google_maps_search",
      "description": "Run a Google Maps search through SerpApi.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "Search query for Google Maps search."
          },
          "ll": {
            "type": "string",
            "minLength": 1,
            "description": "Latitude and longitude search context formatted for SerpApi."
          },
          "hl": {
            "type": "string",
            "minLength": 1,
            "description": "Language code for localized maps results."
          },
          "gl": {
            "type": "string",
            "minLength": 1,
            "description": "Country code for localized maps results."
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based result offset for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "q"
        ],
        "description": "Input parameters for running a Google Maps search through SerpApi."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "search_metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search metadata returned by SerpApi."
          },
          "search_parameters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search parameters returned by SerpApi."
          },
          "search_information": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search information returned by SerpApi."
          },
          "local_results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Google Maps local result item."
            },
            "description": "Local search results returned by SerpApi."
          },
          "place_results": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Place details returned by SerpApi when available."
          },
          "pagination": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by SerpApi when available."
          }
        },
        "additionalProperties": false,
        "required": [
          "search_metadata",
          "search_parameters",
          "search_information",
          "local_results"
        ],
        "description": "Normalized output payload for google_maps_search."
      }
    },
    {
      "id": "serpapi.google_news_search",
      "service": "serpapi",
      "name": "google_news_search",
      "description": "Run a Google News search through SerpApi.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "Search query for Google News search."
          },
          "hl": {
            "type": "string",
            "minLength": 1,
            "description": "Language code for localized news results."
          },
          "gl": {
            "type": "string",
            "minLength": 1,
            "description": "Country code for localized news results."
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based result offset for pagination."
          },
          "so": {
            "type": "string",
            "minLength": 1,
            "description": "Sorting option passed to Google News through SerpApi."
          }
        },
        "additionalProperties": false,
        "required": [
          "q"
        ],
        "description": "Input parameters for running a Google News search through SerpApi."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "search_metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search metadata returned by SerpApi."
          },
          "search_parameters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search parameters returned by SerpApi."
          },
          "search_information": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search information returned by SerpApi."
          },
          "news_results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Google News result item."
            },
            "description": "News search results returned by SerpApi."
          },
          "stories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Google News story cluster item."
            },
            "description": "Story clusters returned by SerpApi when available."
          },
          "pagination": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by SerpApi when available."
          }
        },
        "additionalProperties": false,
        "required": [
          "search_metadata",
          "search_parameters",
          "search_information",
          "news_results"
        ],
        "description": "Normalized output payload for google_news_search."
      }
    },
    {
      "id": "serpapi.google_search",
      "service": "serpapi",
      "name": "google_search",
      "description": "Run a Google web search through SerpApi.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "Search query for Google web search."
          },
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "Location used by SerpApi to localize results."
          },
          "hl": {
            "type": "string",
            "minLength": 1,
            "description": "Language code for localized results."
          },
          "gl": {
            "type": "string",
            "minLength": 1,
            "description": "Country code for localized results."
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based result offset for pagination."
          },
          "num": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of results to return."
          },
          "safe": {
            "type": "string",
            "minLength": 1,
            "description": "Safe search setting passed to SerpApi."
          }
        },
        "additionalProperties": false,
        "required": [
          "q"
        ],
        "description": "Input parameters for running a Google web search through SerpApi."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "search_metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search metadata returned by SerpApi."
          },
          "search_parameters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search parameters returned by SerpApi."
          },
          "search_information": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Search information returned by SerpApi."
          },
          "organic_results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One organic Google search result."
            },
            "description": "Organic search results returned by SerpApi."
          },
          "knowledge_graph": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Knowledge graph returned by SerpApi when available."
          },
          "related_questions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One related question item."
            },
            "description": "Related questions returned by SerpApi when available."
          },
          "related_searches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One related search item."
            },
            "description": "Related searches returned by SerpApi when available."
          },
          "top_stories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One top story item."
            },
            "description": "Top stories returned by SerpApi when available."
          }
        },
        "additionalProperties": false,
        "required": [
          "search_metadata",
          "search_parameters",
          "search_information",
          "organic_results"
        ],
        "description": "Normalized output payload for google_search."
      }
    }
  ]
}
