Skill: blueworldmarketing/justserpapi-bwm (version 1.0.0)

--- name: Google Search API description: Search Google web, news, maps, trends, shopping, scholar, finance, hotel, and media surfaces through Just Serp API. author: Just Serp API homepage: https://justserpapi.com/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justserpapi_google&utm_content=project_link metadata: {"openclaw":{"homepage":"https://justserpapi.com/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justserpapi_google&utm_content=project_link","primaryEnv":"JUST_SERP_API_KEY","requires":{"bins":["node"],"env":["JUST_SERP_API_KEY"]},"skillKey":"justserpapi_google"}} --- # Google SERP Use this skill for Google SERP research, search result collection, competitive intelligence, trend monitoring, local business lookups, and shopping or scholar analysis. It is the broad Google-facing skill for tasks that start from a keyword, a place, a domain, or a topic and need structured Google result data. ## When To Use It - The user wants Google web search, news search, image search, video search, or mobile SERP output for a keyword. - The task is about Google Maps, Local, Shopping, Trends, Scholar, Finance, Hotels, Lens, Jobs, or AI result surfaces. - The user can provide filters such as `query`, `country`, `language`, `domain`, `page`, `geo`, or a Google Maps place identifier. - The user needs API-backed Google result data for research, monitoring, ranking checks, or reporting instead of a freeform answer. ## Representative Operations - `search`: Search SERP — Pull standard Google web results for keyword research and ranking checks. - `mapsSearch`: Maps Search — Find Google Maps business results and local pack data for a query and location. - `TrendsSearch`: Trends Search — Inspect time-series search interest and related trend signals. - `ScholarSearch`: Scholar Search — Query academic search results and citation-oriented records. - `shoppingSearch`: Shopping Search — Collect product listings, merchants, and pricing signals from Google Shopping. ## Request Pattern - 31 read-only `GET` operations are available in this skill. - Common inputs are `query`, `country`, `domain`, `language`, `geo`, `page`, `html`, and feature-specific identifiers. - Most operations are query-only; none require a request body. - Prefer the narrowest Google vertical that matches the task instead of using generic search for everything. ## How To Work 1. Read `generated/operations.md` before choosing an endpoint. 2. Start with one of these operations when it matches the user's request: `search`, `mapsSearch`, `TrendsSearch`, `ScholarSearch`, `shoppingSearch`. 3. Pick the smallest matching operation instead of guessing. 4. Ask the user for any missing required parameter. Do not invent values. 5. Call the helper with: ```bash node {baseDir}/bin/run.mjs --operation "<operation-id>" --api-key "$JUST_SERP_API_KEY" --params-json '{"key":"value"}' ``` ## Environment - Required: `JUST_SERP_API_KEY` - This skill uses `JUST_SERP_API_KEY` only for authenticated Just Serp API requests. - Keep `JUST_SERP_API_KEY` private. Do not paste it into chat messages, screenshots, or logs. - Project site: [Just Serp API](https://justserpapi.com/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justserpapi_google&utm_content=project_link). - Authentication details: [Just Serp API Docs](https://docs.justserpapi.com/?utm_source=clawhub.ai&utm_medium=referral&utm_campaign=justserpapi_google&utm_content=project_link). ## Output Rules - Lead with the Google surface you used and the exact query or filters applied. - For SERP-style responses, summarize the top result patterns before raw JSON. - For Maps, Shopping, Scholar, or Trends requests, highlight the entity, metric, or ranking signals most relevant to the user's decision. - If multiple Google verticals could answer the task, explain why the chosen endpoint was the best fit. - If the backend errors, include the backend payload and the exact operation ID.

path: _meta.json
content: ownerId: kn77hac1mjtyj4eq3bsjy6zj158497cp
slug: justserpapi-bwm
version: 1.0.2
publishedAt: 1775817800208

path: bin/run.mjs
content: #!/usr/bin/env node
const manifest = {
  "baseUrl": "https://api.justserpapi.com",
  "description": "Search Google web, news, maps, trends, shopping, scholar, finance, hotel, and media surfaces through Just Serp API.",
  "displayName": "Google SERP",
  "openapi": "3.1.0",
  "platformKey": "google",
  "primaryTag": "Google SERP",
  "skillName": "justserpapi_google",
  "slug": "justserpapi-google",
  "sourceTitle": "API Shop Documentation",
  "operations": [
    {
      "description": "Get Google aI Mode data, including generated answers, follow-up prompts, and cited links, for AI search experience monitoring.",
      "method": "GET",
      "operationId": "aiMode",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The textual location name (e.g., 'New York, NY') to localize the search results.",
          "enumValues": [],
          "location": "query",
          "name": "location",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/ai-mode",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "AI Mode",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google aI Overview data, including generated summaries and cited sources, for generative search visibility tracking.",
      "method": "GET",
      "operationId": "aiOverview",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique URL generated by Google to access the AI Overview. This URL is typically extracted from the 'ai_overview_url' field in a <a href=\"/reference/google/search\">Google Search API</a> response. Note: This URL is transient and usually expires within 2 minutes.",
          "enumValues": [],
          "location": "query",
          "name": "url",
          "required": true,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/ai-overview",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "AI Overview",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google autocomplete Suggestions data, including real-time suggestion data, country and language targeting, and structured suggestion lists, for keyword expansion and search intent research.",
      "method": "GET",
      "operationId": "autocomplete",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query to get autocomplete suggestions for. As you type, Google provides real-time predictions based on popular searches.",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/autocomplete",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Autocomplete Suggestions",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google finance Search data, including market summaries, company details, and related finance results, for finance monitoring and market research.",
      "method": "GET",
      "operationId": "financeSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The stock symbol, company name, or index you want to search for on Google Finance (e.g., 'AAPL', 'Tesla', 'S&P 500').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/finance/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Finance Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google hotels Search data, including prices, ratings, and availability details, for travel comparison and hospitality market analysis.",
      "method": "GET",
      "operationId": "hotelsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The destination or specific hotel name you are searching for (e.g., 'Paris', 'Hilton New York').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The hotel check-in date in 'YYYY-MM-DD' format (e.g., '2026-05-20').",
          "enumValues": [],
          "location": "query",
          "name": "check_in_date",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The hotel check-out date in 'YYYY-MM-DD' format (e.g., '2026-05-25').",
          "enumValues": [],
          "location": "query",
          "name": "check_out_date",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The token used to retrieve the next page of hotel results. This token is found in the 'next_page_token' field of a previous response.",
          "enumValues": [],
          "location": "query",
          "name": "next_page_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The number of adults staying in the room.",
          "enumValues": [],
          "location": "query",
          "name": "adults",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The number of children staying in the room.",
          "enumValues": [],
          "location": "query",
          "name": "children",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The ages of the children, separated by commas (e.g., '5,10'). The number of ages must match the 'children' parameter.",
          "enumValues": [],
          "location": "query",
          "name": "children_ages",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The three-letter ISO currency code for displaying prices (e.g., 'USD', 'EUR'). See <a href=\"/reference/hotels/google-hotels-currency\">Google Hotels Currency</a>.",
          "enumValues": [],
          "location": "query",
          "name": "currency",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The criteria to sort hotel results. Supported values: '3' (Lowest price), '8' (Highest rating), '13' (Most reviews).",
          "enumValues": [],
          "location": "query",
          "name": "sort_by",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Minimum price filter for the hotel stay.",
          "enumValues": [],
          "location": "query",
          "name": "min_price",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Maximum price filter for the hotel stay.",
          "enumValues": [],
          "location": "query",
          "name": "max_price",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by hotel property types. See the <a href=\"/reference/hotels/google-hotels-property-types\">Google Property Types</a> for the full list of supported hotel property types. For vacation rentals, refer to the <a href=\"/reference/hotels/google-hotels-vacation-rentals-property-types\">Google Hotels Vacation Rentals Property Types</a>.",
          "enumValues": [],
          "location": "query",
          "name": "property_types",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by specific amenities (e.g., '35' for free Wi-Fi). <a href=\"/reference/hotels/google-hotels-amenities\">Google Hotels Amenities</a> (hotel amenities). <a href=\"/reference/hotels/google-hotels-vacation-rentals-amenities\">Google Hotels Vacation Rentals Amenities</a> (vacation rental amenities)",
          "enumValues": [],
          "location": "query",
          "name": "amenities",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by minimum guest rating. Supported values: '7' (3.5+), '8' (4.0+), '9' (4.5+).",
          "enumValues": [],
          "location": "query",
          "name": "rating",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by specific hotel brand IDs. IDs can be comma-separated.",
          "enumValues": [],
          "location": "query",
          "name": "brands",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by hotel star ratings. Supported values: '2', '3', '4', '5'. Can be comma-separated.",
          "enumValues": [],
          "location": "query",
          "name": "hotel_class",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter for hotels that offer free cancellation. Set to '1' or 'true' to enable.",
          "enumValues": [],
          "location": "query",
          "name": "free_cancellation",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter for hotels currently offering special deals or discounts. Set to '1' or 'true' to enable.",
          "enumValues": [],
          "location": "query",
          "name": "special_offers",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter for hotels that are eco-certified. Set to '1' or 'true' to enable.",
          "enumValues": [],
          "location": "query",
          "name": "eco_certified",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to search for vacation rentals instead of standard hotels.",
          "enumValues": [],
          "location": "query",
          "name": "vacation_rentals",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Minimum number of bedrooms required (applies to vacation rentals).",
          "enumValues": [],
          "location": "query",
          "name": "bedrooms",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Minimum number of bathrooms required (applies to vacation rentals).",
          "enumValues": [],
          "location": "query",
          "name": "bathrooms",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique token for a specific hotel property to fetch detailed information.",
          "enumValues": [],
          "location": "query",
          "name": "property_token",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/hotels/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Hotels Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google images Search data, including image URLs and metadata, for filtered image discovery for research and monitoring workflows.",
      "method": "GET",
      "operationId": "imagesSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for images (e.g., 'mountain landscape', 'luxury cars').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Limits results to search results from specific countries. Format: 'countryXX'. See <a href=\"/reference/google-cr-countries\">Google CR Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "cr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Time unit for 'recent' image results. Supported values: 's' (Second), 'n' (Minute), 'h' (Hour), 'd' (Day), 'w' (Week), 'm' (Month), 'y' (Year).",
          "enumValues": [],
          "location": "query",
          "name": "period_unit",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Time duration value used with 'period_unit' (e.g., 15 for 15 days). Default: 1.",
          "enumValues": [],
          "location": "query",
          "name": "period_value",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Start date for restricting images to a time range. Format: 'YYYYMMDD' (e.g., '20241201').",
          "enumValues": [],
          "location": "query",
          "name": "start_date",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "End date for restricting images to a time range. Format: 'YYYYMMDD' (e.g., '20241231').",
          "enumValues": [],
          "location": "query",
          "name": "end_date",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Additional suggested search terms (chips) to filter images. Values are obtained from previous responses.",
          "enumValues": [],
          "location": "query",
          "name": "chips",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by image aspect ratio. Supported values: 's' (Square), 't' (Tall), 'w' (Wide), 'xw' (Panoramic).",
          "enumValues": [],
          "location": "query",
          "name": "imgar",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by image size. Supported values: 'l' (Large), 'm' (Medium), 'i' (Icon), and specific resolutions like '4mp', '10mp'.",
          "enumValues": [],
          "location": "query",
          "name": "imgsz",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter images by a dominant color (e.g., 'red', 'blue', 'bw' for black and white, 'trans' for transparent).",
          "enumValues": [],
          "location": "query",
          "name": "image_color",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by image type. Supported values: 'face', 'photo', 'clipart', 'lineart', 'animated'.",
          "enumValues": [],
          "location": "query",
          "name": "image_type",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by usage rights and licenses. Supported values: 'f' (Free to use), 'fc' (Commercial use), 'cl' (Creative Commons).",
          "enumValues": [],
          "location": "query",
          "name": "licenses",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable.",
          "enumValues": [],
          "location": "query",
          "name": "filter",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/images/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Images Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google immersive Product data, including features, specifications, and seller information, for product research and merchandising analysis.",
      "method": "GET",
      "operationId": "immersiveProduct",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique token used to retrieve detailed product information in Google's immersive view. This token is typically found in Google Shopping or Search results.",
          "enumValues": [],
          "location": "query",
          "name": "page_token",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "If set to true, the API will retrieve a list of more sellers for the product. Use this together with the 'sori' parameter.",
          "enumValues": [],
          "location": "query",
          "name": "stores",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Pagination offset for seller results. Set this to the number of sellers already retrieved to get the next set.",
          "enumValues": [],
          "location": "query",
          "name": "sori",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/immersive/product",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Immersive Product",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google jobs Search data, including titles, companies, and locations, for aggregating job board results, analyzing hiring trends, and monitoring recruitment activity.",
      "method": "GET",
      "operationId": "jobsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The job search query (e.g., 'software engineer', 'data scientist London').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token for retrieving the next page of job results. Found in 'next_page_token' of a previous response.",
          "enumValues": [],
          "location": "query",
          "name": "next_page_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Additional search filters (chips) such as job type, date posted, etc. Use values returned in previous responses.",
          "enumValues": [],
          "location": "query",
          "name": "chips",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Search radius in miles around the specified location.",
          "enumValues": [],
          "location": "query",
          "name": "lrad",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by job location type. Set to '1' for work-from-home (remote) jobs.",
          "enumValues": [],
          "location": "query",
          "name": "ltype",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced Google-provided filter string for job results.",
          "enumValues": [],
          "location": "query",
          "name": "uds",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) to localize job results to a specific geographic area.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/jobs/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Jobs Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google lens Search data, including visual matches, product matches, and related links, for visual search analysis and product matching workflows.",
      "method": "GET",
      "operationId": "lens",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The URL of the image you want to analyze with Google Lens. Must be a publicly accessible image URL.",
          "enumValues": [],
          "location": "query",
          "name": "url",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "If set to true, the API will specifically look for product matches and shopping results.",
          "enumValues": [],
          "location": "query",
          "name": "product",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "If set to true, the API will return visually similar images and matches.",
          "enumValues": [],
          "location": "query",
          "name": "visual_matches",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "If set to true, the API will search for exact duplicates of the provided image.",
          "enumValues": [],
          "location": "query",
          "name": "exact_matches",
          "required": false,
          "schemaType": "boolean"
        }
      ],
      "path": "/api/v1/google/lens",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Lens Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google local Search data, including business listings, ratings, and contact details, for local lead generation and competitor research.",
      "method": "GET",
      "operationId": "localSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for local businesses (e.g., 'pizza', 'dentist near me').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The textual location name (e.g., 'New York, NY') to localize the search results.",
          "enumValues": [],
          "location": "query",
          "name": "location",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique Google Business Profile listing ID (CID) to get details for a specific business.",
          "enumValues": [],
          "location": "query",
          "name": "ludocid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/local/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Local Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google maps Photos data, including related metadata, for visual location research and listing QA.",
      "method": "GET",
      "operationId": "mapsPhotos",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API.",
          "enumValues": [],
          "location": "query",
          "name": "data_id",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique ID for a photo category (e.g., 'Interior', 'Exterior'). Found in previous Maps Photos API responses.",
          "enumValues": [],
          "location": "query",
          "name": "category_id",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token for retrieving the next page of photo results.",
          "enumValues": [],
          "location": "query",
          "name": "next_page_token",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/maps/photos",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Maps Photos",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google maps Place Details data, including contact details and business information, for enrich business directories, look up place details, and sync local app data.",
      "method": "GET",
      "operationId": "mapsPlaces",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Place ID. Obtainable via the Google Maps Search API. Use this or 'data_id'.",
          "enumValues": [],
          "location": "query",
          "name": "place_id",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique Google Maps location data ID. Use this or 'place_id'.",
          "enumValues": [],
          "location": "query",
          "name": "data_id",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/maps/places",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Maps Place Details",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google maps Posts data, including business post content, post dates and images, and profile-specific feeds, for local business monitoring and promotion tracking.",
      "method": "GET",
      "operationId": "mapsPosts",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API.",
          "enumValues": [],
          "location": "query",
          "name": "data_id",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token used to retrieve the next page of business posts.",
          "enumValues": [],
          "location": "query",
          "name": "next_page_token",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/maps/posts",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Maps Posts",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google maps Reviews data, including ratings and reviewer metadata, for reputation analysis and review monitoring.",
      "method": "GET",
      "operationId": "mapsReviews",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API.",
          "enumValues": [],
          "location": "query",
          "name": "data_id",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Sorting order for reviews. Supported values: 'qualityScore' (Relevance), 'newestFirst' (Newest), 'ratingHigh' (Highest rating), 'ratingLow' (Lowest rating).",
          "enumValues": [],
          "location": "query",
          "name": "sort_by",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter reviews by a specific topic ID. Topic IDs are obtained from previous Maps Reviews API responses.",
          "enumValues": [],
          "location": "query",
          "name": "topic_id",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token for retrieving the next page of reviews.",
          "enumValues": [],
          "location": "query",
          "name": "next_page_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The maximum number of reviews to return per page (range: 1-20).",
          "enumValues": [],
          "location": "query",
          "name": "results",
          "required": false,
          "schemaType": "integer"
        }
      ],
      "path": "/api/v1/google/maps/reviews",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Maps Reviews",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google maps Search data, including business listings, ratings and contact data, and coordinate and location targeting, for local market research and lead discovery.",
      "method": "GET",
      "operationId": "mapsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Maps (e.g., 'restaurants', 'hospitals in New York').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "GPS coordinates for the search origin. Format: '@<latitude>,<longitude>,<zoom>'. Required for precise localization and pagination.",
          "enumValues": [],
          "location": "query",
          "name": "ll",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced Google Maps data parameter used for certain map/place-specific result filters and views. It can be copied from a Google Maps URL after applying filters, or constructed for specific place searches. This parameter is commonly used when type = \"place\". If you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "data",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique Google Place ID to directly retrieve information for a specific location.",
          "enumValues": [],
          "location": "query",
          "name": "place_id",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results pagination offset. Start at 0 and increment by 20 for each subsequent page.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        }
      ],
      "path": "/api/v1/google/maps/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Maps Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google news Search data, including headlines and source metadata, for media monitoring and news aggregation.",
      "method": "GET",
      "operationId": "newsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google News (e.g., 'artificial intelligence', 'climate change').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google News topic token to retrieve results for a specific category (e.g., 'World', 'Technology'). Obtained from previous responses.",
          "enumValues": [],
          "location": "query",
          "name": "topic_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google News publication token to fetch results from a specific source (e.g., 'CNN', 'BBC'). Obtained from previous responses.",
          "enumValues": [],
          "location": "query",
          "name": "publication_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google News section token to access a specific subsection within a topic or publication.",
          "enumValues": [],
          "location": "query",
          "name": "section_token",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Sorting order for news results. Supported values: '0' (Relevance, default), '1' (Date). Only works with 'story_token'.",
          "enumValues": [],
          "location": "query",
          "name": "so",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/news/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "News Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google patent Details data, including abstracts, claims, and legal status, for patent review and IP due diligence.",
      "method": "GET",
      "operationId": "patentDetails",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Patent ID (e.g., 'US1234567B1').",
          "enumValues": [],
          "location": "query",
          "name": "patent_id",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        }
      ],
      "path": "/api/v1/google/patents/details",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Patent Details",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google patent Search data, including filters, for patent discovery and portfolio monitoring.",
      "method": "GET",
      "operationId": "patentSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for patents (e.g., 'autonomous vehicles', 'blockchain security').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The number of results to return per page (range: 1-100).",
          "enumValues": [],
          "location": "query",
          "name": "num",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Sorting order for patent results. Supported values: 'new' (Newest), 'old' (Oldest).",
          "enumValues": [],
          "location": "query",
          "name": "sort",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "If set to true, results will be grouped by classification.",
          "enumValues": [],
          "location": "query",
          "name": "clustered",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Deduplication method. Supported values: 'language' (by Publication).",
          "enumValues": [],
          "location": "query",
          "name": "dups",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Whether to include Google Patents results.",
          "enumValues": [],
          "location": "query",
          "name": "patents",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Whether to include Google Scholar results.",
          "enumValues": [],
          "location": "query",
          "name": "scholar",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Latest date to include. Format: 'type:YYYYMMDD' (e.g., 'publication:20230101').",
          "enumValues": [],
          "location": "query",
          "name": "before",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Earliest date to include. Format: 'type:YYYYMMDD' (e.g., 'filing:20200101').",
          "enumValues": [],
          "location": "query",
          "name": "after",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by patent inventor(s). Multiple values can be comma-separated.",
          "enumValues": [],
          "location": "query",
          "name": "inventor",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by patent assignee(s). Multiple values can be comma-separated.",
          "enumValues": [],
          "location": "query",
          "name": "assignee",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by patent status. Supported values: 'GRANT', 'APPLICATION'.",
          "enumValues": [],
          "location": "query",
          "name": "status",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by patent type. Supported values: 'PATENT', 'DESIGN'.",
          "enumValues": [],
          "location": "query",
          "name": "type",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter by litigation status. Supported values: 'YES', 'NO'.",
          "enumValues": [],
          "location": "query",
          "name": "litigation",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/patents/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Patent Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google scholar Author data, including publications, citation metrics, and research interests, for researcher analysis and academic profiling.",
      "method": "GET",
      "operationId": "ScholarAuthor",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique Google Scholar ID of the researcher/author (e.g., 'LSs6DR8AAAAJ').",
          "enumValues": [],
          "location": "query",
          "name": "author_id",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The number of results to return per page.",
          "enumValues": [],
          "location": "query",
          "name": "results",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Specific view operation for the author profile. Use 'list_colleagues' to see co-authors or 'view_citation' for article details.",
          "enumValues": [],
          "location": "query",
          "name": "view_op",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Sorting criteria for the author's publications. Supported values: 'title', 'pubdate'.",
          "enumValues": [],
          "location": "query",
          "name": "sort",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The citation ID to view details for (required when 'view_op' is 'view_citation').",
          "enumValues": [],
          "location": "query",
          "name": "citation_id",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/scholar/author",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Scholar Author",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google scholar Citations data, including export links, for bibliography automation and citation workflows.",
      "method": "GET",
      "operationId": "ScholarCiteSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The unique ID of a Google Scholar search result to retrieve citation formats for. Found in the 'id' field of previous Scholar Search responses.",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/scholar/cite/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Scholar Citations",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google scholar Profiles data, including profile search results, affiliation and citation counts, and pagination tokens, for researcher discovery and academic directory building.",
      "method": "GET",
      "operationId": "ScholarProfiles",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for author profiles (e.g., 'John Smith', 'Harvard University').",
          "enumValues": [],
          "location": "query",
          "name": "mauthors",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token used to retrieve the next page of author profiles.",
          "enumValues": [],
          "location": "query",
          "name": "after_author",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Token used to retrieve the previous page of author profiles.",
          "enumValues": [],
          "location": "query",
          "name": "before_author",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/scholar/profiles",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Scholar Profiles",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google scholar Search data, including papers, patents, and legal docs, citation and year filters, and versions and cited-by links, for literature review and academic result monitoring.",
      "method": "GET",
      "operationId": "ScholarSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The academic search query (e.g., 'machine learning', 'CRISPR gene editing'). Supports advanced operators like 'author:'.",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google Scholar search page.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Return articles that cite the article with the specified ID.",
          "enumValues": [],
          "location": "query",
          "name": "cites",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Minimum publication year filter (e.g., '2020').",
          "enumValues": [],
          "location": "query",
          "name": "as_ylo",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Maximum publication year filter (e.g., '2024').",
          "enumValues": [],
          "location": "query",
          "name": "as_yhi",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls whether to return only abstract results (1) or all results (0).",
          "enumValues": [],
          "location": "query",
          "name": "scisbd",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The unique ID of an article cluster to retrieve all versions of a specific work.",
          "enumValues": [],
          "location": "query",
          "name": "cluster",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The number of search results to return per page.",
          "enumValues": [],
          "location": "query",
          "name": "results",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Advanced filter for specific document types or legal jurisdictions. E.g., '7' to include patents.",
          "enumValues": [],
          "location": "query",
          "name": "as_sdt",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable.",
          "enumValues": [],
          "location": "query",
          "name": "filter",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls whether citations are included in the results: 1 = exclude, 0 (default) = include.",
          "enumValues": [],
          "location": "query",
          "name": "as_vis",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls whether to show only review articles (topic overviews or discussions of the searched works/authors). Set to 1 to enable the filter, or 0 (default) to return all results.",
          "enumValues": [],
          "location": "query",
          "name": "as_rr",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/scholar/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Scholar Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google search SERP data, including organic results, ads, and knowledge panels, for keyword tracking and SERP analysis across markets.",
      "method": "GET",
      "operationId": "search",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Limits results to search results from specific countries. Format: 'countryXX'. See <a href=\"/reference/google-cr-countries\">Google CR Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "cr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The textual location name (e.g., 'New York, NY') to localize the search results.",
          "enumValues": [],
          "location": "query",
          "name": "location",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it.",
          "enumValues": [],
          "location": "query",
          "name": "ludocid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "lsig",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "kgmid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "si",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "ibp",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "uds",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable.",
          "enumValues": [],
          "location": "query",
          "name": "filter",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Search SERP",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google light Search SERP data, including essential result data, for high-volume monitoring and fast rank checks.",
      "method": "GET",
      "operationId": "searchLight",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Limits results to search results from specific countries. Format: 'countryXX'. See <a href=\"/reference/google-cr-countries\">Google CR Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "cr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The textual location name (e.g., 'New York, NY') to localize the search results.",
          "enumValues": [],
          "location": "query",
          "name": "location",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it.",
          "enumValues": [],
          "location": "query",
          "name": "ludocid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "lsig",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "kgmid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "si",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "ibp",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "uds",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable.",
          "enumValues": [],
          "location": "query",
          "name": "filter",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/search/light",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Light Search SERP",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google mobile Search SERP data, including mobile-specific layouts and result features, for mobile SEO analysis and ranking checks.",
      "method": "GET",
      "operationId": "searchMobile",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Limits results to search results from specific countries. Format: 'countryXX'. See <a href=\"/reference/google-cr-countries\">Google CR Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "cr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The textual location name (e.g., 'New York, NY') to localize the search results.",
          "enumValues": [],
          "location": "query",
          "name": "location",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it.",
          "enumValues": [],
          "location": "query",
          "name": "ludocid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "lsig",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "kgmid",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "si",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "ibp",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "uds",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable.",
          "enumValues": [],
          "location": "query",
          "name": "filter",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/search/mobile",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Mobile Search SERP",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google shopping Search data, including product listings, prices, and merchants, for pricing research and catalog monitoring.",
      "method": "GET",
      "operationId": "shoppingSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The shopping search query (e.g., 'iPhone 15', 'running shoes').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "A unique ID used to apply specific shopping filters. Usually obtained from previous response.",
          "enumValues": [],
          "location": "query",
          "name": "shoprs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/shopping/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Shopping Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google shorts Search data, including video metadata and rankings, for short-form content tracking and trend analysis.",
      "method": "GET",
      "operationId": "shortsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Shorts (e.g., 'cooking tips', 'travel hacks').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The result offset to skip a specific number of entries (e.g., set to 12 to skip the first 12 results).",
          "enumValues": [],
          "location": "query",
          "name": "start",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/shorts/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Shorts Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google trends Autocomplete data, including topic IDs, for trend discovery and topic expansion.",
      "method": "GET",
      "operationId": "TrendsAutocomplete",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query to get trending autocomplete suggestions for (e.g., 'artificial').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/trends/autocomplete",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Trends Autocomplete",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google trends Search data, including interest over time, geo breakdowns, and related queries, for demand analysis and seasonal trend monitoring.",
      "method": "GET",
      "operationId": "TrendsSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search term or topic ID to analyze in Google Trends (e.g., 'iPhone', '/m/027lnzs' for Bitcoin). You can provide up to 5 terms separated by commas for comparisons.",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The geographic location code to filter trends (e.g., 'US', 'GB'). Omit for worldwide trends. See <a href=\"/reference/google-trends-locations\">Google Trends Locations</a>.",
          "enumValues": [],
          "location": "query",
          "name": "geo",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Refines results for region charts. Supported values: 'COUNTRY', 'REGION', 'DMA', 'CITY'.",
          "enumValues": [],
          "location": "query",
          "name": "region",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The type of trend data to retrieve. Supported values: 'TIMESERIES' (Interest over time), 'GEO_MAP' (Breakdown by region).",
          "enumValues": [],
          "location": "query",
          "name": "data_type",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Time zone offset in minutes (e.g., '420' for PDT). Range: -1439 to 1439.",
          "enumValues": [],
          "location": "query",
          "name": "tz",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "The search category code (e.g., '0' for all categories).",
          "enumValues": [],
          "location": "query",
          "name": "cat",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google property to filter trends. Supported values: 'images', 'news', 'froogle' (Shopping), 'youtube'.",
          "enumValues": [],
          "location": "query",
          "name": "gprop",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Date range filter for the search. Supports predefined values (now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all) and custom ranges: yyyy-mm-dd yyyy-mm-dd (e.g. 2021-10-15 2022-05-25) or hourly yyyy-mm-ddThh yyyy-mm-ddThh within 1 week (e.g. 2022-05-19T10 2022-05-24T22, based on tz).",
          "enumValues": [],
          "location": "query",
          "name": "date",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/trends/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Trends Search",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google trends Trending Now data, including latest trending topics, region and time-window filters, and volume indicators, for breaking-trend monitoring and editorial planning.",
      "method": "GET",
      "operationId": "TrendsTrendingNow",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The geographic location code to retrieve real-time trends for (e.g., 'US' for United States). Default is 'US'.",
          "enumValues": [],
          "location": "query",
          "name": "geo",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Time window for trending topics. Supported values: '4' (past 4 hours), '24' (past 24 hours), '48' (past 48 hours), '168' (past 7 days).",
          "enumValues": [],
          "location": "query",
          "name": "hours",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en').",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/trends/trending-now",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Trends Trending Now",
      "tags": [
        "Google"
      ]
    },
    {
      "description": "Get Google video Search data, including titles, sources, and dates, for video SEO and content monitoring.",
      "method": "GET",
      "operationId": "videosSearch",
      "parameters": [
        {
          "defaultValue": null,
          "description": "The search query for Google Videos (e.g., 'coding tutorial', 'movie trailers').",
          "enumValues": [],
          "location": "query",
          "name": "query",
          "required": true,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The results page number. Use 0 for the first page, 1 for the second, and so on.",
          "enumValues": [],
          "location": "query",
          "name": "page",
          "required": false,
          "schemaType": "integer"
        },
        {
          "defaultValue": null,
          "description": "Set to true to return the raw HTML of the Google search results page alongside the structured data.",
          "enumValues": [],
          "location": "query",
          "name": "html",
          "required": false,
          "schemaType": "boolean"
        },
        {
          "defaultValue": null,
          "description": "Set the target country code (e.g., 'us', 'uk') to localize results. See <a href=\"/reference/google-countries\">Google Countries</a>.",
          "enumValues": [],
          "location": "query",
          "name": "country",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href=\"/reference/google-domains\">Google Domains</a>.",
          "enumValues": [],
          "location": "query",
          "name": "domain",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href=\"/reference/google-language\">Google Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "language",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href=\"/reference/google-lr-language\">Google LR Language</a>.",
          "enumValues": [],
          "location": "query",
          "name": "lr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it.",
          "enumValues": [],
          "location": "query",
          "name": "uule",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty.",
          "enumValues": [],
          "location": "query",
          "name": "tbs",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it.",
          "enumValues": [],
          "location": "query",
          "name": "safe",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them.",
          "enumValues": [],
          "location": "query",
          "name": "nfpr",
          "required": false,
          "schemaType": "string"
        },
        {
          "defaultValue": null,
          "description": "Filter results by publication time (e.g., 'qdr:d' for past 24 hours, 'qdr:w' for past week).",
          "enumValues": [],
          "location": "query",
          "name": "result_time",
          "required": false,
          "schemaType": "string"
        }
      ],
      "path": "/api/v1/google/videos/search",
      "requestBody": null,
      "responses": [
        {
          "description": "Authentication failed: API Key is invalid or missing",
          "statusCode": "401"
        },
        {
          "description": "Access denied: Insufficient credits or quota exceeded",
          "statusCode": "403"
        },
        {
          "description": "Internal server error or upstream service exception",
          "statusCode": "500"
        },
        {
          "description": "default response",
          "statusCode": "default"
        }
      ],
      "summary": "Video Search",
      "tags": [
        "Google"
      ]
    }
  ]
};
const args = parseArgs(process.argv.slice(2));

if (!args.operation) {
  fail("Missing required --operation argument.");
}

const operation = manifest.operations.find((item) => item.operationId === args.operation);
if (!operation) {
  fail(`Unknown operation "${args.operation}".`, { availableOperations: manifest.operations.map((item) => item.operationId) });
}

if (!args.apiKey) {
  fail("Missing required --api-key argument.");
}

const params = parseParams(args.paramsJson);
applyDefaults(operation, params);
validateRequired(operation, params);

const baseUrl = manifest.baseUrl;
const url = new URL(operation.path, ensureBaseUrl(baseUrl));
applyPathParams(operation, params, url);
applyQueryParams(operation, params, url);

const requestInit = {
  headers: {
    "accept": "application/json",
    "X-API-Key": args.apiKey,
  },
  method: operation.method,
};

if (operation.requestBody && params.body !== undefined) {
  requestInit.body = JSON.stringify(params.body);
  requestInit.headers["content-type"] = operation.requestBody.contentType || "application/json";
}

let response;
try {
  response = await fetch(url, requestInit);
} catch (error) {
  fail("Network request failed.", {
    cause: error instanceof Error ? error.message : String(error),
    operationId: operation.operationId,
  });
}

const rawBody = await response.text();
let parsedBody;
try {
  parsedBody = rawBody ? JSON.parse(rawBody) : null;
} catch (error) {
  if (!response.ok) {
    fail("Backend returned a non-JSON error response.", {
      body: rawBody,
      operationId: operation.operationId,
      status: response.status,
      statusText: response.statusText,
    });
  }
  fail("Backend returned invalid JSON.", {
    body: rawBody,
    operationId: operation.operationId,
    status: response.status,
    statusText: response.statusText,
  });
}

if (!response.ok) {
  fail("Backend request failed.", {
    body: parsedBody,
    operationId: operation.operationId,
    status: response.status,
    statusText: response.statusText,
  });
}

process.stdout.write(`${JSON.stringify(parsedBody, null, 2)}\n`);

function parseArgs(argv) {
  const parsed = { apiKey: null, operation: null, paramsJson: "{}" };
  for (let index = 0; index < argv.length; index += 1) {
    const flag = argv[index];
    const value = argv[index + 1];
    if (flag === "--operation") {
      parsed.operation = value;
      index += 1;
      continue;
    }
    if (flag === "--params-json") {
      parsed.paramsJson = value;
      index += 1;
      continue;
    }
    if (flag === "--api-key") {
      parsed.apiKey = value;
      index += 1;
      continue;
    }
    fail(`Unknown argument "${flag}".`);
  }
  return parsed;
}

function parseParams(input) {
  try {
    const parsed = JSON.parse(input || "{}");
    if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
      fail("--params-json must decode to a JSON object.");
    }
    return parsed;
  } catch (error) {
    fail("Failed to parse --params-json.", {
      cause: error instanceof Error ? error.message : String(error),
    });
  }
}

function applyDefaults(operation, params) {
  for (const parameter of operation.parameters) {
    if (params[parameter.name] === undefined && parameter.defaultValue !== null) {
      params[parameter.name] = parameter.defaultValue;
    }
  }
}

function validateRequired(operation, params) {
  const missing = [];
  for (const parameter of operation.parameters) {
    if (parameter.required && params[parameter.name] === undefined) {
      missing.push(parameter.name);
    }
  }
  if (operation.requestBody?.required && params.body === undefined) {
    missing.push("body");
  }
  if (missing.length) {
    fail("Missing required parameters.", {
      missing,
      operationId: operation.operationId,
    });
  }
}

function applyPathParams(operation, params, url) {
  let pathname = url.pathname;
  for (const parameter of operation.parameters.filter((item) => item.location === "path")) {
    const value = params[parameter.name];
    if (value === undefined) {
      continue;
    }
    pathname = pathname.replace(`{${parameter.name}}`, encodeURIComponent(String(value)));
  }
  url.pathname = pathname;
}

function applyQueryParams(operation, params, url) {
  for (const parameter of operation.parameters.filter((item) => item.location === "query")) {
    const value = params[parameter.name];
    if (value === undefined) {
      continue;
    }
    appendValue(url.searchParams, parameter.name, value);
  }
}

function appendValue(searchParams, name, value) {
  if (Array.isArray(value)) {
    for (const item of value) {
      appendValue(searchParams, name, item);
    }
    return;
  }
  if (value && typeof value === "object") {
    searchParams.append(name, JSON.stringify(value));
    return;
  }
  searchParams.append(name, String(value));
}

function ensureBaseUrl(value) {
  return value.endsWith("/") ? value : `${value}/`;
}

function fail(message, details = null) {
  const payload = { message };
  if (details) {
    payload.details = details;
  }
  process.stderr.write(`${JSON.stringify(payload, null, 2)}\n`);
  process.exit(1);
}


path: generated/operations.md
content: # Google SERP operations

Generated from Just Serp API OpenAPI for group key `google`.

## `aiMode`

- Method: `GET`
- Path: `/api/v1/google/ai-mode`
- Summary: AI Mode
- Description: Get Google aI Mode data, including generated answers, follow-up prompts, and cited links, for AI search experience monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake'). |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `location` | `query` | no | `string` | n/a | The textual location name (e.g., 'New York, NY') to localize the search results. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `aiOverview`

- Method: `GET`
- Path: `/api/v1/google/ai-overview`
- Summary: AI Overview
- Description: Get Google aI Overview data, including generated summaries and cited sources, for generative search visibility tracking.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `url` | `query` | yes | `string` | n/a | The unique URL generated by Google to access the AI Overview. This URL is typically extracted from the 'ai_overview_url' field in a <a href="/reference/google/search">Google Search API</a> response. Note: This URL is transient and usually expires within 2 minutes. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `autocomplete`

- Method: `GET`
- Path: `/api/v1/google/autocomplete`
- Summary: Autocomplete Suggestions
- Description: Get Google autocomplete Suggestions data, including real-time suggestion data, country and language targeting, and structured suggestion lists, for keyword expansion and search intent research.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query to get autocomplete suggestions for. As you type, Google provides real-time predictions based on popular searches. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `financeSearch`

- Method: `GET`
- Path: `/api/v1/google/finance/search`
- Summary: Finance Search
- Description: Get Google finance Search data, including market summaries, company details, and related finance results, for finance monitoring and market research.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The stock symbol, company name, or index you want to search for on Google Finance (e.g., 'AAPL', 'Tesla', 'S&P 500'). |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `hotelsSearch`

- Method: `GET`
- Path: `/api/v1/google/hotels/search`
- Summary: Hotels Search
- Description: Get Google hotels Search data, including prices, ratings, and availability details, for travel comparison and hospitality market analysis.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The destination or specific hotel name you are searching for (e.g., 'Paris', 'Hilton New York'). |
| `check_in_date` | `query` | yes | `string` | n/a | The hotel check-in date in 'YYYY-MM-DD' format (e.g., '2026-05-20'). |
| `check_out_date` | `query` | yes | `string` | n/a | The hotel check-out date in 'YYYY-MM-DD' format (e.g., '2026-05-25'). |
| `next_page_token` | `query` | no | `string` | n/a | The token used to retrieve the next page of hotel results. This token is found in the 'next_page_token' field of a previous response. |
| `adults` | `query` | no | `integer` | n/a | The number of adults staying in the room. |
| `children` | `query` | no | `integer` | n/a | The number of children staying in the room. |
| `children_ages` | `query` | no | `string` | n/a | The ages of the children, separated by commas (e.g., '5,10'). The number of ages must match the 'children' parameter. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `currency` | `query` | no | `string` | n/a | The three-letter ISO currency code for displaying prices (e.g., 'USD', 'EUR'). See <a href="/reference/hotels/google-hotels-currency">Google Hotels Currency</a>. |
| `sort_by` | `query` | no | `string` | n/a | The criteria to sort hotel results. Supported values: '3' (Lowest price), '8' (Highest rating), '13' (Most reviews). |
| `min_price` | `query` | no | `string` | n/a | Minimum price filter for the hotel stay. |
| `max_price` | `query` | no | `string` | n/a | Maximum price filter for the hotel stay. |
| `property_types` | `query` | no | `string` | n/a | Filter by hotel property types. See the <a href="/reference/hotels/google-hotels-property-types">Google Property Types</a> for the full list of supported hotel property types. For vacation rentals, refer to the <a href="/reference/hotels/google-hotels-vacation-rentals-property-types">Google Hotels Vacation Rentals Property Types</a>. |
| `amenities` | `query` | no | `string` | n/a | Filter by specific amenities (e.g., '35' for free Wi-Fi). <a href="/reference/hotels/google-hotels-amenities">Google Hotels Amenities</a> (hotel amenities). <a href="/reference/hotels/google-hotels-vacation-rentals-amenities">Google Hotels Vacation Rentals Amenities</a> (vacation rental amenities) |
| `rating` | `query` | no | `string` | n/a | Filter by minimum guest rating. Supported values: '7' (3.5+), '8' (4.0+), '9' (4.5+). |
| `brands` | `query` | no | `string` | n/a | Filter by specific hotel brand IDs. IDs can be comma-separated. |
| `hotel_class` | `query` | no | `string` | n/a | Filter by hotel star ratings. Supported values: '2', '3', '4', '5'. Can be comma-separated. |
| `free_cancellation` | `query` | no | `string` | n/a | Filter for hotels that offer free cancellation. Set to '1' or 'true' to enable. |
| `special_offers` | `query` | no | `string` | n/a | Filter for hotels currently offering special deals or discounts. Set to '1' or 'true' to enable. |
| `eco_certified` | `query` | no | `string` | n/a | Filter for hotels that are eco-certified. Set to '1' or 'true' to enable. |
| `vacation_rentals` | `query` | no | `boolean` | n/a | Set to true to search for vacation rentals instead of standard hotels. |
| `bedrooms` | `query` | no | `string` | n/a | Minimum number of bedrooms required (applies to vacation rentals). |
| `bathrooms` | `query` | no | `string` | n/a | Minimum number of bathrooms required (applies to vacation rentals). |
| `property_token` | `query` | no | `string` | n/a | The unique token for a specific hotel property to fetch detailed information. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `imagesSearch`

- Method: `GET`
- Path: `/api/v1/google/images/search`
- Summary: Images Search
- Description: Get Google images Search data, including image URLs and metadata, for filtered image discovery for research and monitoring workflows.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for images (e.g., 'mountain landscape', 'luxury cars'). |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `cr` | `query` | no | `string` | n/a | Limits results to search results from specific countries. Format: 'countryXX'. See <a href="/reference/google-cr-countries">Google CR Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `period_unit` | `query` | no | `string` | n/a | Time unit for 'recent' image results. Supported values: 's' (Second), 'n' (Minute), 'h' (Hour), 'd' (Day), 'w' (Week), 'm' (Month), 'y' (Year). |
| `period_value` | `query` | no | `string` | n/a | Time duration value used with 'period_unit' (e.g., 15 for 15 days). Default: 1. |
| `start_date` | `query` | no | `string` | n/a | Start date for restricting images to a time range. Format: 'YYYYMMDD' (e.g., '20241201'). |
| `end_date` | `query` | no | `string` | n/a | End date for restricting images to a time range. Format: 'YYYYMMDD' (e.g., '20241231'). |
| `chips` | `query` | no | `string` | n/a | Additional suggested search terms (chips) to filter images. Values are obtained from previous responses. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `imgar` | `query` | no | `string` | n/a | Filter by image aspect ratio. Supported values: 's' (Square), 't' (Tall), 'w' (Wide), 'xw' (Panoramic). |
| `imgsz` | `query` | no | `string` | n/a | Filter by image size. Supported values: 'l' (Large), 'm' (Medium), 'i' (Icon), and specific resolutions like '4mp', '10mp'. |
| `image_color` | `query` | no | `string` | n/a | Filter images by a dominant color (e.g., 'red', 'blue', 'bw' for black and white, 'trans' for transparent). |
| `image_type` | `query` | no | `string` | n/a | Filter by image type. Supported values: 'face', 'photo', 'clipart', 'lineart', 'animated'. |
| `licenses` | `query` | no | `string` | n/a | Filter by usage rights and licenses. Supported values: 'f' (Free to use), 'fc' (Commercial use), 'cl' (Creative Commons). |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |
| `filter` | `query` | no | `string` | n/a | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `immersiveProduct`

- Method: `GET`
- Path: `/api/v1/google/immersive/product`
- Summary: Immersive Product
- Description: Get Google immersive Product data, including features, specifications, and seller information, for product research and merchandising analysis.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `page_token` | `query` | yes | `string` | n/a | The unique token used to retrieve detailed product information in Google's immersive view. This token is typically found in Google Shopping or Search results. |
| `stores` | `query` | no | `boolean` | n/a | If set to true, the API will retrieve a list of more sellers for the product. Use this together with the 'sori' parameter. |
| `sori` | `query` | no | `integer` | n/a | Pagination offset for seller results. Set this to the number of sellers already retrieved to get the next set. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `jobsSearch`

- Method: `GET`
- Path: `/api/v1/google/jobs/search`
- Summary: Jobs Search
- Description: Get Google jobs Search data, including titles, companies, and locations, for aggregating job board results, analyzing hiring trends, and monitoring recruitment activity.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The job search query (e.g., 'software engineer', 'data scientist London'). |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `next_page_token` | `query` | no | `string` | n/a | Token for retrieving the next page of job results. Found in 'next_page_token' of a previous response. |
| `chips` | `query` | no | `string` | n/a | Additional search filters (chips) such as job type, date posted, etc. Use values returned in previous responses. |
| `lrad` | `query` | no | `string` | n/a | Search radius in miles around the specified location. |
| `ltype` | `query` | no | `string` | n/a | Filter by job location type. Set to '1' for work-from-home (remote) jobs. |
| `uds` | `query` | no | `string` | n/a | Advanced Google-provided filter string for job results. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) to localize job results to a specific geographic area. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `lens`

- Method: `GET`
- Path: `/api/v1/google/lens`
- Summary: Lens Search
- Description: Get Google lens Search data, including visual matches, product matches, and related links, for visual search analysis and product matching workflows.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `url` | `query` | yes | `string` | n/a | The URL of the image you want to analyze with Google Lens. Must be a publicly accessible image URL. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `product` | `query` | no | `boolean` | n/a | If set to true, the API will specifically look for product matches and shopping results. |
| `visual_matches` | `query` | no | `boolean` | n/a | If set to true, the API will return visually similar images and matches. |
| `exact_matches` | `query` | no | `boolean` | n/a | If set to true, the API will search for exact duplicates of the provided image. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `localSearch`

- Method: `GET`
- Path: `/api/v1/google/local/search`
- Summary: Local Search
- Description: Get Google local Search data, including business listings, ratings, and contact details, for local lead generation and competitor research.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for local businesses (e.g., 'pizza', 'dentist near me'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `location` | `query` | no | `string` | n/a | The textual location name (e.g., 'New York, NY') to localize the search results. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `ludocid` | `query` | no | `string` | n/a | The unique Google Business Profile listing ID (CID) to get details for a specific business. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `mapsPhotos`

- Method: `GET`
- Path: `/api/v1/google/maps/photos`
- Summary: Maps Photos
- Description: Get Google maps Photos data, including related metadata, for visual location research and listing QA.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `data_id` | `query` | yes | `string` | n/a | The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `category_id` | `query` | no | `string` | n/a | The unique ID for a photo category (e.g., 'Interior', 'Exterior'). Found in previous Maps Photos API responses. |
| `next_page_token` | `query` | no | `string` | n/a | Token for retrieving the next page of photo results. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `mapsPlaces`

- Method: `GET`
- Path: `/api/v1/google/maps/places`
- Summary: Maps Place Details
- Description: Get Google maps Place Details data, including contact details and business information, for enrich business directories, look up place details, and sync local app data.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `place_id` | `query` | no | `string` | n/a | The unique Google Place ID. Obtainable via the Google Maps Search API. Use this or 'data_id'. |
| `data_id` | `query` | no | `string` | n/a | The unique Google Maps location data ID. Use this or 'place_id'. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `mapsPosts`

- Method: `GET`
- Path: `/api/v1/google/maps/posts`
- Summary: Maps Posts
- Description: Get Google maps Posts data, including business post content, post dates and images, and profile-specific feeds, for local business monitoring and promotion tracking.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `data_id` | `query` | yes | `string` | n/a | The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API. |
| `next_page_token` | `query` | no | `string` | n/a | Token used to retrieve the next page of business posts. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `mapsReviews`

- Method: `GET`
- Path: `/api/v1/google/maps/reviews`
- Summary: Maps Reviews
- Description: Get Google maps Reviews data, including ratings and reviewer metadata, for reputation analysis and review monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `data_id` | `query` | yes | `string` | n/a | The unique Google Maps location ID (feature ID). You can get this from our Google Maps Search API. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `sort_by` | `query` | no | `string` | n/a | Sorting order for reviews. Supported values: 'qualityScore' (Relevance), 'newestFirst' (Newest), 'ratingHigh' (Highest rating), 'ratingLow' (Lowest rating). |
| `topic_id` | `query` | no | `string` | n/a | Filter reviews by a specific topic ID. Topic IDs are obtained from previous Maps Reviews API responses. |
| `next_page_token` | `query` | no | `string` | n/a | Token for retrieving the next page of reviews. |
| `results` | `query` | no | `integer` | n/a | The maximum number of reviews to return per page (range: 1-20). |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `mapsSearch`

- Method: `GET`
- Path: `/api/v1/google/maps/search`
- Summary: Maps Search
- Description: Get Google maps Search data, including business listings, ratings and contact data, and coordinate and location targeting, for local market research and lead discovery.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Maps (e.g., 'restaurants', 'hospitals in New York'). |
| `ll` | `query` | no | `string` | n/a | GPS coordinates for the search origin. Format: '@<latitude>,<longitude>,<zoom>'. Required for precise localization and pagination. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `data` | `query` | no | `string` | n/a | Advanced Google Maps data parameter used for certain map/place-specific result filters and views. It can be copied from a Google Maps URL after applying filters, or constructed for specific place searches. This parameter is commonly used when type = "place". If you’re not familiar with it, you can leave it empty. |
| `place_id` | `query` | no | `string` | n/a | The unique Google Place ID to directly retrieve information for a specific location. |
| `page` | `query` | no | `integer` | n/a | The results pagination offset. Start at 0 and increment by 20 for each subsequent page. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `newsSearch`

- Method: `GET`
- Path: `/api/v1/google/news/search`
- Summary: News Search
- Description: Get Google news Search data, including headlines and source metadata, for media monitoring and news aggregation.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google News (e.g., 'artificial intelligence', 'climate change'). |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `topic_token` | `query` | no | `string` | n/a | The Google News topic token to retrieve results for a specific category (e.g., 'World', 'Technology'). Obtained from previous responses. |
| `publication_token` | `query` | no | `string` | n/a | The Google News publication token to fetch results from a specific source (e.g., 'CNN', 'BBC'). Obtained from previous responses. |
| `section_token` | `query` | no | `string` | n/a | The Google News section token to access a specific subsection within a topic or publication. |
| `so` | `query` | no | `string` | n/a | Sorting order for news results. Supported values: '0' (Relevance, default), '1' (Date). Only works with 'story_token'. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `patentDetails`

- Method: `GET`
- Path: `/api/v1/google/patents/details`
- Summary: Patent Details
- Description: Get Google patent Details data, including abstracts, claims, and legal status, for patent review and IP due diligence.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `patent_id` | `query` | yes | `string` | n/a | The unique Google Patent ID (e.g., 'US1234567B1'). |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `patentSearch`

- Method: `GET`
- Path: `/api/v1/google/patents/search`
- Summary: Patent Search
- Description: Get Google patent Search data, including filters, for patent discovery and portfolio monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for patents (e.g., 'autonomous vehicles', 'blockchain security'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `num` | `query` | no | `integer` | n/a | The number of results to return per page (range: 1-100). |
| `sort` | `query` | no | `string` | n/a | Sorting order for patent results. Supported values: 'new' (Newest), 'old' (Oldest). |
| `clustered` | `query` | no | `boolean` | n/a | If set to true, results will be grouped by classification. |
| `dups` | `query` | no | `string` | n/a | Deduplication method. Supported values: 'language' (by Publication). |
| `patents` | `query` | no | `boolean` | n/a | Whether to include Google Patents results. |
| `scholar` | `query` | no | `boolean` | n/a | Whether to include Google Scholar results. |
| `before` | `query` | no | `string` | n/a | Latest date to include. Format: 'type:YYYYMMDD' (e.g., 'publication:20230101'). |
| `after` | `query` | no | `string` | n/a | Earliest date to include. Format: 'type:YYYYMMDD' (e.g., 'filing:20200101'). |
| `inventor` | `query` | no | `string` | n/a | Filter by patent inventor(s). Multiple values can be comma-separated. |
| `assignee` | `query` | no | `string` | n/a | Filter by patent assignee(s). Multiple values can be comma-separated. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `status` | `query` | no | `string` | n/a | Filter by patent status. Supported values: 'GRANT', 'APPLICATION'. |
| `type` | `query` | no | `string` | n/a | Filter by patent type. Supported values: 'PATENT', 'DESIGN'. |
| `litigation` | `query` | no | `string` | n/a | Filter by litigation status. Supported values: 'YES', 'NO'. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `ScholarAuthor`

- Method: `GET`
- Path: `/api/v1/google/scholar/author`
- Summary: Scholar Author
- Description: Get Google scholar Author data, including publications, citation metrics, and research interests, for researcher analysis and academic profiling.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `author_id` | `query` | yes | `string` | n/a | The unique Google Scholar ID of the researcher/author (e.g., 'LSs6DR8AAAAJ'). |
| `results` | `query` | no | `integer` | n/a | The number of results to return per page. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `view_op` | `query` | no | `string` | n/a | Specific view operation for the author profile. Use 'list_colleagues' to see co-authors or 'view_citation' for article details. |
| `sort` | `query` | no | `string` | n/a | Sorting criteria for the author's publications. Supported values: 'title', 'pubdate'. |
| `citation_id` | `query` | no | `string` | n/a | The citation ID to view details for (required when 'view_op' is 'view_citation'). |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `ScholarCiteSearch`

- Method: `GET`
- Path: `/api/v1/google/scholar/cite/search`
- Summary: Scholar Citations
- Description: Get Google scholar Citations data, including export links, for bibliography automation and citation workflows.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The unique ID of a Google Scholar search result to retrieve citation formats for. Found in the 'id' field of previous Scholar Search responses. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `ScholarProfiles`

- Method: `GET`
- Path: `/api/v1/google/scholar/profiles`
- Summary: Scholar Profiles
- Description: Get Google scholar Profiles data, including profile search results, affiliation and citation counts, and pagination tokens, for researcher discovery and academic directory building.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `mauthors` | `query` | yes | `string` | n/a | The search query for author profiles (e.g., 'John Smith', 'Harvard University'). |
| `after_author` | `query` | no | `string` | n/a | Token used to retrieve the next page of author profiles. |
| `before_author` | `query` | no | `string` | n/a | Token used to retrieve the previous page of author profiles. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `ScholarSearch`

- Method: `GET`
- Path: `/api/v1/google/scholar/search`
- Summary: Scholar Search
- Description: Get Google scholar Search data, including papers, patents, and legal docs, citation and year filters, and versions and cited-by links, for literature review and academic result monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The academic search query (e.g., 'machine learning', 'CRISPR gene editing'). Supports advanced operators like 'author:'. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google Scholar search page. |
| `cites` | `query` | no | `string` | n/a | Return articles that cite the article with the specified ID. |
| `as_ylo` | `query` | no | `string` | n/a | Minimum publication year filter (e.g., '2020'). |
| `as_yhi` | `query` | no | `string` | n/a | Maximum publication year filter (e.g., '2024'). |
| `scisbd` | `query` | no | `string` | n/a | Controls whether to return only abstract results (1) or all results (0). |
| `cluster` | `query` | no | `string` | n/a | The unique ID of an article cluster to retrieve all versions of a specific work. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `results` | `query` | no | `integer` | n/a | The number of search results to return per page. |
| `as_sdt` | `query` | no | `string` | n/a | Advanced filter for specific document types or legal jurisdictions. E.g., '7' to include patents. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `filter` | `query` | no | `string` | n/a | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. |
| `as_vis` | `query` | no | `string` | n/a | Controls whether citations are included in the results: 1 = exclude, 0 (default) = include. |
| `as_rr` | `query` | no | `string` | n/a | Controls whether to show only review articles (topic overviews or discussions of the searched works/authors). Set to 1 to enable the filter, or 0 (default) to return all results. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `search`

- Method: `GET`
- Path: `/api/v1/google/search`
- Summary: Search SERP
- Description: Get Google search SERP data, including organic results, ads, and knowledge panels, for keyword tracking and SERP analysis across markets.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `cr` | `query` | no | `string` | n/a | Limits results to search results from specific countries. Format: 'countryXX'. See <a href="/reference/google-cr-countries">Google CR Countries</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `location` | `query` | no | `string` | n/a | The textual location name (e.g., 'New York, NY') to localize the search results. |
| `ludocid` | `query` | no | `string` | n/a | Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it. |
| `lsig` | `query` | no | `string` | n/a | Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `kgmid` | `query` | no | `string` | n/a | Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `si` | `query` | no | `string` | n/a | Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `ibp` | `query` | no | `string` | n/a | Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `uds` | `query` | no | `string` | n/a | Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |
| `filter` | `query` | no | `string` | n/a | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `searchLight`

- Method: `GET`
- Path: `/api/v1/google/search/light`
- Summary: Light Search SERP
- Description: Get Google light Search SERP data, including essential result data, for high-volume monitoring and fast rank checks.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `cr` | `query` | no | `string` | n/a | Limits results to search results from specific countries. Format: 'countryXX'. See <a href="/reference/google-cr-countries">Google CR Countries</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `location` | `query` | no | `string` | n/a | The textual location name (e.g., 'New York, NY') to localize the search results. |
| `ludocid` | `query` | no | `string` | n/a | Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it. |
| `lsig` | `query` | no | `string` | n/a | Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `kgmid` | `query` | no | `string` | n/a | Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `si` | `query` | no | `string` | n/a | Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `ibp` | `query` | no | `string` | n/a | Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `uds` | `query` | no | `string` | n/a | Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |
| `filter` | `query` | no | `string` | n/a | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `searchMobile`

- Method: `GET`
- Path: `/api/v1/google/search/mobile`
- Summary: Mobile Search SERP
- Description: Get Google mobile Search SERP data, including mobile-specific layouts and result features, for mobile SEO analysis and ranking checks.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Search (e.g., 'coffee shops', 'how to bake a cake'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `cr` | `query` | no | `string` | n/a | Limits results to search results from specific countries. Format: 'countryXX'. See <a href="/reference/google-cr-countries">Google CR Countries</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `location` | `query` | no | `string` | n/a | The textual location name (e.g., 'New York, NY') to localize the search results. |
| `ludocid` | `query` | no | `string` | n/a | Google local business CID (place identifier). Used to target a specific Google Business Profile / local listing. Advanced parameter — if you don’t know it, you can omit it. |
| `lsig` | `query` | no | `string` | n/a | Signature parameter (lsig) sometimes required for certain Knowledge Graph / local map view features. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `kgmid` | `query` | no | `string` | n/a | Knowledge Graph entity/listing ID (KGMID) used to retrieve details for a specific entity. This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `si` | `query` | no | `string` | n/a | Cached search context parameter (si) used to reproduce specific Google search result views/context (e.g. some Knowledge Graph tabs). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `ibp` | `query` | no | `string` | n/a | Parameter (ibp) used to control certain Google UI expansions or rendering modes (commonly in local/business result views). This is an advanced technical parameter — if you’re not familiar with it, you can leave it empty. |
| `uds` | `query` | no | `string` | n/a | Advanced filter token (uds) used for specific Google search sub-filters. This is an advanced technical parameter, usually provided by Google in filter options/results — if you’re not familiar with it, you can leave it empty. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |
| `filter` | `query` | no | `string` | n/a | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `shoppingSearch`

- Method: `GET`
- Path: `/api/v1/google/shopping/search`
- Summary: Shopping Search
- Description: Get Google shopping Search data, including product listings, prices, and merchants, for pricing research and catalog monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The shopping search query (e.g., 'iPhone 15', 'running shoes'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `shoprs` | `query` | no | `string` | n/a | A unique ID used to apply specific shopping filters. Usually obtained from previous response. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `shortsSearch`

- Method: `GET`
- Path: `/api/v1/google/shorts/search`
- Summary: Shorts Search
- Description: Get Google shorts Search data, including video metadata and rankings, for short-form content tracking and trend analysis.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Shorts (e.g., 'cooking tips', 'travel hacks'). |
| `start` | `query` | no | `integer` | n/a | The result offset to skip a specific number of entries (e.g., set to 12 to skip the first 12 results). |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `TrendsAutocomplete`

- Method: `GET`
- Path: `/api/v1/google/trends/autocomplete`
- Summary: Trends Autocomplete
- Description: Get Google trends Autocomplete data, including topic IDs, for trend discovery and topic expansion.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query to get trending autocomplete suggestions for (e.g., 'artificial'). |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `TrendsSearch`

- Method: `GET`
- Path: `/api/v1/google/trends/search`
- Summary: Trends Search
- Description: Get Google trends Search data, including interest over time, geo breakdowns, and related queries, for demand analysis and seasonal trend monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search term or topic ID to analyze in Google Trends (e.g., 'iPhone', '/m/027lnzs' for Bitcoin). You can provide up to 5 terms separated by commas for comparisons. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `geo` | `query` | no | `string` | n/a | The geographic location code to filter trends (e.g., 'US', 'GB'). Omit for worldwide trends. See <a href="/reference/google-trends-locations">Google Trends Locations</a>. |
| `region` | `query` | no | `string` | n/a | Refines results for region charts. Supported values: 'COUNTRY', 'REGION', 'DMA', 'CITY'. |
| `data_type` | `query` | no | `string` | n/a | The type of trend data to retrieve. Supported values: 'TIMESERIES' (Interest over time), 'GEO_MAP' (Breakdown by region). |
| `tz` | `query` | no | `integer` | n/a | Time zone offset in minutes (e.g., '420' for PDT). Range: -1439 to 1439. |
| `cat` | `query` | no | `string` | n/a | The search category code (e.g., '0' for all categories). |
| `gprop` | `query` | no | `string` | n/a | The Google property to filter trends. Supported values: 'images', 'news', 'froogle' (Shopping), 'youtube'. |
| `date` | `query` | no | `string` | n/a | Date range filter for the search. Supports predefined values (now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all) and custom ranges: yyyy-mm-dd yyyy-mm-dd (e.g. 2021-10-15 2022-05-25) or hourly yyyy-mm-ddThh yyyy-mm-ddThh within 1 week (e.g. 2022-05-19T10 2022-05-24T22, based on tz). |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `TrendsTrendingNow`

- Method: `GET`
- Path: `/api/v1/google/trends/trending-now`
- Summary: Trends Trending Now
- Description: Get Google trends Trending Now data, including latest trending topics, region and time-window filters, and volume indicators, for breaking-trend monitoring and editorial planning.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `geo` | `query` | yes | `string` | n/a | The geographic location code to retrieve real-time trends for (e.g., 'US' for United States). Default is 'US'. |
| `hours` | `query` | no | `string` | n/a | Time window for trending topics. Supported values: '4' (past 4 hours), '24' (past 24 hours), '48' (past 48 hours), '168' (past 7 days). |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en'). |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response

## `videosSearch`

- Method: `GET`
- Path: `/api/v1/google/videos/search`
- Summary: Video Search
- Description: Get Google video Search data, including titles, sources, and dates, for video SEO and content monitoring.
- Tags: `Google`

### Parameters

| Name | In | Required | Type | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `query` | `query` | yes | `string` | n/a | The search query for Google Videos (e.g., 'coding tutorial', 'movie trailers'). |
| `page` | `query` | no | `integer` | n/a | The results page number. Use 0 for the first page, 1 for the second, and so on. |
| `html` | `query` | no | `boolean` | n/a | Set to true to return the raw HTML of the Google search results page alongside the structured data. |
| `country` | `query` | no | `string` | n/a | Set the target country code (e.g., 'us', 'uk') to localize results. See <a href="/reference/google-countries">Google Countries</a>. |
| `domain` | `query` | no | `string` | n/a | The Google domain to use for the search (e.g., 'google.com', 'google.co.uk'). See <a href="/reference/google-domains">Google Domains</a>. |
| `language` | `query` | no | `string` | n/a | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See <a href="/reference/google-language">Google Language</a>. |
| `lr` | `query` | no | `string` | n/a | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See <a href="/reference/google-lr-language">Google LR Language</a>. |
| `uule` | `query` | no | `string` | n/a | Encoded location string (UULE) used to precisely localize Google search results. This is an advanced/technical parameter — if you’re not familiar with it, you can leave it empty and omit it. |
| `tbs` | `query` | no | `string` | n/a | Advanced search filter parameter (tbs) used to apply Google result filters (e.g. time range). This is an advanced parameter — if you’re not familiar with it, you can leave it empty. |
| `safe` | `query` | no | `string` | n/a | SafeSearch filter setting. Set to 'active' to filter adult content, or 'off' to disable it. |
| `nfpr` | `query` | no | `string` | n/a | Controls Google's auto-correction. Set to '1' to exclude corrected results, '0' to include them. |
| `result_time` | `query` | no | `string` | n/a | Filter results by publication time (e.g., 'qdr:d' for past 24 hours, 'qdr:w' for past week). |

### Request body

No request body.

### Responses

- `401`: Authentication failed: API Key is invalid or missing
- `403`: Access denied: Insufficient credits or quota exceeded
- `500`: Internal server error or upstream service exception
- `default`: default response


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)