{
  "data": {
    "id": "eXvA48Otce5fOTJ2t",
    "actId": "nFJndFXA5zjCTuudP",
    "userId": "ZscMwFR5H7eCtWtyh",
    "startedAt": "2026-11-02T09:33:18.941Z",
    "finishedAt": "2026-11-02T09:33:23.102Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "API"
    },
    "stats": {
      "durationMillis": 4098,
      "runTimeSecs": 4.098,
      "computeUnits": 0.004553333333333334,
      "imageSizeBytes": 230024192
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Google Search Results Scraper input\",\n  \"description\": \"Use this to search Google the same way you normally would - for example, look for <code>cute cats</code>. Use a new line for each query. \\n Click &#9655; <strong>Start</strong> to begin the scrape. If you need guidance, follow <a href='https://blog.apify.com/unofficial-google-search-api-from-apify-22a20537a951/#how-to-scrape-google-search-pages' target='_blank' rel='noopener'>this tutorial</a>.<br><br><i>Note: usage and costs are calculated based on the number of pages scraped.</i>\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"queries\": {\n      \"title\": \"Search term(s)\",\n      \"type\": \"string\",\n      \"description\": \"Use regular search words or enter Google Search URLs. You can also apply [advanced Google search techniques](https://blog.apify.com/how-to-scrape-google-like-a-pro/), such as <code>AI site:twitter.com</code> or <code>javascript OR python</code>. You can also define selected search filters as separate fields below (in the <code>Advanced search filters</code> section). Just ensure that your queries do not exceed 32 words to comply with Google Search limits.\",\n      \"prefill\": \"What are the top 5 CRM tools\",\n      \"example\": \"best SEO tools\\napify web scraping\",\n      \"editor\": \"textarea\",\n      \"pattern\": \"[^\\\\s]+\"\n    },\n    \"maxPagesPerQuery\": {\n      \"title\": \"Max pages per search\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of pages to scrape per search query. Each page contains approximately 10 results.\",\n      \"prefill\": 1,\n      \"example\": 5,\n      \"minimum\": 1\n    },\n    \"aiOverview\": {\n      \"title\": \"⏩ Add-on: Google AI Overview ($)\",\n      \"description\": \"Get the complete AI Overview whenever Google shows one for your query - handy when the short snippet isn't enough. May take slightly longer than a standard run, and works best on queries likely to trigger an AI Overview. Costs extra per captured AI Overview - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"scrapeFullAiOverview\": false\n      },\n      \"example\": {\n        \"scrapeFullAiOverview\": true\n      },\n      \"properties\": {\n        \"scrapeFullAiOverview\": {\n          \"title\": \"⏩ Add-on: Google AI Overview ($)\",\n          \"description\": \"Turn on to capture the full AI Overview whenever one appears.\",\n          \"type\": \"boolean\"\n        }\n      },\n      \"sectionCaption\": \"🤖 Add-on: AI search visibility ($)\",\n      \"sectionDescription\": \"Track how your brand shows up in AI answers, not just classic search results. Turn on the engines you care about and compare their responses side by side to do an AI visibility audit.<br><br><b>Available features:</b><ul><li>Google AI Overviews</li><li>Google AI Mode</li><li>Gemini search</li><li>Perplexity AI search, including recency, related questions, and images</li><li>ChatGPT search</li></ul><b>Pricing:</b> you pay a small fee per successful result while these features are on, with bigger discounts on higher-tier plans. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your exact rate.\"\n    },\n    \"aiModeSearch\": {\n      \"title\": \"⏩ Add-on: Google AI Mode ($)\",\n      \"description\": \"See how your brand appears in Google AI Mode, Google's dedicated AI search interface on google.com (distinct from the AI Overview snippets in regular results). Great for AEO and GEO tracking. Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enableAiMode\": false\n      },\n      \"example\": {\n        \"enableAiMode\": true\n      },\n      \"properties\": {\n        \"enableAiMode\": {\n          \"title\": \"⏩ Add-on: Google AI Mode ($)\",\n          \"description\": \"Turn on to fetch Google AI Mode results for every query.\",\n          \"type\": \"boolean\"\n        }\n      }\n    },\n    \"geminiSearch\": {\n      \"title\": \"⏩ Add-on: Gemini search ($)\",\n      \"description\": \"Get an AI answer from Google Gemini (gemini.google.com), Google's standalone assistant, separate from Google Search.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enableGemini\": false\n      },\n      \"prefill\": {\n        \"enableGemini\": false\n      },\n      \"example\": {\n        \"enableGemini\": true\n      },\n      \"properties\": {\n        \"enableGemini\": {\n          \"title\": \"⏩ Add-on: Gemini search ($)\",\n          \"description\": \"Turn on to fetch a Gemini answer for every query.\",\n          \"type\": \"boolean\"\n        }\n      }\n    },\n    \"perplexitySearch\": {\n      \"title\": \"⏩ Add-on: Perplexity AI search ($)\",\n      \"description\": \"Get AI answers and citations from Perplexity's Sonar model.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enablePerplexity\": false,\n        \"returnImages\": false,\n        \"returnRelatedQuestions\": false\n      },\n      \"prefill\": {\n        \"enablePerplexity\": false,\n        \"returnImages\": false,\n        \"returnRelatedQuestions\": false\n      },\n      \"example\": {\n        \"enablePerplexity\": true,\n        \"returnImages\": false,\n        \"returnRelatedQuestions\": true\n      },\n      \"properties\": {\n        \"enablePerplexity\": {\n          \"title\": \"⏩ Add-on: Perplexity AI search ($)\",\n          \"description\": \"Turn on to fetch a Perplexity answer for every query.\",\n          \"type\": \"boolean\"\n        },\n        \"searchRecency\": {\n          \"title\": \"Search recency\",\n          \"type\": \"string\",\n          \"enum\": [\n            \"day\",\n            \"week\",\n            \"month\",\n            \"year\"\n          ],\n          \"description\": \"Filter search results based on their recency.\"\n        },\n        \"returnImages\": {\n          \"title\": \"Include images in Perplexity AI answers\",\n          \"description\": \"Include relevant images in Perplexity's answer.\",\n          \"type\": \"boolean\"\n        },\n        \"returnRelatedQuestions\": {\n          \"title\": \"Include related questions in Perplexity AI answers\",\n          \"description\": \"Include follow-up questions related to your query.\",\n          \"type\": \"boolean\"\n        }\n      }\n    },\n    \"chatGptSearch\": {\n      \"title\": \"⏩ Add-on: ChatGPT search ($)\",\n      \"description\": \"Get AI answers from OpenAI's search model.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enableChatGpt\": false\n      },\n      \"prefill\": {\n        \"enableChatGpt\": false\n      },\n      \"example\": {\n        \"enableChatGpt\": true\n      },\n      \"properties\": {\n        \"enableChatGpt\": {\n          \"title\": \"⏩ Add-on: ChatGPT search ($)\",\n          \"description\": \"Turn on to fetch a ChatGPT answer for every query.\",\n          \"type\": \"boolean\"\n        }\n      }\n    },\n    \"copilotSearch\": {\n      \"title\": \"⏩ Add-on: Microsoft Copilot search ($)\",\n      \"description\": \"Get AI answers from Microsoft Copilot.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enableCopilot\": false\n      },\n      \"prefill\": {\n        \"enableCopilot\": false\n      },\n      \"example\": {\n        \"enableCopilot\": true\n      },\n      \"properties\": {\n        \"enableCopilot\": {\n          \"title\": \"⏩ Add-on: Microsoft Copilot search ($)\",\n          \"description\": \"Turn on to fetch a Microsoft Copilot answer for every query.\",\n          \"type\": \"boolean\"\n        },\n        \"copilotSearchMode\": {\n          \"title\": \"Microsoft Copilot search mode\",\n          \"type\": \"string\",\n          \"enum\": [\n            \"chat\",\n            \"reasoning\",\n            \"smart\",\n            \"study\"\n          ],\n          \"description\": \"Select which Microsoft Copilot chat mode to use for the request:<br><br>• <b>chat</b> - Standard conversational mode. Best for general queries and quick answers.<br>• <b>reasoning</b> - Deep analytical mode. Best for complex questions requiring logical depth.<br>• <b>smart</b> - Balanced mode combining speed and reasoning for most use cases.<br>• <b>study</b> - Detailed explanatory mode. Best for educational and research-oriented prompts.\"\n        }\n      }\n    },\n    \"maximumLeadsEnrichmentRecords\": {\n      \"title\": \"⏩ Add-on: Extract business leads information: max leads per domain ($)\",\n      \"description\": \"Maximum number of lead records to scrape per domain found. Set to 0 (the default) to disable leads enrichment.<br><br>⚠️ This returns personal data. You're responsible for having a legal basis to collect and use it under privacy laws.<br><br>⚠️ <b>This value is a multiplier</b> - see the section description above for how costs are calculated.\",\n      \"type\": \"integer\",\n      \"default\": 0,\n      \"minimum\": 0,\n      \"prefill\": 0,\n      \"example\": 5,\n      \"sectionCaption\": \"👥 Add-on: Business leads enrichment ($)\",\n      \"sectionDescription\": \"Add contact and company details for the people behind each domain you find.<br><br><b>What you get:</b> name, work email, phone number, job title, and LinkedIn profile, plus company data like industry and size.<br><br>Find the leads tied to each search result in the <b>'Organic results'</b> tab.<br><br>⚠️ <b>How costs work:</b> the number you request is <b>per domain found</b>. Requesting 10 leads across 1,000 domains attempts 10,000 leads. You only pay for leads actually found. Higher-tier plans mean bigger discounts - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your exact rate.<br><br><b>Please be aware:</b> enrichment runs on every domain in your results - news sites, directories, and comparison sites included, not just company websites.\"\n    },\n    \"leadsEnrichmentDepartments\": {\n      \"title\": \"Lead departments\",\n      \"description\": \"Include only leads from specific departments, such as Sales, Marketing, or C-suite. Only applies when business leads enrichment (<code>maximumLeadsEnrichmentRecords</code>) is enabled. Note that some job titles may be miscategorized.\",\n      \"type\": \"array\",\n      \"editor\": \"select\",\n      \"example\": [\n        \"marketing\",\n        \"sales\"\n      ],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"c_suite\",\n          \"product\",\n          \"engineering_technical\",\n          \"design\",\n          \"education\",\n          \"finance\",\n          \"human_resources\",\n          \"information_technology\",\n          \"legal\",\n          \"marketing\",\n          \"medical_health\",\n          \"operations\",\n          \"sales\",\n          \"consulting\"\n        ],\n        \"enumTitles\": [\n          \"C-Suite\",\n          \"Product\",\n          \"Engineering & Technical\",\n          \"Design\",\n          \"Education\",\n          \"Finance\",\n          \"Human Resources\",\n          \"Information Technology\",\n          \"Legal\",\n          \"Marketing\",\n          \"Medical & Health\",\n          \"Operations\",\n          \"Sales\",\n          \"Consulting\"\n        ]\n      }\n    },\n    \"verifyLeadsEnrichmentEmails\": {\n      \"title\": \"⏩ Add-on: Email verification ($)\",\n      \"type\": \"boolean\",\n      \"description\": \"Check whether each lead's email is actually deliverable before you reach out. Adds an <code>emailVerification</code> object to every lead with the result and a quality score.<br><br><b>Charged (decisive results):</b> valid (<code>ok</code>), invalid, and disposable addresses.<br><b>Not charged:</b> catch-all, unknown, and error results.<br><br>⚠️ Requires business leads enrichment to be enabled.\",\n      \"default\": false,\n      \"example\": true\n    },\n    \"linkProspecting\": {\n      \"title\": \"🔗 Add-on: Link prospecting tool ($)\",\n      \"description\": \"<b>Charged events:</b> <code>search-page-scraped</code> (base, per Google SERP page), <code>website-content-scraped</code>, <code>lead-scraped</code> (up to 5 contacts per domain, marketing and C-suite roles only), and one event per enabled AI engine query. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for rates.<br><br>⚠️ If business leads enrichment is also active, domains that appear in both organic results and AI citations may be enriched by both features and charged for leads separately.<br><br>⚠️ If the Full website content add-on is also active, pages shared between the two add-ons are scraped and charged only once.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"sectionCaption\": \"🔗 Add-on: Link prospecting tool ($)\",\n      \"sectionDescription\": \"Find websites that cover your topic but don't yet mention your brand, then get outreach contacts for link building.<br><br><b>How it works:</b> checks every URL cited in Google Search results, and any other AI engines enabled in the AI search visibility section above.<br><br><b>To enable:</b> set <b>Brand name</b> below. Leave it empty to skip this add-on.<br><br><b>Where to find results:</b> in a separate <b>Link prospecting tool</b> dataset.\",\n      \"properties\": {\n        \"brandName\": {\n          \"title\": \"Brand name\",\n          \"type\": \"string\",\n          \"editor\": \"textfield\",\n          \"description\": \"Your brand name to search for on every cited page. Setting this field enables the Link prospecting tool add-on. Pages where this name is found are saved with <code>isBrandMentionedInSource: true</code>. Pages where it is absent are saved with <code>isBrandMentionedInSource: false</code> and enriched with outreach contacts. Leave empty to disable this add-on.\",\n          \"example\": \"Apify\"\n        },\n        \"ownDomains\": {\n          \"title\": \"Own domains\",\n          \"type\": \"array\",\n          \"description\": \"List of domains belonging to your brand. These are excluded from Link prospecting tool results - you don't need to find outreach contacts on your own site. Subdomains are also excluded when their root domain matches.\",\n          \"example\": [\n            \"mycompany.com\",\n            \"blog.mycompany.com\"\n          ],\n          \"editor\": \"stringList\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        },\n        \"ignoredDomains\": {\n          \"title\": \"Ignored domains\",\n          \"type\": \"array\",\n          \"description\": \"List of domains to exclude from Link prospecting tool (e.g. competitor sites or well-known directories). Subdomains are also excluded when their root domain matches.\",\n          \"example\": [\n            \"competitor.com\",\n            \"wikipedia.org\"\n          ],\n          \"editor\": \"stringList\",\n          \"items\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    },\n    \"websiteContentScraper\": {\n      \"title\": \"🔍 Add-on: Full website content ($)\",\n      \"description\": \"Get the full page content of every organic result as <code>websiteContent.text</code>, plus <code>websiteContent.markdown</code> when the page converts cleanly (<code>null</code> otherwise). Uses the Website Content Crawler. Charged event: <code>website-content-scraped</code>, per successfully scraped page. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for rates.<br><br>⚠️ If the Link prospecting tool add-on is also active, pages shared between the two add-ons are scraped and charged only once.\",\n      \"type\": \"object\",\n      \"editor\": \"schemaBased\",\n      \"default\": {\n        \"enable\": false\n      },\n      \"example\": {\n        \"enable\": true\n      },\n      \"properties\": {\n        \"enable\": {\n          \"title\": \"🔍 Add-on: Full website content ($)\",\n          \"description\": \"Turn on to scrape each organic result page and attach its content to the result item.\",\n          \"type\": \"boolean\"\n        }\n      },\n      \"sectionCaption\": \"🔍 Add-on: Full website content ($)\",\n      \"sectionDescription\": \"Pull the full page content behind your organic results so you can run content gap analysis, competitive audits, and SERP benchmarking.\"\n    },\n    \"focusOnPaidAds\": {\n      \"title\": \"📢 Add-on: Paid results (ads) extraction ($)\",\n      \"type\": \"boolean\",\n      \"description\": \"Turn on to capture the Google Ads shown for each query.\",\n      \"default\": false,\n      \"example\": true,\n      \"sectionCaption\": \"📢 Add-on: Paid results (ads) extraction ($)\",\n      \"sectionDescription\": \"Capture the Google Ads running for your keywords to benchmark competitor messaging and spot new campaigns.<br><br><b>How it works:</b> uses an ad-specialized proxy with up to 3 retries per query to detect ads reliably. Best for queries likely to show ads, skip it for general scraping.<br><br><b>Pricing:</b> costs extra per search page even if no ads are found. The value is in the complete check. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.\"\n    },\n    \"countryCode\": {\n      \"sectionCaption\": \"Location and language\",\n      \"title\": \"Country\",\n      \"type\": \"string\",\n      \"description\": \"Country of the Google results, passed to Google Search as the <code>gl</code> URL query parameter. By default, the Actor uses United States. For Google Search URLs, the URL's own <code>gl</code> parameter or domain is used instead. The country is also sent to the LLM search engines. ChatGPT, Gemini, Copilot and AI Mode do not support every country; if the selected one is not available, that engine returns no result.\",\n      \"editor\": \"select\",\n      \"example\": \"us\",\n      \"enum\": [\n        \"\",\n        \"af\",\n        \"al\",\n        \"dz\",\n        \"as\",\n        \"ad\",\n        \"ao\",\n        \"ai\",\n        \"aq\",\n        \"ag\",\n        \"ar\",\n        \"am\",\n        \"aw\",\n        \"au\",\n        \"at\",\n        \"az\",\n        \"bs\",\n        \"bh\",\n        \"bd\",\n        \"bb\",\n        \"by\",\n        \"be\",\n        \"bz\",\n        \"bj\",\n        \"bm\",\n        \"bt\",\n        \"bo\",\n        \"ba\",\n        \"bw\",\n        \"bv\",\n        \"br\",\n        \"io\",\n        \"bn\",\n        \"bg\",\n        \"bf\",\n        \"bi\",\n        \"kh\",\n        \"cm\",\n        \"ca\",\n        \"cv\",\n        \"ky\",\n        \"cf\",\n        \"td\",\n        \"cl\",\n        \"cn\",\n        \"cx\",\n        \"cc\",\n        \"co\",\n        \"km\",\n        \"cg\",\n        \"cd\",\n        \"ck\",\n        \"cr\",\n        \"ci\",\n        \"hr\",\n        \"cu\",\n        \"cy\",\n        \"cz\",\n        \"dk\",\n        \"dj\",\n        \"dm\",\n        \"do\",\n        \"ec\",\n        \"eg\",\n        \"sv\",\n        \"gq\",\n        \"er\",\n        \"ee\",\n        \"et\",\n        \"fk\",\n        \"fo\",\n        \"fj\",\n        \"fi\",\n        \"fr\",\n        \"gf\",\n        \"pf\",\n        \"tf\",\n        \"ga\",\n        \"gm\",\n        \"ge\",\n        \"de\",\n        \"gh\",\n        \"gi\",\n        \"gr\",\n        \"gl\",\n        \"gd\",\n        \"gp\",\n        \"gu\",\n        \"gt\",\n        \"gn\",\n        \"gw\",\n        \"gy\",\n        \"ht\",\n        \"hm\",\n        \"va\",\n        \"hn\",\n        \"hk\",\n        \"hu\",\n        \"is\",\n        \"in\",\n        \"id\",\n        \"ir\",\n        \"iq\",\n        \"ie\",\n        \"il\",\n        \"it\",\n        \"jm\",\n        \"jp\",\n        \"jo\",\n        \"kz\",\n        \"ke\",\n        \"ki\",\n        \"kp\",\n        \"kr\",\n        \"kw\",\n        \"kg\",\n        \"la\",\n        \"lv\",\n        \"lb\",\n        \"ls\",\n        \"lr\",\n        \"ly\",\n        \"li\",\n        \"lt\",\n        \"lu\",\n        \"mo\",\n        \"mk\",\n        \"mg\",\n        \"mw\",\n        \"my\",\n        \"mv\",\n        \"ml\",\n        \"mt\",\n        \"mh\",\n        \"mq\",\n        \"mr\",\n        \"mu\",\n        \"yt\",\n        \"mx\",\n        \"fm\",\n        \"md\",\n        \"mc\",\n        \"mn\",\n        \"me\",\n        \"ms\",\n        \"ma\",\n        \"mz\",\n        \"mm\",\n        \"na\",\n        \"nr\",\n        \"np\",\n        \"nl\",\n        \"an\",\n        \"nc\",\n        \"nz\",\n        \"ni\",\n        \"ne\",\n        \"ng\",\n        \"nu\",\n        \"nf\",\n        \"mp\",\n        \"no\",\n        \"om\",\n        \"pk\",\n        \"pw\",\n        \"ps\",\n        \"pa\",\n        \"pg\",\n        \"py\",\n        \"pe\",\n        \"ph\",\n        \"pn\",\n        \"pl\",\n        \"pt\",\n        \"pr\",\n        \"qa\",\n        \"re\",\n        \"ro\",\n        \"ru\",\n        \"rw\",\n        \"sh\",\n        \"kn\",\n        \"lc\",\n        \"pm\",\n        \"vc\",\n        \"ws\",\n        \"sm\",\n        \"st\",\n        \"sa\",\n        \"sn\",\n        \"rs\",\n        \"sc\",\n        \"sl\",\n        \"sg\",\n        \"sk\",\n        \"si\",\n        \"sb\",\n        \"so\",\n        \"za\",\n        \"gs\",\n        \"es\",\n        \"lk\",\n        \"sd\",\n        \"sr\",\n        \"sj\",\n        \"sz\",\n        \"se\",\n        \"ch\",\n        \"sy\",\n        \"tw\",\n        \"tj\",\n        \"tz\",\n        \"th\",\n        \"tl\",\n        \"tg\",\n        \"tk\",\n        \"to\",\n        \"tt\",\n        \"tn\",\n        \"tr\",\n        \"tm\",\n        \"tc\",\n        \"tv\",\n        \"ug\",\n        \"ua\",\n        \"ae\",\n        \"gb\",\n        \"us\",\n        \"um\",\n        \"uy\",\n        \"uz\",\n        \"vu\",\n        \"ve\",\n        \"vn\",\n        \"vg\",\n        \"vi\",\n        \"wf\",\n        \"eh\",\n        \"ye\",\n        \"zm\",\n        \"zw\"\n      ],\n      \"enumTitles\": [\n        \"Default (United States)\",\n        \"Afghanistan\",\n        \"Albania\",\n        \"Algeria\",\n        \"American Samoa\",\n        \"Andorra\",\n        \"Angola\",\n        \"Anguilla\",\n        \"Antarctica\",\n        \"Antigua and Barbuda\",\n        \"Argentina\",\n        \"Armenia\",\n        \"Aruba\",\n        \"Australia\",\n        \"Austria\",\n        \"Azerbaijan\",\n        \"Bahamas\",\n        \"Bahrain\",\n        \"Bangladesh\",\n        \"Barbados\",\n        \"Belarus\",\n        \"Belgium\",\n        \"Belize\",\n        \"Benin\",\n        \"Bermuda\",\n        \"Bhutan\",\n        \"Bolivia\",\n        \"Bosnia and Herzegovina\",\n        \"Botswana\",\n        \"Bouvet Island\",\n        \"Brazil\",\n        \"British Indian Ocean Territory\",\n        \"Brunei Darussalam\",\n        \"Bulgaria\",\n        \"Burkina Faso\",\n        \"Burundi\",\n        \"Cambodia\",\n        \"Cameroon\",\n        \"Canada\",\n        \"Cape Verde\",\n        \"Cayman Islands\",\n        \"Central African Republic\",\n        \"Chad\",\n        \"Chile\",\n        \"China\",\n        \"Christmas Island\",\n        \"Cocos (Keeling) Islands\",\n        \"Colombia\",\n        \"Comoros\",\n        \"Congo\",\n        \"Congo, the Democratic Republic of the\",\n        \"Cook Islands\",\n        \"Costa Rica\",\n        \"Cote D'ivoire\",\n        \"Croatia\",\n        \"Cuba\",\n        \"Cyprus\",\n        \"Czech Republic\",\n        \"Denmark\",\n        \"Djibouti\",\n        \"Dominica\",\n        \"Dominican Republic\",\n        \"Ecuador\",\n        \"Egypt\",\n        \"El Salvador\",\n        \"Equatorial Guinea\",\n        \"Eritrea\",\n        \"Estonia\",\n        \"Ethiopia\",\n        \"Falkland Islands (Malvinas)\",\n        \"Faroe Islands\",\n        \"Fiji\",\n        \"Finland\",\n        \"France\",\n        \"French Guiana\",\n        \"French Polynesia\",\n        \"French Southern Territories\",\n        \"Gabon\",\n        \"Gambia\",\n        \"Georgia\",\n        \"Germany\",\n        \"Ghana\",\n        \"Gibraltar\",\n        \"Greece\",\n        \"Greenland\",\n        \"Grenada\",\n        \"Guadeloupe\",\n        \"Guam\",\n        \"Guatemala\",\n        \"Guinea\",\n        \"Guinea-Bissau\",\n        \"Guyana\",\n        \"Haiti\",\n        \"Heard Island and Mcdonald Islands\",\n        \"Holy See (Vatican City State)\",\n        \"Honduras\",\n        \"Hong Kong\",\n        \"Hungary\",\n        \"Iceland\",\n        \"India\",\n        \"Indonesia\",\n        \"Iran, Islamic Republic of\",\n        \"Iraq\",\n        \"Ireland\",\n        \"Israel\",\n        \"Italy\",\n        \"Jamaica\",\n        \"Japan\",\n        \"Jordan\",\n        \"Kazakhstan\",\n        \"Kenya\",\n        \"Kiribati\",\n        \"Korea, Democratic People's Republic of\",\n        \"Korea, Republic of\",\n        \"Kuwait\",\n        \"Kyrgyzstan\",\n        \"Lao People's Democratic Republic\",\n        \"Latvia\",\n        \"Lebanon\",\n        \"Lesotho\",\n        \"Liberia\",\n        \"Libyan Arab Jamahiriya\",\n        \"Liechtenstein\",\n        \"Lithuania\",\n        \"Luxembourg\",\n        \"Macao\",\n        \"Macedonia, the Former Yugoslav Republic of\",\n        \"Madagascar\",\n        \"Malawi\",\n        \"Malaysia\",\n        \"Maldives\",\n        \"Mali\",\n        \"Malta\",\n        \"Marshall Islands\",\n        \"Martinique\",\n        \"Mauritania\",\n        \"Mauritius\",\n        \"Mayotte\",\n        \"Mexico\",\n        \"Micronesia, Federated States of\",\n        \"Moldova, Republic of\",\n        \"Monaco\",\n        \"Mongolia\",\n        \"Montenegro\",\n        \"Montserrat\",\n        \"Morocco\",\n        \"Mozambique\",\n        \"Myanmar\",\n        \"Namibia\",\n        \"Nauru\",\n        \"Nepal\",\n        \"Netherlands\",\n        \"Netherlands Antilles\",\n        \"New Caledonia\",\n        \"New Zealand\",\n        \"Nicaragua\",\n        \"Niger\",\n        \"Nigeria\",\n        \"Niue\",\n        \"Norfolk Island\",\n        \"Northern Mariana Islands\",\n        \"Norway\",\n        \"Oman\",\n        \"Pakistan\",\n        \"Palau\",\n        \"Palestinian Territory, Occupied\",\n        \"Panama\",\n        \"Papua New Guinea\",\n        \"Paraguay\",\n        \"Peru\",\n        \"Philippines\",\n        \"Pitcairn\",\n        \"Poland\",\n        \"Portugal\",\n        \"Puerto Rico\",\n        \"Qatar\",\n        \"Reunion\",\n        \"Romania\",\n        \"Russian Federation\",\n        \"Rwanda\",\n        \"Saint Helena\",\n        \"Saint Kitts and Nevis\",\n        \"Saint Lucia\",\n        \"Saint Pierre and Miquelon\",\n        \"Saint Vincent and the Grenadines\",\n        \"Samoa\",\n        \"San Marino\",\n        \"Sao Tome and Principe\",\n        \"Saudi Arabia\",\n        \"Senegal\",\n        \"Serbia\",\n        \"Seychelles\",\n        \"Sierra Leone\",\n        \"Singapore\",\n        \"Slovakia\",\n        \"Slovenia\",\n        \"Solomon Islands\",\n        \"Somalia\",\n        \"South Africa\",\n        \"South Georgia and the South Sandwich Islands\",\n        \"Spain\",\n        \"Sri Lanka\",\n        \"Sudan\",\n        \"Suriname\",\n        \"Svalbard and Jan Mayen\",\n        \"Swaziland\",\n        \"Sweden\",\n        \"Switzerland\",\n        \"Syrian Arab Republic\",\n        \"Taiwan, Province of China\",\n        \"Tajikistan\",\n        \"Tanzania, United Republic of\",\n        \"Thailand\",\n        \"Timor-Leste\",\n        \"Togo\",\n        \"Tokelau\",\n        \"Tonga\",\n        \"Trinidad and Tobago\",\n        \"Tunisia\",\n        \"Turkey\",\n        \"Turkmenistan\",\n        \"Turks and Caicos Islands\",\n        \"Tuvalu\",\n        \"Uganda\",\n        \"Ukraine\",\n        \"United Arab Emirates\",\n        \"United Kingdom\",\n        \"United States\",\n        \"United States Minor Outlying Islands\",\n        \"Uruguay\",\n        \"Uzbekistan\",\n        \"Vanuatu\",\n        \"Venezuela\",\n        \"Viet Nam\",\n        \"Virgin Islands, British\",\n        \"Virgin Islands, U.S.\",\n        \"Wallis and Futuna\",\n        \"Western Sahara\",\n        \"Yemen\",\n        \"Zambia\",\n        \"Zimbabwe\"\n      ]\n    },\n    \"searchLanguage\": {\n      \"title\": \"Search language\",\n      \"type\": \"string\",\n      \"description\": \"Restricts search results to pages in a specific language. For example, choosing 'German' results in pages only in German. Passed to Google Search as the <code>lr</code> URL query parameter. <a href='https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list' target='_blank'>Read more here</a>.\",\n      \"default\": \"\",\n      \"example\": \"en\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"ar\",\n        \"bg\",\n        \"ca\",\n        \"cs\",\n        \"da\",\n        \"de\",\n        \"el\",\n        \"en\",\n        \"es\",\n        \"et\",\n        \"fi\",\n        \"fr\",\n        \"hr\",\n        \"hu\",\n        \"id\",\n        \"is\",\n        \"it\",\n        \"iw\",\n        \"ja\",\n        \"ko\",\n        \"lt\",\n        \"lv\",\n        \"nl\",\n        \"no\",\n        \"pl\",\n        \"pt\",\n        \"ro\",\n        \"ru\",\n        \"sk\",\n        \"sl\",\n        \"sr\",\n        \"sv\",\n        \"th\",\n        \"tr\",\n        \"uk\",\n        \"zh-CN\",\n        \"zh-TW\"\n      ],\n      \"enumTitles\": [\n        \"Default\",\n        \"Arabic\",\n        \"Bulgarian\",\n        \"Catalan\",\n        \"Czech\",\n        \"Danish\",\n        \"German\",\n        \"Greek\",\n        \"English\",\n        \"Spanish\",\n        \"Estonian\",\n        \"Finnish\",\n        \"French\",\n        \"Croatian\",\n        \"Hungarian\",\n        \"Indonesian\",\n        \"Icelandic\",\n        \"Italian\",\n        \"Hebrew\",\n        \"Japanese\",\n        \"Korean\",\n        \"Lithuanian\",\n        \"Latvian\",\n        \"Dutch\",\n        \"Norwegian\",\n        \"Polish\",\n        \"Portuguese\",\n        \"Romanian\",\n        \"Russian\",\n        \"Slovak\",\n        \"Slovenian\",\n        \"Serbian\",\n        \"Swedish\",\n        \"Thai\",\n        \"Turkish\",\n        \"Ukrainian\",\n        \"Chinese (Simplified)\",\n        \"Chinese (Traditional)\"\n      ]\n    },\n    \"languageCode\": {\n      \"title\": \"Interface language\",\n      \"type\": \"string\",\n      \"description\": \"Language of the Google Search interface (menus, buttons, etc. - not the search results themselves). Passed to Google Search as the <code>hl</code> URL query parameter. It can still affect results on international queries when no search-language restriction (the <code>lr</code> parameter) is set. <a href='https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list' target='_blank'>Read more here</a>.\",\n      \"default\": \"\",\n      \"example\": \"en\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"\",\n        \"af\",\n        \"sq\",\n        \"sm\",\n        \"ar\",\n        \"az\",\n        \"eu\",\n        \"be\",\n        \"bn\",\n        \"bh\",\n        \"bs\",\n        \"bg\",\n        \"ca\",\n        \"zh-CN\",\n        \"zh-TW\",\n        \"hr\",\n        \"cs\",\n        \"da\",\n        \"nl\",\n        \"en\",\n        \"eo\",\n        \"et\",\n        \"fo\",\n        \"fi\",\n        \"fr\",\n        \"fy\",\n        \"gl\",\n        \"ka\",\n        \"de\",\n        \"el\",\n        \"gu\",\n        \"iw\",\n        \"hi\",\n        \"hu\",\n        \"is\",\n        \"id\",\n        \"ia\",\n        \"ga\",\n        \"it\",\n        \"ja\",\n        \"jw\",\n        \"kn\",\n        \"ko\",\n        \"la\",\n        \"lv\",\n        \"lt\",\n        \"mk\",\n        \"ms\",\n        \"ml\",\n        \"mt\",\n        \"mr\",\n        \"ne\",\n        \"no\",\n        \"nn\",\n        \"oc\",\n        \"fa\",\n        \"pl\",\n        \"pt-BR\",\n        \"pt-PT\",\n        \"pa\",\n        \"ro\",\n        \"ru\",\n        \"gd\",\n        \"sr\",\n        \"si\",\n        \"sk\",\n        \"sl\",\n        \"es\",\n        \"su\",\n        \"sw\",\n        \"sv\",\n        \"tl\",\n        \"ta\",\n        \"te\",\n        \"th\",\n        \"ti\",\n        \"tr\",\n        \"uk\",\n        \"ur\",\n        \"uz\",\n        \"vi\",\n        \"cy\",\n        \"xh\",\n        \"zu\"\n      ],\n      \"enumTitles\": [\n        \"Same as country\",\n        \"Afrikaans\",\n        \"Albanian\",\n        \"Amharic\",\n        \"Arabic\",\n        \"Azerbaijani\",\n        \"Basque\",\n        \"Belarusian\",\n        \"Bengali\",\n        \"Bihari\",\n        \"Bosnian\",\n        \"Bulgarian\",\n        \"Catalan\",\n        \"Chinese (Simplified)\",\n        \"Chinese (Traditional)\",\n        \"Croatian\",\n        \"Czech\",\n        \"Danish\",\n        \"Dutch\",\n        \"English\",\n        \"Esperanto\",\n        \"Estonian\",\n        \"Faroese\",\n        \"Finnish\",\n        \"French\",\n        \"Frisian\",\n        \"Galician\",\n        \"Georgian\",\n        \"German\",\n        \"Greek\",\n        \"Gujarati\",\n        \"Hebrew\",\n        \"Hindi\",\n        \"Hungarian\",\n        \"Icelandic\",\n        \"Indonesian\",\n        \"Interlingua\",\n        \"Irish\",\n        \"Italian\",\n        \"Japanese\",\n        \"Javanese\",\n        \"Kannada\",\n        \"Korean\",\n        \"Latin\",\n        \"Latvian\",\n        \"Lithuanian\",\n        \"Macedonian\",\n        \"Malay\",\n        \"Malayam\",\n        \"Maltese\",\n        \"Marathi\",\n        \"Nepali\",\n        \"Norwegian\",\n        \"Norwegian (Nynorsk)\",\n        \"Occitan\",\n        \"Persian\",\n        \"Polish\",\n        \"Portuguese (Brazil)\",\n        \"Portuguese (Portugal)\",\n        \"Punjabi\",\n        \"Romanian\",\n        \"Russian\",\n        \"Scots Gaelic\",\n        \"Serbian\",\n        \"Sinhalese\",\n        \"Slovak\",\n        \"Slovenian\",\n        \"Spanish\",\n        \"Sudanese\",\n        \"Swahili\",\n        \"Swedish\",\n        \"Tagalog\",\n        \"Tamil\",\n        \"Telugu\",\n        \"Thai\",\n        \"Tigrinya\",\n        \"Turkish\",\n        \"Ukrainian\",\n        \"Urdu\",\n        \"Uzbek\",\n        \"Vietnamese\",\n        \"Welsh\",\n        \"Xhosa\",\n        \"Zulu\"\n      ]\n    },\n    \"locationUule\": {\n      \"title\": \"Exact location (Google UULE parameter)\",\n      \"type\": \"string\",\n      \"description\": \"The code for the exact location for the Google search. It's passed to Google Search as the <code>uule</code> URL query parameter. You can use the <a href='https://padavvan.github.io/' target='_blank'>UULE code generator</a>. Set <b>Country</b> to the location's country, otherwise Google ignores the location. Learn more about <a href='https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search' target='_blank'>emulating local search</a>.\",\n      \"editor\": \"textfield\",\n      \"example\": \"w+CAIQICIhVW5pdGVkIFN0YXRlcyx1c2E=\"\n    },\n    \"forceExactMatch\": {\n      \"title\": \"Force exact match\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, the scraper will search for the exact phrase in the query. This is done by wrapping the query in quotes. Note that this may return fewer results. Also note that if you're using operators such as OR or AND, the whole query will be wrapped in quotes, such as <code>\\\"Windows AND macOS\\\"</code>. If you want to search for queries such as <code>\\\"Windows\\\" AND \\\"macOS\\\"</code>, you need to specify them directly in the <code>queries</code> field.\",\n      \"default\": false,\n      \"example\": true,\n      \"sectionCaption\": \"Advanced search filters\",\n      \"sectionDescription\": \"Use these filters to narrow down your search results. You can use them in combination with your search terms above. Each filter will be applied to all queries except for the ones that already contain the given filter. For example, if you have a query <code>literature site:example.com</code>, the <code>site</code> filter will not be applied to it.\"\n    },\n    \"site\": {\n      \"title\": \"Site\",\n      \"type\": \"string\",\n      \"description\": \"Limits the search to a specific site, such as: <code>site:example.com</code>. Note that the <code>site</code> filter takes precedence over the <code>relatedToSite</code> filter. If both filters are set, the <code>relatedToSite</code> filter will be ignored and not added to the search queries.\",\n      \"editor\": \"textfield\",\n      \"pattern\": \"^([\\\\w-]+\\\\.)+\\\\w+$\",\n      \"example\": \"example.com\"\n    },\n    \"relatedToSite\": {\n      \"title\": \"Related to site\",\n      \"type\": \"string\",\n      \"description\": \"Filters pages related to a specific site, such as: <code>related:example.com</code>. Note that the <code>site</code> filter takes precedence over the <code>relatedToSite</code> filter. If both filters are set, the <code>relatedToSite</code> filter will be ignored and not added to the search queries.\",\n      \"editor\": \"textfield\",\n      \"pattern\": \"^([\\\\w-]+\\\\.)+\\\\w+$\",\n      \"example\": \"example.com\"\n    },\n    \"wordsInTitle\": {\n      \"title\": \"Words in title\",\n      \"type\": \"array\",\n      \"description\": \"Filters pages with specific words in the title. The scraper uses the <code>intitle:</code> operator, even for multiple words (e.g. <code>recipe site:allrecipes.com intitle:\\\"easy apple\\\" intitle:pie</code>). There's also a <code>allintitle:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allintitle:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\",\n        \"pattern\": \"^[^\\\\s](.+[^\\\\s])*$\"\n      },\n      \"maxItems\": 32,\n      \"default\": [],\n      \"example\": [\n        \"easy\",\n        \"tutorial\"\n      ]\n    },\n    \"wordsInText\": {\n      \"title\": \"Words in text\",\n      \"type\": \"array\",\n      \"description\": \"Filters pages with specific words in the text. The scraper uses the <code>intext:</code> operator, even for multiple words (e.g. <code>cartoon site:wikipedia.com intext:cat intext:mouse</code>). There's also a <code>allintext:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allintext:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\",\n        \"pattern\": \"^[^\\\\s](.+[^\\\\s])*$\"\n      },\n      \"maxItems\": 32,\n      \"default\": [],\n      \"example\": [\n        \"artificial intelligence\"\n      ]\n    },\n    \"wordsInUrl\": {\n      \"title\": \"Words in URL\",\n      \"type\": \"array\",\n      \"description\": \"Filters pages with specific words in the URL. The scraper uses the <code>inurl:</code> operator, even for multiple words (e.g. <code>recipe site:allrecipes.com inurl:apple inurl:pie</code>). There's also a <code>allinurl:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allinurl:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\",\n        \"pattern\": \"^[^\\\\s](.+[^\\\\s])*$\"\n      },\n      \"maxItems\": 32,\n      \"default\": [],\n      \"example\": [\n        \"blog\"\n      ]\n    },\n    \"quickDateRange\": {\n      \"title\": \"Quick date range\",\n      \"type\": \"string\",\n      \"description\": \"Filters results from a specific date range. d[number] specifies the number of past days (e.g. the past 10 days can be written as d10). The same applies to hours, weeks, months, and years: h[number], w[number], m[number], y[number]. Example for the past year: 'y1' or even 'y'. The value is passed to Google Search using the <code>tbs</code> URL query parameter, prefixed with <code>qdr:</code>. You should avoid combining this filter with the <code>beforeDate</code> and <code>afterDate</code> filters to prevent conflicts.\",\n      \"editor\": \"textfield\",\n      \"pattern\": \"^[hdwmy]\\\\d*$\",\n      \"example\": \"m6\"\n    },\n    \"beforeDate\": {\n      \"title\": \"Before date\",\n      \"type\": \"string\",\n      \"description\": \"Filters results from before the specified date. Either absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `days`, `weeks`, `months`, `years`. You should avoid combining this filter with the `quickDateRange` filter to prevent conflicts.\",\n      \"editor\": \"datepicker\",\n      \"dateType\": \"absoluteOrRelative\",\n      \"pattern\": \"^(\\\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])(T[0-2]\\\\d:[0-5]\\\\d(:[0-5]\\\\d)?(\\\\.\\\\d+)?Z?)?$|^(\\\\d+)\\\\s*(minute|hour|day|week|month|year)s?$\",\n      \"example\": \"2024-12-31\"\n    },\n    \"afterDate\": {\n      \"title\": \"After date\",\n      \"type\": \"string\",\n      \"description\": \"Filters results from after the specified date. Either absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `days`, `weeks`, `months`, `years`. You should avoid combining this filter with the `quickDateRange` filter to prevent conflicts.\",\n      \"editor\": \"datepicker\",\n      \"dateType\": \"absoluteOrRelative\",\n      \"pattern\": \"^(\\\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])(T[0-2]\\\\d:[0-5]\\\\d(:[0-5]\\\\d)?(\\\\.\\\\d+)?Z?)?$|^(\\\\d+)\\\\s*(minute|hour|day|week|month|year)s?$\",\n      \"example\": \"2024-01-01\"\n    },\n    \"fileTypes\": {\n      \"title\": \"File types\",\n      \"description\": \"Filters results of specific file types using the <code>filetype:</code> operator, such as <code>filetype:pdf</code>. You can select multiple file types as well. They will be combined with the <code>OR</code> operator, for example: <code>filetype:doc OR filetype:txt</code>. If you need to use a file type that is not in the list (such as a source code file type), you can include it in your custom queries from the <code>queries</code> field, using the <code>filetype:</code> operator.\",\n      \"type\": \"array\",\n      \"editor\": \"select\",\n      \"maxItems\": 10,\n      \"example\": [\n        \"pdf\",\n        \"doc\"\n      ],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"pdf\",\n          \"csv\",\n          \"epub\",\n          \"ps\",\n          \"htm\",\n          \"html\",\n          \"xls\",\n          \"xlsx\",\n          \"ppt\",\n          \"pptx\",\n          \"doc\",\n          \"docx\",\n          \"odp\",\n          \"ods\",\n          \"odt\",\n          \"rtf\",\n          \"svg\",\n          \"tex\",\n          \"txt\",\n          \"wml\",\n          \"wap\",\n          \"xml\",\n          \"xps\",\n          \"md\",\n          \"readme\",\n          \"log\",\n          \"yml\",\n          \"yaml\",\n          \"toml\",\n          \"ipynb\",\n          \"sas\",\n          \"sql\",\n          \"rdf\",\n          \"avif\",\n          \"avi\",\n          \"mkv\",\n          \"mov\",\n          \"flv\",\n          \"asf\",\n          \"ogv\"\n        ],\n        \"enumTitles\": [\n          \"Adobe Portable Document Format (pdf)\",\n          \"Comma-Separated Values (csv)\",\n          \"Electronic Publication (epub)\",\n          \"Adobe PostScript (ps)\",\n          \"HTML (htm)\",\n          \"HTML (html)\",\n          \"Microsoft Excel (xls)\",\n          \"Microsoft Excel (xlsx)\",\n          \"Microsoft PowerPoint (ppt)\",\n          \"Microsoft PowerPoint (pptx)\",\n          \"Microsoft Word (doc)\",\n          \"Microsoft Word (docx)\",\n          \"OpenOffice presentation (odp)\",\n          \"OpenOffice spreadsheet (ods)\",\n          \"OpenOffice text (odt)\",\n          \"Rich Text Format (rtf)\",\n          \"Scalable Vector Graphics (svg)\",\n          \"TeX/LaTeX (tex)\",\n          \"Text (txt)\",\n          \"Wireless Markup Language (wml)\",\n          \"Wireless Markup Language (wap)\",\n          \"XML (xml)\",\n          \"XML Paper Specification (xps)\",\n          \"Markdown (md)\",\n          \"Readme (readme)\",\n          \"Log file (log)\",\n          \"YAML (yml)\",\n          \"YAML (yaml)\",\n          \"TOML (toml)\",\n          \"Jupyter Notebook (ipynb)\",\n          \"SAS (sas)\",\n          \"SQL (sql)\",\n          \"Resource Description Framework (rdf)\",\n          \"AV1 Image File Format (avif)\",\n          \"Audio Video Interleave (avi)\",\n          \"Matroska Multimedia Container (mkv)\",\n          \"QuickTime Movie (mov)\",\n          \"Flash Video (flv)\",\n          \"Advanced Systems Format (asf)\",\n          \"Ogg Video (ogv)\"\n        ]\n      }\n    },\n    \"mobileResults\": {\n      \"title\": \"Mobile results\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, the scraper returns results from the mobile version of Google Search. Otherwise, desktop results are returned.\",\n      \"default\": false,\n      \"example\": true,\n      \"sectionCaption\": \"Additional settings\"\n    },\n    \"includeUnfilteredResults\": {\n      \"title\": \"Unfiltered results\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, the lower-quality results that Google normally filters out are included.\",\n      \"default\": false,\n      \"example\": true\n    },\n    \"saveHtml\": {\n      \"title\": \"Save HTML to dataset\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, the HTML of the Google Search results pages is stored in the default dataset, under the <code>html</code> property. This is useful if you need to process the HTML, but it makes the dataset large.\",\n      \"default\": false,\n      \"example\": true\n    },\n    \"saveHtmlToKeyValueStore\": {\n      \"title\": \"Save HTML to key-value store\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, the HTML of the Google Search results pages is stored in the default key-value store, and links to the files are stored in the dataset under the <code>htmlSnapshotUrl</code> property. This is useful for debugging, since you can easily view the pages in the browser. Note that this feature may slow down the Actor.\",\n      \"default\": true,\n      \"example\": false\n    },\n    \"includeIcons\": {\n      \"title\": \"Include icon image data (base64)\",\n      \"type\": \"boolean\",\n      \"description\": \"If checked, all of the results (organicResults, paidResults, suggestedResults) will contain Base64-encoded icon image data if found.\",\n      \"default\": false,\n      \"example\": true\n    }\n  },\n  \"required\": [\n    \"queries\"\n  ]\n}",
    "readme": "## What is Google Search Results Scraper?\n\nGoogle Search Results Scraper crawls Google Search Results Pages (SERPs) and extracts data from those web pages. With this SERP scraper API, you can:\n\n- Extract almost any **Google data** from each Google page\n- Data includes **organic and paid results**, as well as suggested results\n- Scrape **Google AI Mode**, **Perplexity AI search**, **ChatGPT search**, **Microsoft Copilot search**, and **Gemini search** to improve Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) results\n- **Compare AI answers across platforms** (Google, Perplexity, ChatGPT, Microsoft Copilot, Gemini) to spot narrative differences and search engine biases\n- Also extract **review ratings, review counts, and product ads**\n- Find **related queries and People Also Ask** answers\n- Find **prices** for products or services\n- Use **Business leads enrichment** to further enrich your data with contact details (full name, work email address, phone number, job title, LinkedIn profile)\n- Use **Link prospecting tool** to find pages cited by AI engines that don't mention your brand, with outreach contacts for link building\n- Use **SEO tools** to scrape the full page content of organic results as markdown, for content gap analysis and SERP content benchmarking\n- Export data in multiple formats: **JSON, CSV, Excel, or HTML**\n- Export via SDKs (Python & Node.js), use **API endpoints**, **webhooks**, or integrate with workflows\n\n### What data can I extract with Google Search Results Scraper?\n\n<table>\n<tbody>\n<tr>\n<td>🌱 Organic results</td>\n<td>🛍 Paid results</td>\n</tr>\n<tr>\n<td>🤖 AI Mode + AI Overviews</td>\n<td>📢 Product ads</td>\n</tr>\n<tr>\n<td>❓ Related queries</td>\n<td>🙋‍♀️ People Also Ask</td>\n</tr>\n<tr>\n<td>🎯 Business leads enrichment</td>\n<td>⭐️ Review rating and review count</td>\n</tr>\n<tr>\n<td>🔗 Link prospecting tool</td>\n<td>🔍 SEO tools (website content)</td>\n</tr>\n<tr>\n<td>🪴 Suggested results</td>\n<td>🧩 Additional custom attributes</td>\n</tr>\n</tbody>\n</table>\n\n**🤖 Add-on: Google AI Mode**\n\nScrapes results from Google AI Mode - Google's dedicated AI-powered search interface on google.com, distinct from the standard AI Overviews snippets that appear in regular search results. AI Mode provides deeper, conversational answers with cited sources. Essential for Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) - track how your brand or content appears when users switch to Google's AI search experience.\n\n**⏩ Add-on: AI Overview extraction**\n\nAI Overviews are extracted automatically when they appear in search results. Enable this add-on to use a specialized proxy that increases the probability of capturing AI Overviews - note this may take slightly longer than a standard run. Best used for queries where AI Overviews are likely to appear. An extra cost applies per query when an AI Overview is successfully captured.\n\n**🧠 Add-on: Perplexity AI search**\n\nFetches AI-generated answers and citations from Perplexity's Sonar model. Use it for cross-platform comparison against other AI engines to spot narrative differences and coverage gaps.\n\n**💬 Add-on: ChatGPT search**\n\nFetches AI-generated answers from OpenAI's search model. Use it for cross-platform comparison against other AI engines to spot narrative differences, coverage gaps, and search engine biases.\n\n**⏩ Add-on: Microsoft Copilot search**\n\nFetches AI-generated answers from Microsoft Copilot. Use it for cross-platform comparison against other AI engines to spot narrative differences, coverage gaps, and search engine biases.\n\nYou can choose from four modes to control how Microsoft Copilot structures its response: **chat** (conversational, quick answers), **reasoning** (deep analytical, multi-step logic), **smart** (balanced speed and reasoning), or **study** (detailed explanations for educational and research prompts).\n\n**⏩ Add-on: Gemini search**\n\nFetches AI-generated answers from Google Gemini (gemini.google.com) - Google's standalone AI assistant, separate from Google Search. Use this for **cross-platform comparison** to identify narrative differences and coverage gaps across AI platforms.\n\n**🔗 Add-on: Link prospecting tool**\n\nFind websites that cover your topic but don't yet mention your brand - and get outreach contacts for link building.\n\nTo enable this add-on, enter your brand name in the **Brand name** field under the **Add-on: Link prospecting tool** section. For each query, the Actor collects all cited URLs from Google Search results and Google AI Overview (both automatic), plus any AI engines you have enabled separately (Google AI Mode, ChatGPT, Perplexity, Microsoft Copilot, and Gemini), and checks each page for brand mentions.\n\nResults go to a separate **Link prospecting tool** dataset. Each item includes:\n\n- Which source cited the page (Google Search, Google AI Overview, Google AI Mode, ChatGPT, Perplexity, Microsoft Copilot, or Gemini)\n- The AI engine's response text (`aiResponseText`)\n- Whether your brand is mentioned in the AI engine's response text (`isBrandMentionedInAiResponse`)\n- Whether your brand is mentioned in the scraped page content (`isBrandMentionedInSource`)\n- Business contacts for pages that do **not** mention your brand - up to 5 per domain, marketing and C-suite roles only\n\n**Charged events:**\n\n- `search-page-scraped` - once per Google SERP page scraped (base event, always charged)\n- `website-content-scraped` - once per page scraped for brand mention detection\n- `lead-scraped` - once per business contact found for pages not mentioning your brand (up to 5 per domain, marketing and C-suite roles only)\n\nEach enabled AI engine also charges its own event per query (e.g. `ai-mode-result-scraped`, `chatgpt-result-scraped`) - see the [pricing tab](https://apify.com/apify/google-search-scraper/pricing) for the full rate card.\n\nUse **Own domains** to exclude your own brand's domains. Use **Ignored domains** to exclude directories, aggregators, or competitor sites.\n\n⚠️ Each unique URL is scraped once across all sources. Enabling multiple AI engines with many queries can produce a large number of `website-content-scraped` events.\n\n⚠️ If **Business leads enrichment** is also active, domains that appear in both organic results and AI citations may be enriched by both features and charged for leads separately.\n\n**🔍 Add-on: SEO tools**\n\nSEO-focused enrichments for organic search results, for content gap analysis, competitive audits, and SERP content benchmarking.\n\nThe first feature in this add-on is **website content scraping**. To enable it, turn on **Enable website content scraping** under the **Add-on: SEO tools** section. Each organic result's page is scraped with the [Website Content Crawler](https://apify.com/apify/website-content-crawler), and its content is attached to the result as `websiteContent.text`, plus `websiteContent.markdown` when the page can be converted to markdown (`null` otherwise).\n\n**Charged event:**\n\n- `website-content-scraped` - once per organic result page successfully scraped\n\n⚠️ If **Link prospecting tool** is also active, pages shared between the two add-ons (e.g. an organic result URL that's also cited by the Link prospecting tool) are scraped and charged only once.\n\n**📢 Add-on: Paid results (ads) extraction**\n\nDetermines whether ads are present on the page and, if so, shows what they are. This is useful for anyone planning their own campaigns or wanting to see what competitors are showing.\n\n**👥 Add-on: Business leads enrichment**\n\nThis setting allows you to add contact information for companies and the employees working there, including **full name, work email address, phone number, job title, and LinkedIn profile**.\n\nUnder the **'Organic results' tab**, you can now find multiple business leads associated with each individual search result.\n\n⚠️ **Warning!**\n\nLeads enrichment is applied to all domains discovered in your search, including news articles, directories, and comparison sites, not just the primary company websites.\n\nLarge company chains are filtered out so as not to clutter up your results. [This list](https://api.apify.com/v2/key-value-stores/6IlJKTI235OLr3OVR/records/ignored_domains) shows you which sites are never included.\n\n**✅ Add-on: Email verification**\n\nWhen `verifyLeadsEnrichmentEmails` is enabled, each lead's email address is verified and an `emailVerification` object is added to the lead output. Requires Business leads enrichment to be active.\n\n**Charged (decisive results):**\n\n- `ok` - Valid, deliverable email address\n- `invalid` - Invalid or non-existent email address\n- `disposable` - Disposable or temporary email address\n\n**Not charged:**\n\n- `catch_all` - The domain accepts all addresses; individual deliverability cannot be confirmed\n- `unknown` - Verification result could not be determined\n- `error` - Verification encountered a technical error\n\n```json\n{\n    \"email\": \"james.hill@apify.com\",\n    \"quality\": \"good\",\n    \"result\": \"ok\",\n    \"subResult\": \"accepted_email\",\n    \"free\": false,\n    \"role\": false,\n    \"error\": \"\"\n}\n```\n\n### How can I use data scraped from Google Search?\n\nGoogle SERP API has a lot to offer in terms of how extracted Google data can be applied:\n\n- **Use it for SEO** and keep an eye on how your website performs on Google for certain queries over time\n- **Monitor how frequently a search term has been used** on Google, and how it compares with total search volume\n- **Analyze display ads** for a given set of keywords\n- **Monitor your competition** in both organic and paid results\n- **Build a URL list for certain keywords** for scraping web pages containing specific phrases\n- **Analyze the Google algorithm** and identify its main trends\n- Better **lead generation** with the Business leads enrichment add-on\n- **Monitor AI Overview summaries** to see how a site performs\n- **Improved AEO, GEO, and brand visibility tracking** with AI search add-ons (Google AI Mode, Perplexity, ChatGPT, Microsoft Copilot, Gemini)\n- **Link prospecting tool** - find unmentioned pages cited by AI engines and get outreach contacts to build links from relevant sources\n- **SEO tools** - scrape the full content of ranking pages as markdown for content gap analysis and SERP content benchmarking\n\n## How to use Google Search Results Scraper\n\nGoogle Search Results Scraper is designed with users in mind, even those who have never extracted data from the web before. Using it takes just a few steps.\n\n1. [Create](https://console.apify.com/actors/nFJndFXA5zjCTuudP/) a free Apify account using your email\n2. Open [Google Search Results Scraper](https://apify.com/apify/google-search-scraper)\n3. Add one or more search queries\n4. Click the “Start” button and wait for the data to be extracted\n5. Download your data in JSON, XML, CSV, Excel, or HTML\n\nCheck out Apify's video tutorial for more details:\nhttps://www.youtube.com/watch?v=wjLskDlPfvo\n\n**How to adapt your queries**\n\nTo get a larger number of results, simply increase the number of pages you want to scrape. For example, to get approximately 100 results, you need to set `maxPagesPerQuery` to `10`. The Actor will then navigate through 10 pages for your query, collecting ~10 results from each.\n\nYour results follow the country and location you select. Google may still personalize some of them.\n\n## How much will scraping Google Search cost you?\n\nThis scraper uses a pay-per-event (PPE) pricing model. You are not charged for the Apify platform usage, but only a fixed price for specific events. Check the [pricing tab](https://apify.com/apify/google-search-scraper/pricing) for details.\n\nOn the Free plan, you get $5 of credit, which lets you scrape over 1,000 Google Search results without using add-ons. If you upgrade to any of Apify's paid plans, you get a further discount, which means you could scrape thousands of results in just seconds.\n\n## ⬇️ Input\n\nThe scraper lets you control what kind of Google Search data you can extract. You can specify the following settings:\n\n- Query phrases or raw Google search URLs\n- Country\n- Language of search\n- Exact geolocation\n- Number of results per page\n- Mobile or desktop version results\n\nFor a complete description of all settings, see the [Input tab](https://apify.com/apify/google-search-scraper/input-schema).\n\n### How to scrape Google Search results by URL or keyword\n\nThere are two ways you can scrape Google search pages: either by URL or by search term.\n\n1. Scraping **by URL** will get you data from the Google Search results page. You'll get Google data from a copy-pasted Google URL with any Google country domain (e.g. `google.co.uk`). You can add as many URLs as you want.\n   The results' country comes from the URL's `gl` parameter, or from its domain when `gl` is missing.\n2. Scraping **by search term** will also get you data from the Google Search results page. You can also add as many search terms as you want.\n\n### Example input for scraping Google Search by search term\n\nTo get Google search data by search term, enter the search term and a number of Google pages to scrape. Using search terms, you can:\n\n- Scrape by multiple keywords in parallel by adding more search terms and separating them by a new line\n- Say how many results you want to see per Google page (10-100)\n- Determine the country, language, and UULE location parameter\n\n<a href=\"https://console.apify.com/actors/cHedUknx10dsaavpI/\">\n<img src=\"https://github.com/apify-projects/actor-readme-images/blob/master/google-search-results-scraper-input.png?raw=true\" alt=\"Google Search Results Scraper input\" style=\"width:70%;\">\n</a>\n\nHere's its equivalent in JSON:\n\n```json\n{\n    \"countryCode\": \"us\",\n    \"customDataFunction\": \"async ({ input, $, request, response, html }) => {\\\\\\\\n  return {\\\\\\\\n    pageTitle: $('title').text(),\\\\\\\\n  };\\\\\\\\n};\",\n    \"includeUnfilteredResults\": false,\n    \"languageCode\": \"en\",\n    \"maxPagesPerQuery\": 2,\n    \"mobileResults\": false,\n    \"queries\": \"hotels in Seattle \\\\n hotels in New York\",\n    \"saveHtml\": false,\n    \"saveHtmlToKeyValueStore\": false,\n    \"maxConcurrency\": 10\n}\n```\n\n### Scrape Google Search results by URL\n\nTo input URLs instead, simply replace `queries` with full URLs:\n\n```json\n\"queries\": \"<https://www.google.com/search?q=hotels+in+Seattle> \\\\n <https://www.google.com/search?q=hotels+in+New+York>\",\n```\n\n## ⬆️ Output\n\nThe scraper stores its result in the default [dataset](https://apify.com/docs/storage#dataset) associated with the scraper run, from which you can export it to various formats, such as JSON, XML, CSV, or Excel.\n\nFor each Google Search results page, the dataset will contain a single record, which looks as follows. Note that the output preview will be organized in table and tabs for viewing convenience:\n\n<a href=\"https://console.apify.com/actors/cHedUknx10dsaavpI/\">\n<img src=\"https://github.com/apify-projects/actor-readme-images/blob/master/google-search-results-scraper-output.png?raw=true\" alt=\"Google Search Results Scraper output\" style=\"width:70%;\">\n</a>\n\nHere’s the equivalent of the same scraped data but in JSON. Bear in mind that some fields have example values:\n\n```json\n[\n    {\n        \"searchQuery\": {\n            \"term\": \"Hotels in Seattle\",\n            \"url\": \"http://www.google.com/search?q=Hotels+in+Seattle&num=5\",\n            \"device\": \"DESKTOP\",\n            \"page\": 1,\n            \"type\": \"SEARCH\",\n            \"domain\": \"google.com\",\n            \"countryCode\": \"US\",\n            \"languageCode\": null,\n            \"locationUule\": null\n        },\n        \"relatedQueries\": [\n            {\n                \"title\": \"Airbnb\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Airbnb&stick=H4sIAAAAAAAAAOMwVOLWz9U3MDQozC2uKvjFyLCBheEVCy8XsugrFh4uLhDfOL3QxMgAwQVKF1m8YuHi4gBx06tKcuByecZV6clVcK5RdnlVeckrFm4uThDXsqDSsAguWVlRlWxYBZc0MU02T3rFwsnFDuJlW1QtYmVzzCxKyku6xSbJsHtRx08W1_2GGy2NN24Se7yd_Zf739q0GSsXcYgFpOYX5KQqJOYU5ysUpyYWJWcopOUXreBgBABeO2g95gAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEAo\"\n            },\n            {\n                \"title\": \"Expedia Group\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Expedia+Group&stick=H4sIAAAAAAAAAOMwVOLSz9U3ME4vNDEy-MXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF5IiBBcoXWTxioWLiwPETa8qyYHL5RlXpSdXwblG2eVV5SWvWLi5OEFcy4JKwyK4ZGVFVbJhFVzSxDTZPOkVCycXO4iXbVG1iJXXtaIgNSUzUcG9KL-04BabJMPuRR0_WVz3G260NN64SezxdvZf7n9r02asXMQhFpCaX5CTqpCYU5yvUJyaWJScoZCWX7SCgxEARw2QBewAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEA8\"\n            },\n            {\n                \"title\": \"Vrbo\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Vrbo&stick=H4sIAAAAAAAAAOMwVOLSz9U3MDYozC2y-MXIsIGF4RULLxc3SNAQKFhcVfCKhYcLoii90MTIAMEF63nFwsXFAeKmV5XkwOXyjKvSk6vgXKPs8qryklcs3FycIK5lQaVhEVyysqIq2bAKLmlimmye9IqFk4sdxMu2qFrEyhJWlJR_i02SYfeijp8srvsNN1oab9wk9ng7-y_3v7VpM1Yu4hALSM0vyElVSMwpzlcoTk0sSs5QSMsvWsHBCACk6JiV4wAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEBQ\"\n            },\n            {\n                \"title\": \"Southwest Airlines\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Southwest+Airlines&stick=H4sIAAAAAAAAAOMwVOLQz9U3SK8qyfnFyLCBheEVCy8XN0jI0KAwt7iq4BULDxcXiG-cXmhiZIDgAqWLLF6xcHHBDYDL5RlXpSdXwblG2eVV5SWvWLi5OEFcy4JKwyK4ZGVFVbJhFVzSxDTZPOkVCycXO4iXbVG1iFUoOL-0JKM8tbhEwTGzKCczL7X4Fpskw-5FHT9ZXPcbbrQ03rhJ7PF29l_uf2vTZqxcxCEWkJpfkJOqkJhTnK9QnJpYlJyhkJZftIKDEQCjBkmc7wAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEBk\"\n            },\n            {\n                \"title\": \"trivago\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=trivago&stick=H4sIAAAAAAAAAOMwVOLSz9U3yDOuSk-u-sXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF1iRcXqhiZEBgguULrJ4xcLFxQHipleV5MDlIObBuUbZ5VXlJa9YuLk4QVzLgkrDIrhkZUVVsmEVXNLENNk86RULJxc7iJdtUbWIlb2kKLMsMT3_Fpskw-5FHT9ZXPcbbrQ03rhJ7PF29l_uf2vTZqxcxCEWkJpfkJOqkJhTnK9QnJpYlJyhkJZftIKDEQArWf7U5gAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEB4\"\n            },\n            {\n                \"title\": \"KAYAK\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=KAYAK&stick=H4sIAAAAAAAAAOMwVOLSz9U3MMouryov-cXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF1iRcXqhiZEBgguULrJ4xcLFxQHipleV5MDl8oyr0pOr4FyI8a9YuLk4QVzLgkrDIrhkZUVVsmEVXNLENNk86RULJxc7iJdtUbWIldXbMdLR-xabJMPuRR0_WVz3G260NN64SezxdvZf7n9r02asXMQhFpCaX5CTqpCYU5yvUJyaWJScoZCWX7SCgxEA3hWrWOQAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglECM\"\n            },\n            {\n                \"title\": \"Hotels in seattle downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg7EAE\"\n            },\n            {\n                \"title\": \"Best hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg6EAE\"\n            },\n            {\n                \"title\": \"Hotels in Seattle Washington near Airport\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+Seattle+Washington+near+Airport&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg9EAE\"\n            },\n            {\n                \"title\": \"Cheap hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Cheap+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg8EAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle luxury\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+luxury&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg_EAE\"\n            },\n            {\n                \"title\": \"hotels in seattle, washington near cruise port\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=hotels+in+seattle,+washington+near+cruise+port&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgrEAE\"\n            },\n            {\n                \"title\": \"Boutique hotels Seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Boutique+hotels+Seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgoEAE\"\n            },\n            {\n                \"title\": \"Best hotels in Seattle Downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+Seattle+Downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgnEAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg7EAE\"\n            },\n            {\n                \"title\": \"Best hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg6EAE\"\n            },\n            {\n                \"title\": \"Hotels in Seattle Washington near Airport\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+Seattle+Washington+near+Airport&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg9EAE\"\n            },\n            {\n                \"title\": \"Cheap hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Cheap+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg8EAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle luxury\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+luxury&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg_EAE\"\n            },\n            {\n                \"title\": \"hotels in seattle, washington near cruise port\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=hotels+in+seattle,+washington+near+cruise+port&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgrEAE\"\n            },\n            {\n                \"title\": \"Boutique hotels Seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Boutique+hotels+Seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgoEAE\"\n            },\n            {\n                \"title\": \"Best hotels in Seattle Downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+Seattle+Downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgnEAE\"\n            }\n        ],\n        \"paidResults\": [],\n        \"paidProducts\": [],\n        \"organicResults\": [\n            {\n                \"title\": \"Downtown Seattle Hotel | Luxury Waterfront Hotel Rooms\",\n                \"url\": \"https://www.edgewaterhotel.com/\",\n                \"displayedUrl\": \"https://www.edgewaterhotel.com\",\n                \"description\": \"The Edgewater Hotel is laden with a rich musical past and surrounded by breathtaking views of the Olympic Mountains, Elliott Bay and the sparkling city.\",\n                \"emphasizedKeywords\": [\"The Edgewater Hotel\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 1\n            },\n            {\n                \"title\": \"Top 10 Hotels in Seattle, WA\",\n                \"url\": \"https://www.hotels.com/de1481165/hotels-seattle-washington/\",\n                \"displayedUrl\": \"https://www.hotels.com › ... › Hotels in Washington\",\n                \"description\": \"Flexible booking options on most hotels. Compare 2963 hotels in Seattle using 47993 real guest reviews. Pay what you see with upfront pricing on all hotels.\",\n                \"emphasizedKeywords\": [\"Compare 2963 hotels in Seattle\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 2\n            },\n            {\n                \"title\": \"Hotels in Seattle, WA\",\n                \"url\": \"https://www.marriott.com/en-us/destinations/united-states/washington/seattle.mi\",\n                \"displayedUrl\": \"https://www.marriott.com › united-states › washington\",\n                \"description\": \"Marriott Bonvoy's hotels in Seattle provide the ideal starting point for your exploration, ensuring you are always close to the best the city has to offer.\",\n                \"emphasizedKeywords\": [\"Marriott Bonvoy's hotels in Seattle\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 3\n            }\n        ],\n        \"peopleAlsoAsk\": [],\n        \"aiModeResult\": {\n            \"engine\": \"AI Mode\",\n            \"provider\": \"Google\",\n            \"text\": \"You can find many hotel options in Seattle, from high-end downtown hotels to budget-friendly hostels. Some options, like Hampton Inn & Suites, offer free amenities, while others focus on prime locations near major attractions. The best area to stay often depends on your budget and what you want to see. Downtown Seattle Known for being walkable and close to attractions, Downtown Seattle is home to a wide range of hotels. The Paramount Hotel: A 3-star hotel with a prime location for exploring downtown attractions like Pike Place Market and the Space Needle. Reviewers mention its modern rooms and friendly staff.Hyatt Regency Seattle: A 4-star hotel located downtown, receiving high marks for being an exceptional place to stay.Mayflower Park Hotel: Another downtown 4-star option, with travelers highlighting its excellent breakfast and beautiful dining room.Green Tortoise Hostel Seattle: For budget-conscious travelers, this highly-rated hostel is located directly across from Pike Place Market and offers free breakfast. Hampton Inn & Suites Seattle-Downtown4.1(1.6K)3-star hotel700 5th Ave NThe Paramount Hotel4.5(2.4K)3-star hotel724 Pine StHyatt Regency Seattle4.6(3.8K)4-star hotel808 Howell StMayflower Park Hotel4.4(1.4K)3-star hotel405 Olive WyGreen Tortoise Hostel Seattle4.5(2.3K)2-star hotel105B Pike StSee moreBelltown and South Lake Union These trendy neighborhoods offer a mix of boutique hotels and serviced apartments. The Ace Hotel (Belltown): A popular mid-range option.Hotel Ändra (Belltown): A cool boutique hotel.CitizenM South Lake Union: This location of a popular hotel chain is a great option for modern stays. Hôtel Ändra Seattle - MGallery Collection4.5(1.3K) · $$$$4-star hotel2000 4th AvecitizenM Seattle South Lake Union hotel4.3(1K)4-star hotel201 Westlake Ave NSeattle Center and Queen Anne This area is convenient for accessing attractions like the Space Needle, MoPOP, and Climate Pledge Arena. Hampton Inn & Suites Seattle-Downtown: Located in the Seattle Center area, this 3-star hotel offers free hot breakfast and is within walking distance of many tourist spots.Mediterranean Inn (near Seattle Center): A mid-range hotel that is consistently well-reviewed for its location and comfort. Northgate Located north of the downtown core, this area is a good option if you want to be near the University of Washington or other northern attractions. Hampton Inn & Suites by Hilton Seattle/Northgate: A 2-star hotel offering an indoor pool and free breakfast. Reviewers praise the friendly staff and find it a good value, especially if you plan to use the light rail to get downtown. Which Seattle hotels have the best views?Any hotels in Seattle known for unique architecture?Elaborate on the price ranges for hotels in different Seattle neighborhoods\",\n            \"sources\": [\n                {\n                    \"title\": \"Where To Stay In Seattle: A Complete Guide For First Timers\",\n                    \"url\": \"https://wheatlesswanderlust.com/where-to-stay-in-seattle/\",\n                    \"description\": \"Here are some cool places to stay in Belltown that caught our eye. * The Ace Hotel: A Great Mid-Range Option (Where We've Stayed) * Hotel Ändra: A Cool Boutique...\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                },\n                {\n                    \"title\": \"Top 10 Hotels in Seattle, WA from $93 - Fully Refundable Options - Expedia\",\n                    \"url\": \"https://www.expedia.com/Seattle-Hotels.d178307.Travel-Guide-Hotels\",\n                    \"description\": \"Compare 4,566 hotels, room rates, hotel reviews and availability. Most hotels are fully refundable. * The Belltown Inn. The Belltown Inn. The Belltown Inn. The ...\",\n                    \"imageUrl\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD90lEQVRogc2av28cRRTHP+/t+mgogoA6sZyN7QBOfEiEGAokfkkYRBRBhXAQLTSYBEj4B1AICZKBhiCBJbqAUsRUFEggxSDl5JjICXc55ISCAhLSpFnfzlDsnuNz7rx7tz/uvtIWdzs783kzb9/MvB1hk8zVR8VaOwK8ArwIjAPbAN1cNmcZ4BawApwDziDyp7Pzgt1YSDb+CGrle4FDwFvALsAphjVWAfAH8Bkw73iV280b6wYEtfIDwEfADDBUNGFC+cDXwDHHq9yAyICo5z8F3mTTqAygLPAlMOt4ldtNv56JrkGHh5DxDeB1AAlqZQ84C+zuI1QvugS8rITRZrTPML1oHDjoAi/QRbQRBcnb0SwYE1vKAaZdunAdEbhcV36vCsbGl+9FpSEYG7aMDZskHbXbJZykYqUKv1SUD06VqP8luY2CCDx4n2X2UIPXphtx7WxTEsywqnB+SXnvZIna9fzgAayFv/8VTs27VK8pujVdzO2oxOJF5cgnYc87BSwoHIV/bgrVVYkN7FviqMKvyyF87Xox8E1ZYK0RX87tdEMVlq4o7xwvUV0VVKERpAdTBc3QBTsaAKE/PjcV8PxUNo01O+X8xeyGsqMBxsDeMcPkeHxATiSF35aVHxcdrM1uLokdAZtBvFeFxSXlyIkS1WvZvku5v5aqsLicDzzkbEAS+LQjnJsBSeADA7t2WPZNmJ6XJrkYkBh+u+Xjd332jJoki7f2baVDbVNhN/CHfR7bY7ApAl2mBnQL//iECXMPadpM9/iGinqA79VtWtpNX0X/4CEDA/oJDykNUOkvPKQwQBWurArvn+wfPKQZAYFLNaXWR3hI6UKdlgFFwUMOE1mR8JDSgCGXu9xnbEdx8BCzH4Bw49F2X2BhatIwd8xf37uKwMM7LaPDxcBDjAGqsFJXTn/n4q/d+d9aeHZ/wIGnAw4807pRtpZUa5tutfUICKzUhW8XnJYRaEQ9/tJTQW45oqTbzlgXAnCdu10oz+RWYML04iOeCfMrW6jo716xakax47M+3nYb+y7FGpBTDretmvAnDvvsmzCJtptKzIq8FIVKkdbrnqHs3Mi2gU8YxYwL/Afc37ZiA09MGuY+9PHX7qQpLfDQiF0PsWklwGj38AC3JKiVfwae7Fi5hB81NiurcCkSZutEwkRal/PHTy6wAOynw1caa8FmkBPtJGthb5T96xI+AH5Q4AzhR+S+yZqeRvMy8L06XuUq8DmwFvPAIMkHvnC8Sr3p3d9EV5FRs1dZQtZ5iOaB6OzBUeArQusGVT5wGjjaPC/R7rDHDPA2g3fYowrM0emwx3rJalkQRoBXgWkG47jNAmGwqTtepcXN/wc7PMQyfEwyGgAAAABJRU5ErkJggg==\"\n                },\n                {\n                    \"title\": \"Green Tortoise Hostel Seattle\",\n                    \"url\": \"https://www.google.com/viewer/place?mid=/g/1td7sx3h\",\n                    \"description\": \"Low-key hostel offering basic dorms & private rooms, plus a full communal kitchen & free Wi-Fi.\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                },\n                {\n                    \"title\": \"Where Should I Stay in Seattle? (An Unofficial Seattle Accommodation ...\",\n                    \"url\": \"https://totallyseattle.com/where-should-i-stay-in-seattle-an-unofficial-seattle-accommodation-guide/\",\n                    \"description\": \"Recommended hotels in Downtown Seattle: * Four Seasons Hotel. * Fairmont Olympic Hotel. * The Alexis Hotel. * The Inn at the Market. Staying in Seattle's Bellto...\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                }\n            ],\n            \"query\": \"Hotels in Seattle\",\n            \"kvsHtmlUrl\": \"https://api.apify.com/v2/key-value-stores/CzC2EqsvcNUUhWsSH/records/Hotels-in-Seattle_522be799a1919512562f544878e95f5e5ecfa59da52aeda4bcc768a3f9afacd2.html?signature=1PWgT4hZ9FTMZ9sBjH55k\",\n            \"url\": \"http://www.google.com/search?q=Hotels+in+Seattle&num=5\"\n        }\n    }\n]\n```\n\nYou can **download the results directly from the platform using a button** or from the [Get dataset items](https://www.apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint:\n\n```json\n<https://api.apify.com/v2/datasets/[DATASET_ID]/items?format=[FORMAT]>\n```\n\nwhere `[DATASET_ID]` is the ID of the dataset and `[FORMAT]` can be `csv`, `html`, `xlsx`, `xml`, `rss`, or `json`.\n\n## Frequently asked questions\n\n### How to get one search result per row\n\nSimply choose the Export view for `Organic results` and/or `Paid results`. It automatically spreads each result into a separate row. For API access, you can add `&view=paid_results` or `&view=organic_results` to the URL and with the API client, you can do the same using the `view` field.\n\nAn organic result is represented using the following format:\n\n```json\n{\n    \"searchQuery\": {\n        \"term\": \"laptop\",\n        \"device\": \"DESKTOP\",\n        \"page\": 1,\n        \"type\": \"SEARCH\",\n        \"domain\": \"google.com\",\n        \"countryCode\": \"US\",\n        \"languageCode\": \"en\",\n        \"locationUule\": null\n    },\n    \"type\": \"organic\",\n    \"position\": 1,\n    \"title\": \"Laptops & Notebook Computers - Best Buy\",\n    \"url\": \"<https://www.bestbuy.com/site/computers-pcs/laptop-computers/abcat0502000.c?id=abcat0502000>\",\n    \"displayedUrl\": \"<https://www.bestbuy.com> › Computers & Tablets\",\n    \"description\": \"Shop Best Buy for laptops. Work & play from anywhere with a notebook computer. We can help you find the best laptop for your specific needs in store and online.\",\n    \"emphasizedKeywords\": \"laptops | laptop\",\n    \"productInfo\": {}\n}\n```\n\nA paid result has an `adPosition` field instead of `position` and `\"type\": \"paid\"`. **Paid result position is calculated separately from the organic results**.\n\nWhen using a tabular format such as `csv` or `xls`, you'll get a table where each row contains just one organic result. For more details about exporting and formatting the dataset records, please see the documentation for the [Get dataset items](https://apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint.\n\n### Can I use integrations with Google Search Results Scraper?\n\nYou can integrate Google Search Results Scraper with almost any cloud service or web app. Apify offers integrations with **Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive**, [and plenty more](https://docs.apify.com/integrations).\n\nAlternatively, you could use [webhooks](https://docs.apify.com/integrations/webhooks) to carry out an action whenever an event occurs, such as getting a notification whenever Google Search Results Scraper successfully finishes a run.\n\n### Can I use Google Search Results Scraper with the Apify API?\n\nThe Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify Actors. The API also lets you access any datasets, monitor Actor performance, fetch results, create and update versions, and more.\n\nTo access the API using Node.js, use the `apify-client` [npm package](https://apify.com/apify/google-search-scraper/api/javascript). To access the API using Python, use the `apify-client` [PyPI package](https://apify.com/apify/google-search-scraper/api/python).\n\nClick on the [API tab](https://apify.com/apify/google-search-scraper/api/python) for code examples, or check out the [Apify API reference](https://docs.apify.com/api/v2) docs for all the details.\n\n### Can I use Google Search Results Scraper through an MCP server?\n\nWith Apify API, you can use almost any Actor in conjunction with a Model Context Protocol (MCP) server. You can connect to the MCP server using clients like Claude Desktop and LibreChat, or even build your own. Read all about how you can [set up Apify Actors with MCP](https://blog.apify.com/how-to-use-mcp/).\n\nFor Google Search Results Scraper, go to the [MCP tab](https://apify.com/apify/google-search-scraper/api/mcp) and then go through the following steps:\n\n1. Start a Server-Sent Events (SSE) session to receive a `sessionId`\n2. Send API messages using that `sessionId` to trigger the scraper\n3. The message starts the Google Search Results Scraper with the provided input\n4. The response should be: `Accepted`\n\n### Is it legal to scrape Google Search data?\n\nWeb scraping is legal if you are extracting publicly available data, which is most data on Google Search. However, you should **respect boundaries such as personal data** and intellectual property regulations. You should only scrape personal data if you have a legitimate reason to do so, and you should also factor in Google's [Terms of Use](https://policies.google.com/terms?hl=en).\n\nIf you're unsure whether your reason is legitimate, consult your lawyers. You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).\n\n### Your feedback\n\nIf you are not sure that the results are complete and of good quality, each run stores the full HTML page in the default Key-Value Store. You can view the KVS by clicking on it and comparing the results.\n\nWe’re always working on improving the performance of Apify's Actors and monitoring the quality, but we are happy for any reports. So if you’ve got any technical feedback for this Google SERP API or simply found a bug, please create an issue on the Actor’s [Issues tab](https://apify.com/apify/google-search-scraper/issues/open).\n",
    "changelog": "### 2026-11-02\n\n_Fixes_\n\n- Google redirect URLs (`/goto`) in results and sources are resolved to the target website more reliably.\n\n### 2026-10-30\n\n_Fixes_\n\n- Queries with a `site:` filter keep organic results whose Google redirect URL (`/goto`, `/url`) couldn't be resolved, instead of dropping them.\n\n### 2026-10-26\n\n_Features_\n\n- Search URLs of the Short videos tab (`udm=39`) return the videos in `organicResults` with `type: \"shortVideo\"`, the platform in `websiteTitle`, `channelName` and `videoLength`. Pagination follows the tab's 12 results per page.\n\n_Changes_\n\n- `aiOverview.content` covers the full AI Overview text, including headings and list items, each on its own line.\n\n_Fixes_\n\n- Results for Google Search URLs without a `gl` parameter now match the URL's country domain, e.g. `google.de`.\n\n### 2026-10-15\n\n_Fixes_\n\n- Keyword searches use `google.com` with the country in the `gl` parameter, so `searchQuery.domain` is always `google.com`.\n\n### 2026-10-06\n\n_Changes_\n\n- Removed the `queryFanOut` and `widgets` fields from ChatGPT search results. The current backend never populated them with real data, only empty arrays.\n\n### 2026-09-29\n\n_Features_\n\n- The LLM search engines (ChatGPT, Gemini, Copilot, AI Mode, Perplexity) now use `countryCode`. Without it, they default to United States, same as Google. ChatGPT, Gemini, Copilot and AI Mode don't support every country; an engine returns no result for a country it doesn't support.\n\n### 2026-08-24\n\n_Changes_\n\n- Removed the `resultsTotal` field. It was Google's internal estimate and never matched the actual number of results, which confused users.\n\n### 2026-07-28\n\n_Features_\n\n- Added Ukrainian search language\n\n### 2026-07-15\n\n_Features_\n\n- SEO Tools Add-on: Scrapes each organic result's page with the Website Content Crawler and attaches the content as markdown via `websiteContent.markdown`. Enable it via the `websiteContentScraper.enable` input option.\n\n### 2026-06-30\n\n_Features_\n\n- Scrape full AI Overview Add-on: Ensures the full AI Overview is extracted when one is present. Enable it via the `aiOverview.scrapeFullAiOverview` input option. An extra cost applies per query when an AI Overview is successfully captured.\n\n### 2026-06-29\n\n_Features_\n\n- Link Prospecting Tool Add-on: Find websites that mention your topic but not your brand, and get business contacts for outreach. The tool collects cited URLs from all enabled search engines (Google Search, AI Overview, AI Mode, ChatGPT, Perplexity, Copilot, Gemini), scrapes each page to check for brand mentions, and fetches marketing and C-suite contacts for domains where your brand is absent. Results are output to a separate `linkProspecting` dataset.\n\n### 2026-05-18\n\n_Features_\n\n- Added Thai search language\n- Added `websiteTitle` field to organic search results, containing the name of the website as displayed in the SERP.\n\n### 2026-05-15\n\n_Features_\n\n- Gemini Search Add-on: Enable scraping of Google Gemini Search results. This allows you to retrieve Gemini Search results alongside or independently of other results.\n- Added a new output field for all LLM Search providers: `engine`, indicating which engine was used.\n\n### 2026-04-28\n\n_Features_\n\n- Copilot Search Add-on: Enable scraping of Microsoft Copilot Search results. This allows you to retrieve Copilot Search results alongside or independently of other results.\n\n### 2026-04-20\n\nBREAKING CHANGE\n\n- removed the deprecated `csvFriendlyOutput` option in the input.\n\n### 2026-04-15\n\n_Features_\n\n- Added new option in the Leads Enrichment section, allowing to enable verification of the leads emails.\n\n### 2026-03-20\n\n_Fixes_\n\n- Replaced obsolete `cs` (Serbia and Montenegro) country code with separate entries for Montenegro (`me`) and Serbia (`rs`).\n\n### 2026-01-27\n\n_Features_\n\n- ChatGPT Search Add-on: Enable scraping of ChatGPT Search. This allows you to retrieve ChatGPT Search results alongside or independently of other results.\n\n### 2025-12-05\n\n_Features_\n\n- Perplexity AI Search Add-on: Enable scraping of Perplexity AI Search. This allows you to retrieve Perplexity AI Search results alongside or independently of other results.\n\n### 2025-09-02\n\n_Features_\n\n- Add Business leads enrichment feature, which allows users to scrape leads for the websites found from queries, including employee names, job titles, emails, phone numbers, LinkedIn profiles, and company data.\n\n### 2025-08-19\n\n_Features_\n\n- Google AI Mode Add-on: Enable scraping of Google’s AI Mode. This allows you to retrieve AI Mode results alongside or independently of organic search results.\n\n### 2025-08-07\n\n_Features_\n\n- Add ability to enter hours in the `quickDateRange` input field.\n\n### 2024-08-22 (0.0.128)\n\n_Fixes_\n\n- Renable exluding results based on `:site` filter parameter as there were several reports when Google didn't respect this filter.\n\n### 2024-06-14 (0.0.122)\n\n_Fixes_\n\n- Disable excluding results based on `:site` filter parameter. The actor was checking whether all results from Google match the `site:` filter and excluded those that didn't match. This feature was buggy so we decided to disable it.\n\n### 2024-06-03 (0.0.121)\n\n_Fixes_\n\n- Don't distinguish `http` vs `https` when filtering results with the `:site` clause.\n\n_Features_\n\n- Add `includeIcons` to input to extract result icons in base64 format. The image data is relatively large so we decided not to include it by default.\n\n### 2024-04-23 (0.0.119)\n\n_Fixes_\n\n- Fixed extracting `personalInfo` from linkedin sites\n\n### 2024-04-08 (0.0.118)\n\n_Fixes_\n\n- Fixed `personalInfo` extraction in mobile results\n- Fixed `relatedQueries` extraction in mobile results\n- Store the results suggested by Google to `suggestedResults` instead of `organicResults`\n\n### 2024-02-12 (0.0.113)\n\n_Improvements_:\n\n- Actor continues scraping the next page if number of organic and paid results is greater than 80% of `resultsPerPage`.\n\n### 2023-12-23 (0.0.109)\n\n_Fixes_\n\n- Improve handling of potentially non-matching `site:` filters. We check for a correct format and track any inconsistencies if there would be any. Users often use the filter in wrong format (e.g. `-site:` or multiple `site:` which doesn't work)\n\n### 2023-12-23 (0.0.108)\n\n_Fixes_\n\n- Fix problem that sometimes not all `relatedQueries` were extracted\n\n### 2023-10-30 (0.0.106)\n\n_Fixes_:\n\n- Fixed extraction of `companyName` field\n\n### 2023-09-25 (0.0.103)\n\n_Fixes_:\n\n- Updated css selector for result's description\n\n### 2023-08-21 (0.0.100)\n\n_Fixes_:\n\n- Fixed issue with pagination, where some pages Google returned didn't have the next page (depending on IP used). The actor will now visit every page it ever saw in pagination which fixes this issue\n\n### 2023-08-11 (0.0.99)\n\n_Fixes_:\n\n- Updated mobile selectors\n\n### 2023-07-08\n\n_Fixes_:\n\n- Retry requests where some result domains don't correctly match the `site:` restriction. This happened very rarely and we are still investigating why Google would provide such results.\n\n### 2023-06-26 (0.0.84)\n\n_Fixes_:\n\n- Correctly parse new result type with one full result-like site link\n\n### 2023-05-31 (0.0.82)\n\n_Features_\n\n- Added output schema formats to download organic and paid results separately with one result per row format. For API access, add `&view=paid_results` or `&view=organic_results` to the URL.\n- Added `type`: `organic` or `paid` and `position` or `adPosition` to all organic and paid results for consistency.\n\n_Changes_\n\n- Deprecated input field `csvFriendlyOutput`, please migrate to using the new output schema formats. We will keep supporting `csvFriendlyOutput` for some time.\n\n### 2023-05-29 (0.0.81)\n\n_Fixes_\n\n- Replaces `\\t` characters in queries with spaces. Previously, they were briefly ignored which broke some queries.\n\n### 2023-04-06\n\n_Fixes_\n\n- Fixed personal info for LinkedIn results\n\n### 2023-03-7\n\n_Changes_\n\n- Updated to version 3\n\n_Fixes_\n\n- Updated ads URLs selectors for desktop and mobile\n\n### 2023-02-15\n\n_Fixes_\n\n- Updated `relatedQueries` selectors to work with the new layout\n\n### 2023-01-20\n\n_Fixes_\n\n- Log proper error is `customDataFunction` throws an error\n- Log an error if a request fails all retries\n\n_Changes_\n\n- If `customDataFunction` throws an error, normal output is still returned, instead of crashing\n\n### 2023-01-19\n\n_Fixes_ (new layout)\n\n- Fixed organic desktop results\n- Fixed organic mobile missing title and displayUrl\n- Fixed organic mobile missing top results\n- Deduplicate results\n\n### 2022-11-17\n\n- Fixed mobile extractor, paidResults, siteLinks, and description\n\n### 2022-11-16\n\n- Fixed mobile extractor paidResults, paidProducts, organicResults\n\n### 2022-08-24\n\n- Fixed organic results sometimes missing top result and twitter based results\n\n### 2022-05-03\n\n- Added `personalInfo` to output containing `name`, `location`, `jobTitle`, `companyName`, `cleanDescription`. These are available mainly for LinkedIn results.\n\n### 2022-01-31\n\n- Implemented `csvFriendlyOutput` option\n- Handled missing `www.` on domains\n\n### 2022-01-21\n\n- Fixed organic results for desktop (new layout)\n\n### 2021-02-25\n\n- Hotfixed `relatedQueries` and `peopleAlsoAsk` in the new layout\n\n### 2021-01-19\n\n- Fixed extractor to work on new Google layout\n- Added parsing emphasized text\n\n### 2020-11-19\n\n- Fixed new layout for mobile paid ads\n\n### 2020-10-01\n\n- Hotfix after Google changed the page layout for desktop\n- Fixed main selector for paid results\n- Fixed `description` for paid results\n- Fixed `description`, `url` and `siteLinks` for organic results\n\n### 2020-07-15 (beta)\n\n- Fixed site links being present in a title of paid results\n- Better explanation about max limit of results\n- Added [Apify](https://sdk.apify.com/docs/api/apify) to `customDataFunction`\n- Added `includeUnfilteredResults` option\n- Parsing of product info - rating, number of reviews and price\n- Fixed `unmatched pseudo-class :first` error on desktop paid products\n",
    "gitCommitId": "65585d6dfa02469501eb2a14de7a486c7a56c63b",
    "gitBranchName": "master",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "google-search-scraper",
      "title": "Google Search Results Scraper",
      "dockerContextDir": "../../..",
      "changelog": "### 2026-11-02\n\n_Fixes_\n\n- Google redirect URLs (`/goto`) in results and sources are resolved to the target website more reliably.\n\n### 2026-10-30\n\n_Fixes_\n\n- Queries with a `site:` filter keep organic results whose Google redirect URL (`/goto`, `/url`) couldn't be resolved, instead of dropping them.\n\n### 2026-10-26\n\n_Features_\n\n- Search URLs of the Short videos tab (`udm=39`) return the videos in `organicResults` with `type: \"shortVideo\"`, the platform in `websiteTitle`, `channelName` and `videoLength`. Pagination follows the tab's 12 results per page.\n\n_Changes_\n\n- `aiOverview.content` covers the full AI Overview text, including headings and list items, each on its own line.\n\n_Fixes_\n\n- Results for Google Search URLs without a `gl` parameter now match the URL's country domain, e.g. `google.de`.\n\n### 2026-10-15\n\n_Fixes_\n\n- Keyword searches use `google.com` with the country in the `gl` parameter, so `searchQuery.domain` is always `google.com`.\n\n### 2026-10-06\n\n_Changes_\n\n- Removed the `queryFanOut` and `widgets` fields from ChatGPT search results. The current backend never populated them with real data, only empty arrays.\n\n### 2026-09-29\n\n_Features_\n\n- The LLM search engines (ChatGPT, Gemini, Copilot, AI Mode, Perplexity) now use `countryCode`. Without it, they default to United States, same as Google. ChatGPT, Gemini, Copilot and AI Mode don't support every country; an engine returns no result for a country it doesn't support.\n\n### 2026-08-24\n\n_Changes_\n\n- Removed the `resultsTotal` field. It was Google's internal estimate and never matched the actual number of results, which confused users.\n\n### 2026-07-28\n\n_Features_\n\n- Added Ukrainian search language\n\n### 2026-07-15\n\n_Features_\n\n- SEO Tools Add-on: Scrapes each organic result's page with the Website Content Crawler and attaches the content as markdown via `websiteContent.markdown`. Enable it via the `websiteContentScraper.enable` input option.\n\n### 2026-06-30\n\n_Features_\n\n- Scrape full AI Overview Add-on: Ensures the full AI Overview is extracted when one is present. Enable it via the `aiOverview.scrapeFullAiOverview` input option. An extra cost applies per query when an AI Overview is successfully captured.\n\n### 2026-06-29\n\n_Features_\n\n- Link Prospecting Tool Add-on: Find websites that mention your topic but not your brand, and get business contacts for outreach. The tool collects cited URLs from all enabled search engines (Google Search, AI Overview, AI Mode, ChatGPT, Perplexity, Copilot, Gemini), scrapes each page to check for brand mentions, and fetches marketing and C-suite contacts for domains where your brand is absent. Results are output to a separate `linkProspecting` dataset.\n\n### 2026-05-18\n\n_Features_\n\n- Added Thai search language\n- Added `websiteTitle` field to organic search results, containing the name of the website as displayed in the SERP.\n\n### 2026-05-15\n\n_Features_\n\n- Gemini Search Add-on: Enable scraping of Google Gemini Search results. This allows you to retrieve Gemini Search results alongside or independently of other results.\n- Added a new output field for all LLM Search providers: `engine`, indicating which engine was used.\n\n### 2026-04-28\n\n_Features_\n\n- Copilot Search Add-on: Enable scraping of Microsoft Copilot Search results. This allows you to retrieve Copilot Search results alongside or independently of other results.\n\n### 2026-04-20\n\nBREAKING CHANGE\n\n- removed the deprecated `csvFriendlyOutput` option in the input.\n\n### 2026-04-15\n\n_Features_\n\n- Added new option in the Leads Enrichment section, allowing to enable verification of the leads emails.\n\n### 2026-03-20\n\n_Fixes_\n\n- Replaced obsolete `cs` (Serbia and Montenegro) country code with separate entries for Montenegro (`me`) and Serbia (`rs`).\n\n### 2026-01-27\n\n_Features_\n\n- ChatGPT Search Add-on: Enable scraping of ChatGPT Search. This allows you to retrieve ChatGPT Search results alongside or independently of other results.\n\n### 2025-12-05\n\n_Features_\n\n- Perplexity AI Search Add-on: Enable scraping of Perplexity AI Search. This allows you to retrieve Perplexity AI Search results alongside or independently of other results.\n\n### 2025-09-02\n\n_Features_\n\n- Add Business leads enrichment feature, which allows users to scrape leads for the websites found from queries, including employee names, job titles, emails, phone numbers, LinkedIn profiles, and company data.\n\n### 2025-08-19\n\n_Features_\n\n- Google AI Mode Add-on: Enable scraping of Google’s AI Mode. This allows you to retrieve AI Mode results alongside or independently of organic search results.\n\n### 2025-08-07\n\n_Features_\n\n- Add ability to enter hours in the `quickDateRange` input field.\n\n### 2024-08-22 (0.0.128)\n\n_Fixes_\n\n- Renable exluding results based on `:site` filter parameter as there were several reports when Google didn't respect this filter.\n\n### 2024-06-14 (0.0.122)\n\n_Fixes_\n\n- Disable excluding results based on `:site` filter parameter. The actor was checking whether all results from Google match the `site:` filter and excluded those that didn't match. This feature was buggy so we decided to disable it.\n\n### 2024-06-03 (0.0.121)\n\n_Fixes_\n\n- Don't distinguish `http` vs `https` when filtering results with the `:site` clause.\n\n_Features_\n\n- Add `includeIcons` to input to extract result icons in base64 format. The image data is relatively large so we decided not to include it by default.\n\n### 2024-04-23 (0.0.119)\n\n_Fixes_\n\n- Fixed extracting `personalInfo` from linkedin sites\n\n### 2024-04-08 (0.0.118)\n\n_Fixes_\n\n- Fixed `personalInfo` extraction in mobile results\n- Fixed `relatedQueries` extraction in mobile results\n- Store the results suggested by Google to `suggestedResults` instead of `organicResults`\n\n### 2024-02-12 (0.0.113)\n\n_Improvements_:\n\n- Actor continues scraping the next page if number of organic and paid results is greater than 80% of `resultsPerPage`.\n\n### 2023-12-23 (0.0.109)\n\n_Fixes_\n\n- Improve handling of potentially non-matching `site:` filters. We check for a correct format and track any inconsistencies if there would be any. Users often use the filter in wrong format (e.g. `-site:` or multiple `site:` which doesn't work)\n\n### 2023-12-23 (0.0.108)\n\n_Fixes_\n\n- Fix problem that sometimes not all `relatedQueries` were extracted\n\n### 2023-10-30 (0.0.106)\n\n_Fixes_:\n\n- Fixed extraction of `companyName` field\n\n### 2023-09-25 (0.0.103)\n\n_Fixes_:\n\n- Updated css selector for result's description\n\n### 2023-08-21 (0.0.100)\n\n_Fixes_:\n\n- Fixed issue with pagination, where some pages Google returned didn't have the next page (depending on IP used). The actor will now visit every page it ever saw in pagination which fixes this issue\n\n### 2023-08-11 (0.0.99)\n\n_Fixes_:\n\n- Updated mobile selectors\n\n### 2023-07-08\n\n_Fixes_:\n\n- Retry requests where some result domains don't correctly match the `site:` restriction. This happened very rarely and we are still investigating why Google would provide such results.\n\n### 2023-06-26 (0.0.84)\n\n_Fixes_:\n\n- Correctly parse new result type with one full result-like site link\n\n### 2023-05-31 (0.0.82)\n\n_Features_\n\n- Added output schema formats to download organic and paid results separately with one result per row format. For API access, add `&view=paid_results` or `&view=organic_results` to the URL.\n- Added `type`: `organic` or `paid` and `position` or `adPosition` to all organic and paid results for consistency.\n\n_Changes_\n\n- Deprecated input field `csvFriendlyOutput`, please migrate to using the new output schema formats. We will keep supporting `csvFriendlyOutput` for some time.\n\n### 2023-05-29 (0.0.81)\n\n_Fixes_\n\n- Replaces `\\t` characters in queries with spaces. Previously, they were briefly ignored which broke some queries.\n\n### 2023-04-06\n\n_Fixes_\n\n- Fixed personal info for LinkedIn results\n\n### 2023-03-7\n\n_Changes_\n\n- Updated to version 3\n\n_Fixes_\n\n- Updated ads URLs selectors for desktop and mobile\n\n### 2023-02-15\n\n_Fixes_\n\n- Updated `relatedQueries` selectors to work with the new layout\n\n### 2023-01-20\n\n_Fixes_\n\n- Log proper error is `customDataFunction` throws an error\n- Log an error if a request fails all retries\n\n_Changes_\n\n- If `customDataFunction` throws an error, normal output is still returned, instead of crashing\n\n### 2023-01-19\n\n_Fixes_ (new layout)\n\n- Fixed organic desktop results\n- Fixed organic mobile missing title and displayUrl\n- Fixed organic mobile missing top results\n- Deduplicate results\n\n### 2022-11-17\n\n- Fixed mobile extractor, paidResults, siteLinks, and description\n\n### 2022-11-16\n\n- Fixed mobile extractor paidResults, paidProducts, organicResults\n\n### 2022-08-24\n\n- Fixed organic results sometimes missing top result and twitter based results\n\n### 2022-05-03\n\n- Added `personalInfo` to output containing `name`, `location`, `jobTitle`, `companyName`, `cleanDescription`. These are available mainly for LinkedIn results.\n\n### 2022-01-31\n\n- Implemented `csvFriendlyOutput` option\n- Handled missing `www.` on domains\n\n### 2022-01-21\n\n- Fixed organic results for desktop (new layout)\n\n### 2021-02-25\n\n- Hotfixed `relatedQueries` and `peopleAlsoAsk` in the new layout\n\n### 2021-01-19\n\n- Fixed extractor to work on new Google layout\n- Added parsing emphasized text\n\n### 2020-11-19\n\n- Fixed new layout for mobile paid ads\n\n### 2020-10-01\n\n- Hotfix after Google changed the page layout for desktop\n- Fixed main selector for paid results\n- Fixed `description` for paid results\n- Fixed `description`, `url` and `siteLinks` for organic results\n\n### 2020-07-15 (beta)\n\n- Fixed site links being present in a title of paid results\n- Better explanation about max limit of results\n- Added [Apify](https://sdk.apify.com/docs/api/apify) to `customDataFunction`\n- Added `includeUnfilteredResults` option\n- Parsing of product info - rating, number of reviews and price\n- Fixed `unmatched pseudo-class :first` error on desktop paid products\n",
      "dockerfile": "../../../Dockerfile",
      "description": "Scrapes results from Google",
      "version": "0.0",
      "maxMemoryMbytes": 4096,
      "minMemoryMbytes": 1024,
      "environmentVariables": {
        "LEADS_ENRICHMENT_STANDBY_TOKEN_FY1EFFaYquZv77xVg": "@LEADS_ENRICHMENT_STANDBY_TOKEN_FY1EFFaYquZv77xVg",
        "AI_AGENTS_BACKEND_TOKEN": "@AI_AGENTS_BACKEND_TOKEN"
      },
      "input": {
        "title": "Google Search Results Scraper input",
        "description": "Use this to search Google the same way you normally would - for example, look for <code>cute cats</code>. Use a new line for each query. \n Click &#9655; <strong>Start</strong> to begin the scrape. If you need guidance, follow <a href='https://blog.apify.com/unofficial-google-search-api-from-apify-22a20537a951/#how-to-scrape-google-search-pages' target='_blank' rel='noopener'>this tutorial</a>.<br><br><i>Note: usage and costs are calculated based on the number of pages scraped.</i>",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "queries": {
            "title": "Search term(s)",
            "type": "string",
            "description": "Use regular search words or enter Google Search URLs. You can also apply [advanced Google search techniques](https://blog.apify.com/how-to-scrape-google-like-a-pro/), such as <code>AI site:twitter.com</code> or <code>javascript OR python</code>. You can also define selected search filters as separate fields below (in the <code>Advanced search filters</code> section). Just ensure that your queries do not exceed 32 words to comply with Google Search limits.",
            "prefill": "What are the top 5 CRM tools",
            "example": "best SEO tools\napify web scraping",
            "editor": "textarea",
            "pattern": "[^\\s]+"
          },
          "maxPagesPerQuery": {
            "title": "Max pages per search",
            "type": "integer",
            "description": "Maximum number of pages to scrape per search query. Each page contains approximately 10 results.",
            "prefill": 1,
            "example": 5,
            "minimum": 1
          },
          "aiOverview": {
            "title": "⏩ Add-on: Google AI Overview ($)",
            "description": "Get the complete AI Overview whenever Google shows one for your query - handy when the short snippet isn't enough. May take slightly longer than a standard run, and works best on queries likely to trigger an AI Overview. Costs extra per captured AI Overview - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "scrapeFullAiOverview": false
            },
            "example": {
              "scrapeFullAiOverview": true
            },
            "properties": {
              "scrapeFullAiOverview": {
                "title": "⏩ Add-on: Google AI Overview ($)",
                "description": "Turn on to capture the full AI Overview whenever one appears.",
                "type": "boolean"
              }
            },
            "sectionCaption": "🤖 Add-on: AI search visibility ($)",
            "sectionDescription": "Track how your brand shows up in AI answers, not just classic search results. Turn on the engines you care about and compare their responses side by side to do an AI visibility audit.<br><br><b>Available features:</b><ul><li>Google AI Overviews</li><li>Google AI Mode</li><li>Gemini search</li><li>Perplexity AI search, including recency, related questions, and images</li><li>ChatGPT search</li></ul><b>Pricing:</b> you pay a small fee per successful result while these features are on, with bigger discounts on higher-tier plans. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your exact rate."
          },
          "aiModeSearch": {
            "title": "⏩ Add-on: Google AI Mode ($)",
            "description": "See how your brand appears in Google AI Mode, Google's dedicated AI search interface on google.com (distinct from the AI Overview snippets in regular results). Great for AEO and GEO tracking. Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enableAiMode": false
            },
            "example": {
              "enableAiMode": true
            },
            "properties": {
              "enableAiMode": {
                "title": "⏩ Add-on: Google AI Mode ($)",
                "description": "Turn on to fetch Google AI Mode results for every query.",
                "type": "boolean"
              }
            }
          },
          "geminiSearch": {
            "title": "⏩ Add-on: Gemini search ($)",
            "description": "Get an AI answer from Google Gemini (gemini.google.com), Google's standalone assistant, separate from Google Search.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enableGemini": false
            },
            "prefill": {
              "enableGemini": false
            },
            "example": {
              "enableGemini": true
            },
            "properties": {
              "enableGemini": {
                "title": "⏩ Add-on: Gemini search ($)",
                "description": "Turn on to fetch a Gemini answer for every query.",
                "type": "boolean"
              }
            }
          },
          "perplexitySearch": {
            "title": "⏩ Add-on: Perplexity AI search ($)",
            "description": "Get AI answers and citations from Perplexity's Sonar model.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enablePerplexity": false,
              "returnImages": false,
              "returnRelatedQuestions": false
            },
            "prefill": {
              "enablePerplexity": false,
              "returnImages": false,
              "returnRelatedQuestions": false
            },
            "example": {
              "enablePerplexity": true,
              "returnImages": false,
              "returnRelatedQuestions": true
            },
            "properties": {
              "enablePerplexity": {
                "title": "⏩ Add-on: Perplexity AI search ($)",
                "description": "Turn on to fetch a Perplexity answer for every query.",
                "type": "boolean"
              },
              "searchRecency": {
                "title": "Search recency",
                "type": "string",
                "enum": [
                  "day",
                  "week",
                  "month",
                  "year"
                ],
                "description": "Filter search results based on their recency."
              },
              "returnImages": {
                "title": "Include images in Perplexity AI answers",
                "description": "Include relevant images in Perplexity's answer.",
                "type": "boolean"
              },
              "returnRelatedQuestions": {
                "title": "Include related questions in Perplexity AI answers",
                "description": "Include follow-up questions related to your query.",
                "type": "boolean"
              }
            }
          },
          "chatGptSearch": {
            "title": "⏩ Add-on: ChatGPT search ($)",
            "description": "Get AI answers from OpenAI's search model.<br><br>Costs extra per result - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enableChatGpt": false
            },
            "prefill": {
              "enableChatGpt": false
            },
            "example": {
              "enableChatGpt": true
            },
            "properties": {
              "enableChatGpt": {
                "title": "⏩ Add-on: ChatGPT search ($)",
                "description": "Turn on to fetch a ChatGPT answer for every query.",
                "type": "boolean"
              }
            }
          },
          "copilotSearch": {
            "title": "⏩ Add-on: Microsoft Copilot search ($)",
            "description": "Get AI answers from Microsoft Copilot.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enableCopilot": false
            },
            "prefill": {
              "enableCopilot": false
            },
            "example": {
              "enableCopilot": true
            },
            "properties": {
              "enableCopilot": {
                "title": "⏩ Add-on: Microsoft Copilot search ($)",
                "description": "Turn on to fetch a Microsoft Copilot answer for every query.",
                "type": "boolean"
              },
              "copilotSearchMode": {
                "title": "Microsoft Copilot search mode",
                "type": "string",
                "enum": [
                  "chat",
                  "reasoning",
                  "smart",
                  "study"
                ],
                "description": "Select which Microsoft Copilot chat mode to use for the request:<br><br>• <b>chat</b> - Standard conversational mode. Best for general queries and quick answers.<br>• <b>reasoning</b> - Deep analytical mode. Best for complex questions requiring logical depth.<br>• <b>smart</b> - Balanced mode combining speed and reasoning for most use cases.<br>• <b>study</b> - Detailed explanatory mode. Best for educational and research-oriented prompts."
              }
            }
          },
          "maximumLeadsEnrichmentRecords": {
            "title": "⏩ Add-on: Extract business leads information: max leads per domain ($)",
            "description": "Maximum number of lead records to scrape per domain found. Set to 0 (the default) to disable leads enrichment.<br><br>⚠️ This returns personal data. You're responsible for having a legal basis to collect and use it under privacy laws.<br><br>⚠️ <b>This value is a multiplier</b> - see the section description above for how costs are calculated.",
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "prefill": 0,
            "example": 5,
            "sectionCaption": "👥 Add-on: Business leads enrichment ($)",
            "sectionDescription": "Add contact and company details for the people behind each domain you find.<br><br><b>What you get:</b> name, work email, phone number, job title, and LinkedIn profile, plus company data like industry and size.<br><br>Find the leads tied to each search result in the <b>'Organic results'</b> tab.<br><br>⚠️ <b>How costs work:</b> the number you request is <b>per domain found</b>. Requesting 10 leads across 1,000 domains attempts 10,000 leads. You only pay for leads actually found. Higher-tier plans mean bigger discounts - see the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your exact rate.<br><br><b>Please be aware:</b> enrichment runs on every domain in your results - news sites, directories, and comparison sites included, not just company websites."
          },
          "leadsEnrichmentDepartments": {
            "title": "Lead departments",
            "description": "Include only leads from specific departments, such as Sales, Marketing, or C-suite. Only applies when business leads enrichment (<code>maximumLeadsEnrichmentRecords</code>) is enabled. Note that some job titles may be miscategorized.",
            "type": "array",
            "editor": "select",
            "example": [
              "marketing",
              "sales"
            ],
            "items": {
              "type": "string",
              "enum": [
                "c_suite",
                "product",
                "engineering_technical",
                "design",
                "education",
                "finance",
                "human_resources",
                "information_technology",
                "legal",
                "marketing",
                "medical_health",
                "operations",
                "sales",
                "consulting"
              ],
              "enumTitles": [
                "C-Suite",
                "Product",
                "Engineering & Technical",
                "Design",
                "Education",
                "Finance",
                "Human Resources",
                "Information Technology",
                "Legal",
                "Marketing",
                "Medical & Health",
                "Operations",
                "Sales",
                "Consulting"
              ]
            }
          },
          "verifyLeadsEnrichmentEmails": {
            "title": "⏩ Add-on: Email verification ($)",
            "type": "boolean",
            "description": "Check whether each lead's email is actually deliverable before you reach out. Adds an <code>emailVerification</code> object to every lead with the result and a quality score.<br><br><b>Charged (decisive results):</b> valid (<code>ok</code>), invalid, and disposable addresses.<br><b>Not charged:</b> catch-all, unknown, and error results.<br><br>⚠️ Requires business leads enrichment to be enabled.",
            "default": false,
            "example": true
          },
          "linkProspecting": {
            "title": "🔗 Add-on: Link prospecting tool ($)",
            "description": "<b>Charged events:</b> <code>search-page-scraped</code> (base, per Google SERP page), <code>website-content-scraped</code>, <code>lead-scraped</code> (up to 5 contacts per domain, marketing and C-suite roles only), and one event per enabled AI engine query. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for rates.<br><br>⚠️ If business leads enrichment is also active, domains that appear in both organic results and AI citations may be enriched by both features and charged for leads separately.<br><br>⚠️ If the Full website content add-on is also active, pages shared between the two add-ons are scraped and charged only once.",
            "type": "object",
            "editor": "schemaBased",
            "sectionCaption": "🔗 Add-on: Link prospecting tool ($)",
            "sectionDescription": "Find websites that cover your topic but don't yet mention your brand, then get outreach contacts for link building.<br><br><b>How it works:</b> checks every URL cited in Google Search results, and any other AI engines enabled in the AI search visibility section above.<br><br><b>To enable:</b> set <b>Brand name</b> below. Leave it empty to skip this add-on.<br><br><b>Where to find results:</b> in a separate <b>Link prospecting tool</b> dataset.",
            "properties": {
              "brandName": {
                "title": "Brand name",
                "type": "string",
                "editor": "textfield",
                "description": "Your brand name to search for on every cited page. Setting this field enables the Link prospecting tool add-on. Pages where this name is found are saved with <code>isBrandMentionedInSource: true</code>. Pages where it is absent are saved with <code>isBrandMentionedInSource: false</code> and enriched with outreach contacts. Leave empty to disable this add-on.",
                "example": "Apify"
              },
              "ownDomains": {
                "title": "Own domains",
                "type": "array",
                "description": "List of domains belonging to your brand. These are excluded from Link prospecting tool results - you don't need to find outreach contacts on your own site. Subdomains are also excluded when their root domain matches.",
                "example": [
                  "mycompany.com",
                  "blog.mycompany.com"
                ],
                "editor": "stringList",
                "items": {
                  "type": "string"
                }
              },
              "ignoredDomains": {
                "title": "Ignored domains",
                "type": "array",
                "description": "List of domains to exclude from Link prospecting tool (e.g. competitor sites or well-known directories). Subdomains are also excluded when their root domain matches.",
                "example": [
                  "competitor.com",
                  "wikipedia.org"
                ],
                "editor": "stringList",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "websiteContentScraper": {
            "title": "🔍 Add-on: Full website content ($)",
            "description": "Get the full page content of every organic result as <code>websiteContent.text</code>, plus <code>websiteContent.markdown</code> when the page converts cleanly (<code>null</code> otherwise). Uses the Website Content Crawler. Charged event: <code>website-content-scraped</code>, per successfully scraped page. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for rates.<br><br>⚠️ If the Link prospecting tool add-on is also active, pages shared between the two add-ons are scraped and charged only once.",
            "type": "object",
            "editor": "schemaBased",
            "default": {
              "enable": false
            },
            "example": {
              "enable": true
            },
            "properties": {
              "enable": {
                "title": "🔍 Add-on: Full website content ($)",
                "description": "Turn on to scrape each organic result page and attach its content to the result item.",
                "type": "boolean"
              }
            },
            "sectionCaption": "🔍 Add-on: Full website content ($)",
            "sectionDescription": "Pull the full page content behind your organic results so you can run content gap analysis, competitive audits, and SERP benchmarking."
          },
          "focusOnPaidAds": {
            "title": "📢 Add-on: Paid results (ads) extraction ($)",
            "type": "boolean",
            "description": "Turn on to capture the Google Ads shown for each query.",
            "default": false,
            "example": true,
            "sectionCaption": "📢 Add-on: Paid results (ads) extraction ($)",
            "sectionDescription": "Capture the Google Ads running for your keywords to benchmark competitor messaging and spot new campaigns.<br><br><b>How it works:</b> uses an ad-specialized proxy with up to 3 retries per query to detect ads reliably. Best for queries likely to show ads, skip it for general scraping.<br><br><b>Pricing:</b> costs extra per search page even if no ads are found. The value is in the complete check. See the <a href='https://console.apify.com/actors/nFJndFXA5zjCTuudP/info/pricing?build=latest' target='_blank'>Pricing tab</a> for your rate."
          },
          "countryCode": {
            "sectionCaption": "Location and language",
            "title": "Country",
            "type": "string",
            "description": "Country of the Google results, passed to Google Search as the <code>gl</code> URL query parameter. By default, the Actor uses United States. For Google Search URLs, the URL's own <code>gl</code> parameter or domain is used instead. The country is also sent to the LLM search engines. ChatGPT, Gemini, Copilot and AI Mode do not support every country; if the selected one is not available, that engine returns no result.",
            "editor": "select",
            "example": "us",
            "enum": [
              "",
              "af",
              "al",
              "dz",
              "as",
              "ad",
              "ao",
              "ai",
              "aq",
              "ag",
              "ar",
              "am",
              "aw",
              "au",
              "at",
              "az",
              "bs",
              "bh",
              "bd",
              "bb",
              "by",
              "be",
              "bz",
              "bj",
              "bm",
              "bt",
              "bo",
              "ba",
              "bw",
              "bv",
              "br",
              "io",
              "bn",
              "bg",
              "bf",
              "bi",
              "kh",
              "cm",
              "ca",
              "cv",
              "ky",
              "cf",
              "td",
              "cl",
              "cn",
              "cx",
              "cc",
              "co",
              "km",
              "cg",
              "cd",
              "ck",
              "cr",
              "ci",
              "hr",
              "cu",
              "cy",
              "cz",
              "dk",
              "dj",
              "dm",
              "do",
              "ec",
              "eg",
              "sv",
              "gq",
              "er",
              "ee",
              "et",
              "fk",
              "fo",
              "fj",
              "fi",
              "fr",
              "gf",
              "pf",
              "tf",
              "ga",
              "gm",
              "ge",
              "de",
              "gh",
              "gi",
              "gr",
              "gl",
              "gd",
              "gp",
              "gu",
              "gt",
              "gn",
              "gw",
              "gy",
              "ht",
              "hm",
              "va",
              "hn",
              "hk",
              "hu",
              "is",
              "in",
              "id",
              "ir",
              "iq",
              "ie",
              "il",
              "it",
              "jm",
              "jp",
              "jo",
              "kz",
              "ke",
              "ki",
              "kp",
              "kr",
              "kw",
              "kg",
              "la",
              "lv",
              "lb",
              "ls",
              "lr",
              "ly",
              "li",
              "lt",
              "lu",
              "mo",
              "mk",
              "mg",
              "mw",
              "my",
              "mv",
              "ml",
              "mt",
              "mh",
              "mq",
              "mr",
              "mu",
              "yt",
              "mx",
              "fm",
              "md",
              "mc",
              "mn",
              "me",
              "ms",
              "ma",
              "mz",
              "mm",
              "na",
              "nr",
              "np",
              "nl",
              "an",
              "nc",
              "nz",
              "ni",
              "ne",
              "ng",
              "nu",
              "nf",
              "mp",
              "no",
              "om",
              "pk",
              "pw",
              "ps",
              "pa",
              "pg",
              "py",
              "pe",
              "ph",
              "pn",
              "pl",
              "pt",
              "pr",
              "qa",
              "re",
              "ro",
              "ru",
              "rw",
              "sh",
              "kn",
              "lc",
              "pm",
              "vc",
              "ws",
              "sm",
              "st",
              "sa",
              "sn",
              "rs",
              "sc",
              "sl",
              "sg",
              "sk",
              "si",
              "sb",
              "so",
              "za",
              "gs",
              "es",
              "lk",
              "sd",
              "sr",
              "sj",
              "sz",
              "se",
              "ch",
              "sy",
              "tw",
              "tj",
              "tz",
              "th",
              "tl",
              "tg",
              "tk",
              "to",
              "tt",
              "tn",
              "tr",
              "tm",
              "tc",
              "tv",
              "ug",
              "ua",
              "ae",
              "gb",
              "us",
              "um",
              "uy",
              "uz",
              "vu",
              "ve",
              "vn",
              "vg",
              "vi",
              "wf",
              "eh",
              "ye",
              "zm",
              "zw"
            ],
            "enumTitles": [
              "Default (United States)",
              "Afghanistan",
              "Albania",
              "Algeria",
              "American Samoa",
              "Andorra",
              "Angola",
              "Anguilla",
              "Antarctica",
              "Antigua and Barbuda",
              "Argentina",
              "Armenia",
              "Aruba",
              "Australia",
              "Austria",
              "Azerbaijan",
              "Bahamas",
              "Bahrain",
              "Bangladesh",
              "Barbados",
              "Belarus",
              "Belgium",
              "Belize",
              "Benin",
              "Bermuda",
              "Bhutan",
              "Bolivia",
              "Bosnia and Herzegovina",
              "Botswana",
              "Bouvet Island",
              "Brazil",
              "British Indian Ocean Territory",
              "Brunei Darussalam",
              "Bulgaria",
              "Burkina Faso",
              "Burundi",
              "Cambodia",
              "Cameroon",
              "Canada",
              "Cape Verde",
              "Cayman Islands",
              "Central African Republic",
              "Chad",
              "Chile",
              "China",
              "Christmas Island",
              "Cocos (Keeling) Islands",
              "Colombia",
              "Comoros",
              "Congo",
              "Congo, the Democratic Republic of the",
              "Cook Islands",
              "Costa Rica",
              "Cote D'ivoire",
              "Croatia",
              "Cuba",
              "Cyprus",
              "Czech Republic",
              "Denmark",
              "Djibouti",
              "Dominica",
              "Dominican Republic",
              "Ecuador",
              "Egypt",
              "El Salvador",
              "Equatorial Guinea",
              "Eritrea",
              "Estonia",
              "Ethiopia",
              "Falkland Islands (Malvinas)",
              "Faroe Islands",
              "Fiji",
              "Finland",
              "France",
              "French Guiana",
              "French Polynesia",
              "French Southern Territories",
              "Gabon",
              "Gambia",
              "Georgia",
              "Germany",
              "Ghana",
              "Gibraltar",
              "Greece",
              "Greenland",
              "Grenada",
              "Guadeloupe",
              "Guam",
              "Guatemala",
              "Guinea",
              "Guinea-Bissau",
              "Guyana",
              "Haiti",
              "Heard Island and Mcdonald Islands",
              "Holy See (Vatican City State)",
              "Honduras",
              "Hong Kong",
              "Hungary",
              "Iceland",
              "India",
              "Indonesia",
              "Iran, Islamic Republic of",
              "Iraq",
              "Ireland",
              "Israel",
              "Italy",
              "Jamaica",
              "Japan",
              "Jordan",
              "Kazakhstan",
              "Kenya",
              "Kiribati",
              "Korea, Democratic People's Republic of",
              "Korea, Republic of",
              "Kuwait",
              "Kyrgyzstan",
              "Lao People's Democratic Republic",
              "Latvia",
              "Lebanon",
              "Lesotho",
              "Liberia",
              "Libyan Arab Jamahiriya",
              "Liechtenstein",
              "Lithuania",
              "Luxembourg",
              "Macao",
              "Macedonia, the Former Yugoslav Republic of",
              "Madagascar",
              "Malawi",
              "Malaysia",
              "Maldives",
              "Mali",
              "Malta",
              "Marshall Islands",
              "Martinique",
              "Mauritania",
              "Mauritius",
              "Mayotte",
              "Mexico",
              "Micronesia, Federated States of",
              "Moldova, Republic of",
              "Monaco",
              "Mongolia",
              "Montenegro",
              "Montserrat",
              "Morocco",
              "Mozambique",
              "Myanmar",
              "Namibia",
              "Nauru",
              "Nepal",
              "Netherlands",
              "Netherlands Antilles",
              "New Caledonia",
              "New Zealand",
              "Nicaragua",
              "Niger",
              "Nigeria",
              "Niue",
              "Norfolk Island",
              "Northern Mariana Islands",
              "Norway",
              "Oman",
              "Pakistan",
              "Palau",
              "Palestinian Territory, Occupied",
              "Panama",
              "Papua New Guinea",
              "Paraguay",
              "Peru",
              "Philippines",
              "Pitcairn",
              "Poland",
              "Portugal",
              "Puerto Rico",
              "Qatar",
              "Reunion",
              "Romania",
              "Russian Federation",
              "Rwanda",
              "Saint Helena",
              "Saint Kitts and Nevis",
              "Saint Lucia",
              "Saint Pierre and Miquelon",
              "Saint Vincent and the Grenadines",
              "Samoa",
              "San Marino",
              "Sao Tome and Principe",
              "Saudi Arabia",
              "Senegal",
              "Serbia",
              "Seychelles",
              "Sierra Leone",
              "Singapore",
              "Slovakia",
              "Slovenia",
              "Solomon Islands",
              "Somalia",
              "South Africa",
              "South Georgia and the South Sandwich Islands",
              "Spain",
              "Sri Lanka",
              "Sudan",
              "Suriname",
              "Svalbard and Jan Mayen",
              "Swaziland",
              "Sweden",
              "Switzerland",
              "Syrian Arab Republic",
              "Taiwan, Province of China",
              "Tajikistan",
              "Tanzania, United Republic of",
              "Thailand",
              "Timor-Leste",
              "Togo",
              "Tokelau",
              "Tonga",
              "Trinidad and Tobago",
              "Tunisia",
              "Turkey",
              "Turkmenistan",
              "Turks and Caicos Islands",
              "Tuvalu",
              "Uganda",
              "Ukraine",
              "United Arab Emirates",
              "United Kingdom",
              "United States",
              "United States Minor Outlying Islands",
              "Uruguay",
              "Uzbekistan",
              "Vanuatu",
              "Venezuela",
              "Viet Nam",
              "Virgin Islands, British",
              "Virgin Islands, U.S.",
              "Wallis and Futuna",
              "Western Sahara",
              "Yemen",
              "Zambia",
              "Zimbabwe"
            ]
          },
          "searchLanguage": {
            "title": "Search language",
            "type": "string",
            "description": "Restricts search results to pages in a specific language. For example, choosing 'German' results in pages only in German. Passed to Google Search as the <code>lr</code> URL query parameter. <a href='https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list' target='_blank'>Read more here</a>.",
            "default": "",
            "example": "en",
            "editor": "select",
            "enum": [
              "",
              "ar",
              "bg",
              "ca",
              "cs",
              "da",
              "de",
              "el",
              "en",
              "es",
              "et",
              "fi",
              "fr",
              "hr",
              "hu",
              "id",
              "is",
              "it",
              "iw",
              "ja",
              "ko",
              "lt",
              "lv",
              "nl",
              "no",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sr",
              "sv",
              "th",
              "tr",
              "uk",
              "zh-CN",
              "zh-TW"
            ],
            "enumTitles": [
              "Default",
              "Arabic",
              "Bulgarian",
              "Catalan",
              "Czech",
              "Danish",
              "German",
              "Greek",
              "English",
              "Spanish",
              "Estonian",
              "Finnish",
              "French",
              "Croatian",
              "Hungarian",
              "Indonesian",
              "Icelandic",
              "Italian",
              "Hebrew",
              "Japanese",
              "Korean",
              "Lithuanian",
              "Latvian",
              "Dutch",
              "Norwegian",
              "Polish",
              "Portuguese",
              "Romanian",
              "Russian",
              "Slovak",
              "Slovenian",
              "Serbian",
              "Swedish",
              "Thai",
              "Turkish",
              "Ukrainian",
              "Chinese (Simplified)",
              "Chinese (Traditional)"
            ]
          },
          "languageCode": {
            "title": "Interface language",
            "type": "string",
            "description": "Language of the Google Search interface (menus, buttons, etc. - not the search results themselves). Passed to Google Search as the <code>hl</code> URL query parameter. It can still affect results on international queries when no search-language restriction (the <code>lr</code> parameter) is set. <a href='https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list' target='_blank'>Read more here</a>.",
            "default": "",
            "example": "en",
            "editor": "select",
            "enum": [
              "",
              "af",
              "sq",
              "sm",
              "ar",
              "az",
              "eu",
              "be",
              "bn",
              "bh",
              "bs",
              "bg",
              "ca",
              "zh-CN",
              "zh-TW",
              "hr",
              "cs",
              "da",
              "nl",
              "en",
              "eo",
              "et",
              "fo",
              "fi",
              "fr",
              "fy",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "iw",
              "hi",
              "hu",
              "is",
              "id",
              "ia",
              "ga",
              "it",
              "ja",
              "jw",
              "kn",
              "ko",
              "la",
              "lv",
              "lt",
              "mk",
              "ms",
              "ml",
              "mt",
              "mr",
              "ne",
              "no",
              "nn",
              "oc",
              "fa",
              "pl",
              "pt-BR",
              "pt-PT",
              "pa",
              "ro",
              "ru",
              "gd",
              "sr",
              "si",
              "sk",
              "sl",
              "es",
              "su",
              "sw",
              "sv",
              "tl",
              "ta",
              "te",
              "th",
              "ti",
              "tr",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "xh",
              "zu"
            ],
            "enumTitles": [
              "Same as country",
              "Afrikaans",
              "Albanian",
              "Amharic",
              "Arabic",
              "Azerbaijani",
              "Basque",
              "Belarusian",
              "Bengali",
              "Bihari",
              "Bosnian",
              "Bulgarian",
              "Catalan",
              "Chinese (Simplified)",
              "Chinese (Traditional)",
              "Croatian",
              "Czech",
              "Danish",
              "Dutch",
              "English",
              "Esperanto",
              "Estonian",
              "Faroese",
              "Finnish",
              "French",
              "Frisian",
              "Galician",
              "Georgian",
              "German",
              "Greek",
              "Gujarati",
              "Hebrew",
              "Hindi",
              "Hungarian",
              "Icelandic",
              "Indonesian",
              "Interlingua",
              "Irish",
              "Italian",
              "Japanese",
              "Javanese",
              "Kannada",
              "Korean",
              "Latin",
              "Latvian",
              "Lithuanian",
              "Macedonian",
              "Malay",
              "Malayam",
              "Maltese",
              "Marathi",
              "Nepali",
              "Norwegian",
              "Norwegian (Nynorsk)",
              "Occitan",
              "Persian",
              "Polish",
              "Portuguese (Brazil)",
              "Portuguese (Portugal)",
              "Punjabi",
              "Romanian",
              "Russian",
              "Scots Gaelic",
              "Serbian",
              "Sinhalese",
              "Slovak",
              "Slovenian",
              "Spanish",
              "Sudanese",
              "Swahili",
              "Swedish",
              "Tagalog",
              "Tamil",
              "Telugu",
              "Thai",
              "Tigrinya",
              "Turkish",
              "Ukrainian",
              "Urdu",
              "Uzbek",
              "Vietnamese",
              "Welsh",
              "Xhosa",
              "Zulu"
            ]
          },
          "locationUule": {
            "title": "Exact location (Google UULE parameter)",
            "type": "string",
            "description": "The code for the exact location for the Google search. It's passed to Google Search as the <code>uule</code> URL query parameter. You can use the <a href='https://padavvan.github.io/' target='_blank'>UULE code generator</a>. Set <b>Country</b> to the location's country, otherwise Google ignores the location. Learn more about <a href='https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search' target='_blank'>emulating local search</a>.",
            "editor": "textfield",
            "example": "w+CAIQICIhVW5pdGVkIFN0YXRlcyx1c2E="
          },
          "forceExactMatch": {
            "title": "Force exact match",
            "type": "boolean",
            "description": "If checked, the scraper will search for the exact phrase in the query. This is done by wrapping the query in quotes. Note that this may return fewer results. Also note that if you're using operators such as OR or AND, the whole query will be wrapped in quotes, such as <code>\"Windows AND macOS\"</code>. If you want to search for queries such as <code>\"Windows\" AND \"macOS\"</code>, you need to specify them directly in the <code>queries</code> field.",
            "default": false,
            "example": true,
            "sectionCaption": "Advanced search filters",
            "sectionDescription": "Use these filters to narrow down your search results. You can use them in combination with your search terms above. Each filter will be applied to all queries except for the ones that already contain the given filter. For example, if you have a query <code>literature site:example.com</code>, the <code>site</code> filter will not be applied to it."
          },
          "site": {
            "title": "Site",
            "type": "string",
            "description": "Limits the search to a specific site, such as: <code>site:example.com</code>. Note that the <code>site</code> filter takes precedence over the <code>relatedToSite</code> filter. If both filters are set, the <code>relatedToSite</code> filter will be ignored and not added to the search queries.",
            "editor": "textfield",
            "pattern": "^([\\w-]+\\.)+\\w+$",
            "example": "example.com"
          },
          "relatedToSite": {
            "title": "Related to site",
            "type": "string",
            "description": "Filters pages related to a specific site, such as: <code>related:example.com</code>. Note that the <code>site</code> filter takes precedence over the <code>relatedToSite</code> filter. If both filters are set, the <code>relatedToSite</code> filter will be ignored and not added to the search queries.",
            "editor": "textfield",
            "pattern": "^([\\w-]+\\.)+\\w+$",
            "example": "example.com"
          },
          "wordsInTitle": {
            "title": "Words in title",
            "type": "array",
            "description": "Filters pages with specific words in the title. The scraper uses the <code>intitle:</code> operator, even for multiple words (e.g. <code>recipe site:allrecipes.com intitle:\"easy apple\" intitle:pie</code>). There's also a <code>allintitle:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allintitle:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.",
            "editor": "stringList",
            "items": {
              "type": "string",
              "pattern": "^[^\\s](.+[^\\s])*$"
            },
            "maxItems": 32,
            "default": [],
            "example": [
              "easy",
              "tutorial"
            ]
          },
          "wordsInText": {
            "title": "Words in text",
            "type": "array",
            "description": "Filters pages with specific words in the text. The scraper uses the <code>intext:</code> operator, even for multiple words (e.g. <code>cartoon site:wikipedia.com intext:cat intext:mouse</code>). There's also a <code>allintext:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allintext:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.",
            "editor": "stringList",
            "items": {
              "type": "string",
              "pattern": "^[^\\s](.+[^\\s])*$"
            },
            "maxItems": 32,
            "default": [],
            "example": [
              "artificial intelligence"
            ]
          },
          "wordsInUrl": {
            "title": "Words in URL",
            "type": "array",
            "description": "Filters pages with specific words in the URL. The scraper uses the <code>inurl:</code> operator, even for multiple words (e.g. <code>recipe site:allrecipes.com inurl:apple inurl:pie</code>). There's also a <code>allinurl:</code> operator available, but it's problematic when combined with other search filters, so the scraper avoids using it. If you need to use the <code>allinurl:</code> operator specifically, you can include it in your custom queries from the <code>queries</code> field.",
            "editor": "stringList",
            "items": {
              "type": "string",
              "pattern": "^[^\\s](.+[^\\s])*$"
            },
            "maxItems": 32,
            "default": [],
            "example": [
              "blog"
            ]
          },
          "quickDateRange": {
            "title": "Quick date range",
            "type": "string",
            "description": "Filters results from a specific date range. d[number] specifies the number of past days (e.g. the past 10 days can be written as d10). The same applies to hours, weeks, months, and years: h[number], w[number], m[number], y[number]. Example for the past year: 'y1' or even 'y'. The value is passed to Google Search using the <code>tbs</code> URL query parameter, prefixed with <code>qdr:</code>. You should avoid combining this filter with the <code>beforeDate</code> and <code>afterDate</code> filters to prevent conflicts.",
            "editor": "textfield",
            "pattern": "^[hdwmy]\\d*$",
            "example": "m6"
          },
          "beforeDate": {
            "title": "Before date",
            "type": "string",
            "description": "Filters results from before the specified date. Either absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `days`, `weeks`, `months`, `years`. You should avoid combining this filter with the `quickDateRange` filter to prevent conflicts.",
            "editor": "datepicker",
            "dateType": "absoluteOrRelative",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
            "example": "2024-12-31"
          },
          "afterDate": {
            "title": "After date",
            "type": "string",
            "description": "Filters results from after the specified date. Either absolute date (e.g. `2024-05-03`) or relative date from now into the past (e.g. `8 days`, `3 months`). Absolute time is always interpreted in the UTC timezone, not your local timezone - please convert accordingly. Supported relative date & time units: `days`, `weeks`, `months`, `years`. You should avoid combining this filter with the `quickDateRange` filter to prevent conflicts.",
            "editor": "datepicker",
            "dateType": "absoluteOrRelative",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
            "example": "2024-01-01"
          },
          "fileTypes": {
            "title": "File types",
            "description": "Filters results of specific file types using the <code>filetype:</code> operator, such as <code>filetype:pdf</code>. You can select multiple file types as well. They will be combined with the <code>OR</code> operator, for example: <code>filetype:doc OR filetype:txt</code>. If you need to use a file type that is not in the list (such as a source code file type), you can include it in your custom queries from the <code>queries</code> field, using the <code>filetype:</code> operator.",
            "type": "array",
            "editor": "select",
            "maxItems": 10,
            "example": [
              "pdf",
              "doc"
            ],
            "items": {
              "type": "string",
              "enum": [
                "pdf",
                "csv",
                "epub",
                "ps",
                "htm",
                "html",
                "xls",
                "xlsx",
                "ppt",
                "pptx",
                "doc",
                "docx",
                "odp",
                "ods",
                "odt",
                "rtf",
                "svg",
                "tex",
                "txt",
                "wml",
                "wap",
                "xml",
                "xps",
                "md",
                "readme",
                "log",
                "yml",
                "yaml",
                "toml",
                "ipynb",
                "sas",
                "sql",
                "rdf",
                "avif",
                "avi",
                "mkv",
                "mov",
                "flv",
                "asf",
                "ogv"
              ],
              "enumTitles": [
                "Adobe Portable Document Format (pdf)",
                "Comma-Separated Values (csv)",
                "Electronic Publication (epub)",
                "Adobe PostScript (ps)",
                "HTML (htm)",
                "HTML (html)",
                "Microsoft Excel (xls)",
                "Microsoft Excel (xlsx)",
                "Microsoft PowerPoint (ppt)",
                "Microsoft PowerPoint (pptx)",
                "Microsoft Word (doc)",
                "Microsoft Word (docx)",
                "OpenOffice presentation (odp)",
                "OpenOffice spreadsheet (ods)",
                "OpenOffice text (odt)",
                "Rich Text Format (rtf)",
                "Scalable Vector Graphics (svg)",
                "TeX/LaTeX (tex)",
                "Text (txt)",
                "Wireless Markup Language (wml)",
                "Wireless Markup Language (wap)",
                "XML (xml)",
                "XML Paper Specification (xps)",
                "Markdown (md)",
                "Readme (readme)",
                "Log file (log)",
                "YAML (yml)",
                "YAML (yaml)",
                "TOML (toml)",
                "Jupyter Notebook (ipynb)",
                "SAS (sas)",
                "SQL (sql)",
                "Resource Description Framework (rdf)",
                "AV1 Image File Format (avif)",
                "Audio Video Interleave (avi)",
                "Matroska Multimedia Container (mkv)",
                "QuickTime Movie (mov)",
                "Flash Video (flv)",
                "Advanced Systems Format (asf)",
                "Ogg Video (ogv)"
              ]
            }
          },
          "mobileResults": {
            "title": "Mobile results",
            "type": "boolean",
            "description": "If checked, the scraper returns results from the mobile version of Google Search. Otherwise, desktop results are returned.",
            "default": false,
            "example": true,
            "sectionCaption": "Additional settings"
          },
          "includeUnfilteredResults": {
            "title": "Unfiltered results",
            "type": "boolean",
            "description": "If checked, the lower-quality results that Google normally filters out are included.",
            "default": false,
            "example": true
          },
          "saveHtml": {
            "title": "Save HTML to dataset",
            "type": "boolean",
            "description": "If checked, the HTML of the Google Search results pages is stored in the default dataset, under the <code>html</code> property. This is useful if you need to process the HTML, but it makes the dataset large.",
            "default": false,
            "example": true
          },
          "saveHtmlToKeyValueStore": {
            "title": "Save HTML to key-value store",
            "type": "boolean",
            "description": "If checked, the HTML of the Google Search results pages is stored in the default key-value store, and links to the files are stored in the dataset under the <code>htmlSnapshotUrl</code> property. This is useful for debugging, since you can easily view the pages in the browser. Note that this feature may slow down the Actor.",
            "default": true,
            "example": false
          },
          "includeIcons": {
            "title": "Include icon image data (base64)",
            "type": "boolean",
            "description": "If checked, all of the results (organicResults, paidResults, suggestedResults) will contain Base64-encoded icon image data if found.",
            "default": false,
            "example": true
          }
        },
        "required": [
          "queries"
        ]
      },
      "storages": {
        "datasets": {
          "default": {
            "actorSpecification": 1,
            "views": {
              "overview": {
                "title": "Overview",
                "description": "",
                "transformation": {
                  "fields": [
                    "searchQuery",
                    "relatedQueries",
                    "aiOverview",
                    "paidResults",
                    "paidProducts",
                    "organicResults",
                    "peopleAlsoAsk",
                    "aiModeResult",
                    "perplexitySearchResult",
                    "chatGptSearchResult",
                    "copilotSearchResult",
                    "geminiSearchResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "$searchQuery.term": {
                      "label": "Search term",
                      "format": "text"
                    },
                    "relatedQueries": {
                      "label": "Related queries",
                      "format": "array"
                    },
                    "aiOverview": {
                      "label": "AI Overview",
                      "format": "object"
                    },
                    "paidResults": {
                      "label": "Paid results",
                      "format": "array"
                    },
                    "paidProducts": {
                      "label": "Paid products",
                      "format": "array"
                    },
                    "organicResults": {
                      "label": "Organic results",
                      "format": "array"
                    },
                    "peopleAlsoAsk": {
                      "label": "People also ask",
                      "format": "array"
                    },
                    "aiModeResult": {
                      "label": "AI Mode results",
                      "format": "object"
                    },
                    "perplexitySearchResult": {
                      "label": "Perplexity AI search results",
                      "format": "object"
                    },
                    "chatGptSearchResult": {
                      "label": "ChatGPT search results",
                      "format": "object"
                    },
                    "copilotSearchResult": {
                      "label": "Microsoft Copilot search results",
                      "format": "object"
                    }
                  }
                }
              },
              "organic_results": {
                "title": "Organic results",
                "description": "",
                "transformation": {
                  "fields": [
                    "title",
                    "url",
                    "description",
                    "displayedUrl",
                    "emphasizedKeywords",
                    "siteLinks",
                    "date",
                    "productInfo",
                    "personalInfo",
                    "leadsEnrichment",
                    "websiteContent",
                    "organicResults"
                  ],
                  "unwind": [
                    "organicResults"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "title": {
                      "label": "Title",
                      "format": "text"
                    },
                    "url": {
                      "label": "URL",
                      "format": "link"
                    },
                    "description": {
                      "label": "Description",
                      "format": "text"
                    },
                    "$searchQuery.term": {
                      "label": "Search term",
                      "format": "text"
                    },
                    "$searchQuery.page": {
                      "label": "Page",
                      "format": "number"
                    },
                    "displayedUrl": {
                      "label": "Displayed url",
                      "format": "link"
                    },
                    "emphasizedKeywords": {
                      "label": "Emphasized keywords",
                      "format": "array"
                    },
                    "siteLinks": {
                      "label": "Site links",
                      "format": "array"
                    },
                    "date": {
                      "label": "Date",
                      "format": "date"
                    },
                    "productInfo": {
                      "label": "Product info",
                      "format": "object"
                    },
                    "personalInfo": {
                      "label": "Personal info",
                      "format": "object"
                    },
                    "leadsEnrichment": {
                      "label": "Lead enrichment",
                      "format": "array"
                    },
                    "websiteContent": {
                      "label": "Website content",
                      "format": "object"
                    }
                  }
                }
              },
              "paid_results": {
                "title": "Paid results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "searchQuery",
                    "title",
                    "url",
                    "description",
                    "displayedUrl",
                    "emphasizedKeywords",
                    "siteLinks",
                    "date",
                    "productInfo",
                    "personalInfo",
                    "paidResults"
                  ],
                  "unwind": [
                    "paidResults"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "title": {
                      "label": "Title",
                      "format": "text"
                    },
                    "url": {
                      "label": "URL",
                      "format": "link"
                    },
                    "description": {
                      "label": "Description",
                      "format": "text"
                    },
                    "$searchQuery.term": {
                      "label": "Search term",
                      "format": "text"
                    },
                    "$searchQuery.page": {
                      "label": "Page",
                      "format": "number"
                    },
                    "displayedUrl": {
                      "label": "Displayed url",
                      "format": "link"
                    },
                    "emphasizedKeywords": {
                      "label": "Emphasized keywords",
                      "format": "array"
                    },
                    "siteLinks": {
                      "label": "Site links",
                      "format": "array"
                    },
                    "date": {
                      "label": "Date",
                      "format": "date"
                    },
                    "productInfo": {
                      "label": "Product info",
                      "format": "object"
                    },
                    "personalInfo": {
                      "label": "Personal info",
                      "format": "object"
                    }
                  }
                }
              },
              "ai_mode": {
                "title": "AI Mode results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "query",
                    "provider",
                    "text",
                    "kvsHtmlUrl",
                    "sources",
                    "aiModeResult"
                  ],
                  "unwind": [
                    "aiModeResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "provider": {
                      "label": "Provider",
                      "format": "text"
                    },
                    "text": {
                      "label": "Text",
                      "format": "text"
                    },
                    "kvsHtmlUrl": {
                      "label": "URL",
                      "format": "link"
                    },
                    "sources": {
                      "label": "Sources"
                    }
                  }
                }
              },
              "perplexity_search": {
                "title": "Perplexity AI search results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "query",
                    "provider",
                    "text",
                    "sources",
                    "citationUrls",
                    "relatedQuestions",
                    "images",
                    "perplexitySearchResult"
                  ],
                  "unwind": [
                    "perplexitySearchResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "provider": {
                      "label": "Provider",
                      "format": "text"
                    },
                    "text": {
                      "label": "Text",
                      "format": "text"
                    },
                    "sources": {
                      "label": "Sources"
                    },
                    "citationUrls": {
                      "label": "Citation URLs"
                    },
                    "relatedQuestions": {
                      "label": "Related questions"
                    },
                    "images": {
                      "label": "Images"
                    }
                  }
                }
              },
              "chat_gpt_search": {
                "title": "ChatGPT search results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "query",
                    "provider",
                    "text",
                    "sources",
                    "queryFanOut",
                    "widgets",
                    "chatGptSearchResult"
                  ],
                  "unwind": [
                    "chatGptSearchResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "provider": {
                      "label": "Provider",
                      "format": "text"
                    },
                    "text": {
                      "label": "Text",
                      "format": "text"
                    },
                    "sources": {
                      "label": "Sources"
                    },
                    "queryFanOut": {
                      "label": "Query Fan-out"
                    },
                    "widgets": {
                      "label": "Widgets"
                    }
                  }
                }
              },
              "copilot_search": {
                "title": "Microsoft Copilot search results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "query",
                    "provider",
                    "text",
                    "sources",
                    "tables",
                    "inlineCitations",
                    "copilotSearchResult"
                  ],
                  "unwind": [
                    "copilotSearchResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "provider": {
                      "label": "Provider",
                      "format": "text"
                    },
                    "text": {
                      "label": "Text",
                      "format": "text"
                    },
                    "sources": {
                      "label": "Sources"
                    },
                    "tables": {
                      "label": "Tables"
                    },
                    "inlineCitations": {
                      "label": "Inline citations"
                    }
                  }
                }
              },
              "gemini_search": {
                "title": "Gemini search results (if any)",
                "description": "",
                "transformation": {
                  "fields": [
                    "query",
                    "provider",
                    "text",
                    "sources",
                    "geminiSearchResult"
                  ],
                  "unwind": [
                    "geminiSearchResult"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "provider": {
                      "label": "Provider",
                      "format": "text"
                    },
                    "text": {
                      "label": "Text",
                      "format": "text"
                    },
                    "sources": {
                      "label": "Sources"
                    }
                  }
                }
              }
            },
            "fields": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "aiModeResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/AiModeResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Google AI Mode search result. Null if not requested or unavailable."
                    },
                    "perplexitySearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/PerplexitySearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Perplexity AI search result. Null if not requested or unavailable."
                    },
                    "chatGptSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/ChatGptSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "ChatGPT search result. Null if not requested or unavailable."
                    },
                    "copilotSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/CopilotSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Microsoft Copilot search result. Null if not requested or unavailable."
                    },
                    "geminiSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/GeminiSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Gemini search result. Null if not requested or unavailable."
                    },
                    "searchQuery": {
                      "$ref": "#/definitions/SearchQuery",
                      "description": "Metadata about the search query that produced this result."
                    },
                    "url": {
                      "type": "string",
                      "description": "The URL of the SERP page that was crawled.",
                      "examples": [
                        "https://www.google.com/search?q=web+scraping"
                      ]
                    },
                    "hasNextPage": {
                      "type": "boolean",
                      "description": "Whether there is a next page of results available for pagination."
                    },
                    "serpProviderCode": {
                      "type": "string",
                      "description": "Code identifying the SERP provider (e.g. Google domain) that served the results.",
                      "examples": [
                        "google.com"
                      ]
                    },
                    "relatedQueries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Text of the related query suggestion.",
                            "examples": [
                              "web scraping python tutorial"
                            ]
                          },
                          "url": {
                            "type": "string",
                            "description": "URL to the related query search results.",
                            "examples": [
                              "https://www.google.com/search?q=web+scraping+python+tutorial"
                            ]
                          }
                        }
                      },
                      "description": "Related search queries suggested by the search engine."
                    },
                    "paidResults": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/PaidResult"
                      },
                      "description": "Paid (sponsored/ad) search results from the SERP."
                    },
                    "paidProducts": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/PaidProduct"
                      },
                      "description": "Paid product listings (Shopping ads) from the SERP."
                    },
                    "organicResults": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/OrganicResult"
                      },
                      "description": "Organic (non-paid) search results from the SERP."
                    },
                    "suggestedResults": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/OrganicResult"
                      },
                      "description": "Results for similar queries suggested by the search engine, with the same shape as organic results."
                    },
                    "peopleAlsoAsk": {
                      "$ref": "#/definitions/PeopleAlsoAsk",
                      "description": "\"People also ask\" questions and answers from the SERP."
                    },
                    "customData": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/CustomDataResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Custom data extracted by a user-provided data extraction function. Null if no custom function was provided."
                    },
                    "html": {
                      "type": "string",
                      "description": "Raw HTML of the SERP page. Only present when saveHtml option is enabled."
                    },
                    "htmlSnapshotUrl": {
                      "type": "string",
                      "description": "URL to the saved HTML snapshot in Apify Key-Value Store. Only present when saveHtmlToKeyValueStore is enabled.",
                      "examples": [
                        "https://api.apify.com/v2/key-value-stores/abc123/records/google-com-web-scraping"
                      ]
                    },
                    "aiOverview": {
                      "$ref": "#/definitions/AIOverviewInfo",
                      "description": "AI Overview content from the SERP."
                    },
                    "#debug": {
                      "type": "object",
                      "additionalProperties": {},
                      "description": "Debug information about the crawl. Only present when debug mode is enabled."
                    },
                    "#error": {
                      "type": "boolean",
                      "description": "Whether an error occurred while processing this result."
                    }
                  },
                  "required": [
                    "customData",
                    "organicResults",
                    "paidProducts",
                    "paidResults",
                    "peopleAlsoAsk",
                    "relatedQueries",
                    "searchQuery",
                    "serpProviderCode",
                    "suggestedResults",
                    "url"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "aiModeResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/AiModeResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Google AI Mode search result. Null if not requested or unavailable."
                    },
                    "perplexitySearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/PerplexitySearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Perplexity AI search result. Null if not requested or unavailable."
                    },
                    "chatGptSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/ChatGptSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "ChatGPT search result. Null if not requested or unavailable."
                    },
                    "copilotSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/CopilotSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Microsoft Copilot search result. Null if not requested or unavailable."
                    },
                    "geminiSearchResult": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/GeminiSearchResult"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Gemini search result. Null if not requested or unavailable."
                    },
                    "#debug": {
                      "type": "object",
                      "additionalProperties": {},
                      "description": "Debug information about the crawl. Only present when debug mode is enabled."
                    },
                    "#error": {
                      "type": "boolean",
                      "description": "Whether an error occurred while processing this result."
                    }
                  }
                }
              ],
              "description": "Output type of the Actor, common fields and google search results or llm search results, dependant if google search was disabled or not.",
              "definitions": {
                "AiModeResult": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string",
                      "const": "Google",
                      "description": "The LLM search provider name.",
                      "examples": [
                        "Google"
                      ]
                    },
                    "engine": {
                      "type": "string",
                      "const": "AI Mode",
                      "description": "The LLM search engine used,",
                      "examples": [
                        "AI Mode"
                      ]
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query sent to Google AI Mode.",
                      "examples": [
                        "best web scraping tools 2025"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/AiModeApiResponseCitation"
                      }
                    }
                  },
                  "required": [
                    "engine",
                    "provider",
                    "query",
                    "sources",
                    "text"
                  ],
                  "description": "Google AI Mode search result with provider metadata."
                },
                "AiModeApiResponseCitation": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number"
                    },
                    "title": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "description": {
                      "type": "string"
                    },
                    "section": {
                      "type": "string",
                      "enum": [
                        "citations",
                        "attached",
                        "more"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "url",
                    "description",
                    "section"
                  ]
                },
                "PerplexitySearchResult": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string",
                      "const": "Perplexity",
                      "description": "The LLM search provider name.",
                      "examples": [
                        "Perplexity"
                      ]
                    },
                    "engine": {
                      "type": "string",
                      "const": "Perplexity",
                      "description": "The LLM search engine used,",
                      "examples": [
                        "Perplexity"
                      ]
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query sent to Perplexity.",
                      "examples": [
                        "best web scraping tools 2025"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/ProcessedSource"
                      }
                    },
                    "citationUrls": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "relatedQuestions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "images": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/ProcessedImage"
                      }
                    }
                  },
                  "required": [
                    "citationUrls",
                    "engine",
                    "images",
                    "provider",
                    "query",
                    "relatedQuestions",
                    "sources",
                    "text"
                  ],
                  "description": "Perplexity AI search result with provider metadata."
                },
                "ProcessedSource": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lastUpdated": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "snippet": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "title",
                    "url",
                    "date",
                    "lastUpdated",
                    "snippet",
                    "source"
                  ]
                },
                "ProcessedImage": {
                  "type": "object",
                  "properties": {
                    "imageUrl": {
                      "type": "string"
                    },
                    "originUrl": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "imageUrl",
                    "originUrl",
                    "title"
                  ]
                },
                "ChatGptSearchResult": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string",
                      "const": "OpenAI",
                      "description": "The LLM search provider name.",
                      "examples": [
                        "OpenAI"
                      ]
                    },
                    "engine": {
                      "type": "string",
                      "const": "ChatGPT",
                      "description": "The LLM search engine used,",
                      "examples": [
                        "Chat GPT"
                      ]
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query sent to ChatGPT.",
                      "examples": [
                        "best web scraping tools 2025"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/ChatGptApiResponseCitation"
                      }
                    }
                  },
                  "required": [
                    "engine",
                    "provider",
                    "query",
                    "sources",
                    "text"
                  ],
                  "description": "ChatGPT search result with provider metadata."
                },
                "ChatGptApiResponseCitation": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "section": {
                      "type": "string",
                      "enum": [
                        "citations",
                        "attached",
                        "more"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "url",
                    "section"
                  ]
                },
                "CopilotSearchResult": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string",
                      "const": "Microsoft",
                      "description": "The LLM search provider name.",
                      "examples": [
                        "Microsoft"
                      ]
                    },
                    "engine": {
                      "type": "string",
                      "const": "Copilot",
                      "description": "The LLM search engine used,",
                      "examples": [
                        "Copilot"
                      ]
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query sent to Copilot.",
                      "examples": [
                        "best web scraping tools 2025"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "tables": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/ProcessedCopilotSearchApiResponseTable"
                      }
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/CopilotSearchApiResponseCitation"
                      }
                    },
                    "inlineCitations": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/ProcessedCopilotSearchApiResponseInlineCitation"
                      }
                    }
                  },
                  "required": [
                    "engine",
                    "inlineCitations",
                    "provider",
                    "query",
                    "sources",
                    "tables",
                    "text"
                  ],
                  "description": "Microsoft Copilot search result with provider metadata."
                },
                "ProcessedCopilotSearchApiResponseTable": {
                  "type": "object",
                  "properties": {
                    "tableColumns": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "tableRows": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "value": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "value"
                          ]
                        }
                      }
                    },
                    "title": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "tableColumns",
                    "tableRows",
                    "title"
                  ]
                },
                "CopilotSearchApiResponseCitation": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number"
                    },
                    "title": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "section": {
                      "type": "string",
                      "enum": [
                        "citations",
                        "attached",
                        "more"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "url",
                    "section"
                  ]
                },
                "ProcessedCopilotSearchApiResponseInlineCitation": {
                  "type": "object",
                  "properties": {
                    "textAnchor": {
                      "type": "string"
                    },
                    "id": {
                      "type": "number"
                    },
                    "title": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "textAnchor",
                    "title",
                    "url"
                  ]
                },
                "GeminiSearchResult": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string",
                      "const": "Google",
                      "description": "The LLM search provider name.",
                      "examples": [
                        "Google"
                      ]
                    },
                    "engine": {
                      "type": "string",
                      "const": "Gemini",
                      "description": "The LLM search engine used,",
                      "examples": [
                        "Gemini"
                      ]
                    },
                    "query": {
                      "type": "string",
                      "description": "The search query sent to Gemini.",
                      "examples": [
                        "best web scraping tools 2025"
                      ]
                    },
                    "text": {
                      "type": "string"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/GeminiSearchApiResponseCitation"
                      }
                    }
                  },
                  "required": [
                    "engine",
                    "provider",
                    "query",
                    "sources",
                    "text"
                  ],
                  "description": "Gemini search result with provider metadata."
                },
                "GeminiSearchApiResponseCitation": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number"
                    },
                    "title": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "description": {
                      "type": "string"
                    },
                    "section": {
                      "type": "string",
                      "enum": [
                        "citations",
                        "attached",
                        "more"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "url",
                    "section"
                  ]
                },
                "SearchQuery": {
                  "type": "object",
                  "properties": {
                    "term": {
                      "type": "string",
                      "description": "The search term (query string).",
                      "examples": [
                        "web scraping tools"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "Full URL of the SERP page for this query.",
                      "examples": [
                        "https://www.google.com/search?q=web+scraping+tools"
                      ]
                    },
                    "device": {
                      "type": "string",
                      "description": "Device type used for the search.",
                      "examples": [
                        "desktop"
                      ]
                    },
                    "page": {
                      "type": "number",
                      "description": "Page number of the results (1-based)."
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of search performed.",
                      "examples": [
                        "search"
                      ]
                    },
                    "domain": {
                      "type": "string",
                      "description": "Google domain used for the search.",
                      "examples": [
                        "google.com"
                      ]
                    },
                    "countryCode": {
                      "type": "string",
                      "description": "Country code for the search location.",
                      "examples": [
                        "us"
                      ]
                    },
                    "languageCode": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Language code for the search.",
                      "examples": [
                        "en"
                      ]
                    },
                    "locationUule": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "UULE parameter encoding the geographic location for the search.",
                      "examples": [
                        "w+CAIQICINTmV3IFlvcmssIE5Z"
                      ]
                    },
                    "resultsPerPage": {
                      "type": "number",
                      "description": "Number of results requested per page."
                    }
                  },
                  "required": [
                    "term",
                    "url",
                    "device",
                    "page",
                    "type",
                    "domain",
                    "countryCode",
                    "languageCode",
                    "locationUule",
                    "resultsPerPage"
                  ],
                  "description": "Metadata about the search query that produced the results."
                },
                "PaidResult": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the paid search result.",
                      "examples": [
                        "Best Web Scraping Tool - Try Free Today"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "Landing page URL of the paid result.",
                      "examples": [
                        "https://example.com/scraping-tool"
                      ]
                    },
                    "directUrl": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Direct URL to the advertiser's page (bypassing Google's redirect tracking).",
                      "examples": [
                        "https://example.com/scraping-tool?utm_source=google"
                      ]
                    },
                    "displayedUrl": {
                      "type": "string",
                      "description": "URL as displayed in the ad (may differ from the actual URL).",
                      "examples": [
                        "example.com › scraping-tool"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "description": "Description text of the ad.",
                      "examples": [
                        "Extract data from any website with our powerful scraping tool. Start your free trial today."
                      ]
                    },
                    "emphasizedKeywords": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Keywords in the description that are emphasized (bolded) as matching the query.",
                      "examples": [
                        [
                          "web scraping",
                          "tool"
                        ]
                      ]
                    },
                    "siteLinks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/SiteLink"
                      },
                      "description": "Site links displayed under the ad, linking to key pages."
                    },
                    "adPosition": {
                      "type": "number",
                      "description": "Position of the ad on the SERP (1-based index among ads)."
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of the paid result.",
                      "examples": [
                        "paid"
                      ]
                    },
                    "imageData": {
                      "type": "string",
                      "description": "Base64-encoded image data or image URL associated with the ad."
                    }
                  },
                  "required": [
                    "directUrl"
                  ],
                  "description": "A single paid (sponsored/ad) search result from the SERP."
                },
                "SiteLink": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the site link.",
                      "examples": [
                        "Documentation"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "URL the site link points to.",
                      "examples": [
                        "https://example.com/docs"
                      ]
                    },
                    "description": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Short description of the site link.",
                      "examples": [
                        "Read the full documentation and API reference."
                      ]
                    }
                  },
                  "description": "A site link displayed under a search result, providing quick access to key sections of a website."
                },
                "PaidProduct": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the product.",
                      "examples": [
                        "Wireless Bluetooth Headphones"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "URL to the product page.",
                      "examples": [
                        "https://shop.example.com/headphones"
                      ]
                    },
                    "displayedUrl": {
                      "type": "string",
                      "description": "URL of the seller as displayed in the listing.",
                      "examples": [
                        "shop.example.com"
                      ]
                    },
                    "prices": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Prices shown in the product listing.",
                      "examples": [
                        [
                          "$29.99",
                          "$34.99"
                        ]
                      ]
                    }
                  },
                  "required": [
                    "title",
                    "displayedUrl",
                    "prices"
                  ],
                  "description": "A paid product listing (Shopping ad) from the SERP."
                },
                "OrganicResult": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Title of the organic search result.",
                      "examples": [
                        "Web Scraping Guide - Best Practices & Tools"
                      ]
                    },
                    "websiteTitle": {
                      "type": "string",
                      "description": "The name of the website, displayed in the result.",
                      "examples": [
                        "Example"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "URL of the organic search result.",
                      "examples": [
                        "https://example.com/web-scraping-guide"
                      ]
                    },
                    "displayedUrl": {
                      "type": "string",
                      "description": "URL as displayed in the SERP (may differ from the actual URL).",
                      "examples": [
                        "example.com › web-scraping-guide"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "description": "Snippet or description text shown below the result title.",
                      "examples": [
                        "Learn about web scraping best practices, tools, and techniques for extracting data from websites."
                      ]
                    },
                    "emphasizedKeywords": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Keywords in the description that the search engine emphasized (bolded) as matching the query.",
                      "examples": [
                        [
                          "web scraping",
                          "tools"
                        ]
                      ]
                    },
                    "siteLinks": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/SiteLink"
                      },
                      "description": "Site links displayed under the search result, linking to key sections of the website."
                    },
                    "productInfo": {
                      "$ref": "#/definitions/ProductInfo",
                      "description": "Product information displayed inline with the search result (rating, price, reviews)."
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of the organic result: \"organic\", or \"shortVideo\" for the Short videos tab (`udm=39`).",
                      "examples": [
                        "organic"
                      ]
                    },
                    "position": {
                      "type": "number",
                      "description": "Position of the result on the SERP (1-based index)."
                    },
                    "date": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date-time"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Date associated with the search result, typically the publish or last-modified date.",
                      "examples": [
                        "2025-01-15"
                      ]
                    },
                    "personalInfo": {
                      "type": "object",
                      "properties": {
                        "location": {
                          "type": "string",
                          "description": "Location of the person.",
                          "examples": [
                            "San Francisco, CA"
                          ]
                        },
                        "jobTitle": {
                          "type": "string",
                          "description": "Job title of the person.",
                          "examples": [
                            "Software Engineer"
                          ]
                        },
                        "companyName": {
                          "type": "string",
                          "description": "Company name where the person works.",
                          "examples": [
                            "Apify"
                          ]
                        },
                        "rawText": {
                          "type": "string",
                          "description": "Raw text of the personal info section before parsing.",
                          "examples": [
                            "In 2020 I started to work for Apify, since then I am employed there and happy."
                          ]
                        }
                      },
                      "description": "Personal information extracted from the result (e.g. from LinkedIn profiles)."
                    },
                    "imageData": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Base64-encoded image data or image URL associated with the search result.",
                      "examples": [
                        "https://example.com/cat.jpg"
                      ]
                    },
                    "averageRating": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Average rating of the item shown in the result (e.g. from reviews)."
                    },
                    "numberOfReviews": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Number of reviews shown alongside the rating."
                    },
                    "videoLength": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Duration of an embedded video in the result.",
                      "examples": [
                        "12:34"
                      ]
                    },
                    "leadsEnrichment": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/LeadsEnrichmentResult"
                      },
                      "description": "Enriched leads data (employee/company information) for this result's domain."
                    },
                    "websiteContent": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "markdown": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "text",
                        "markdown"
                      ],
                      "description": "Full content of the page, scraped via the Website Content Crawler. `markdown` is\n`null` when the page couldn't be converted to markdown but its plain text was still scraped."
                    }
                  },
                  "description": "A single organic (non-paid) search result from the SERP."
                },
                "ProductInfo": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "description": "Name of the product.",
                      "examples": [
                        "Apify Pro Plan"
                      ]
                    },
                    "rating": {
                      "type": "number",
                      "description": "Average rating of the product (out of 5)."
                    },
                    "numberOfReviews": {
                      "type": "number",
                      "description": "Total number of reviews for the product."
                    },
                    "price": {
                      "type": "number",
                      "description": "Price of the product in the displayed currency."
                    }
                  },
                  "description": "Product information displayed inline with a search result."
                },
                "LeadsEnrichmentResult": {
                  "type": "object",
                  "properties": {
                    "personId": {
                      "type": "string",
                      "description": "Unique identifier of the person.",
                      "examples": [
                        "p-abc123"
                      ]
                    },
                    "firstName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "First name of the person.",
                      "examples": [
                        "John"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Last name of the person.",
                      "examples": [
                        "Doe"
                      ]
                    },
                    "fullName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Full name of the person.",
                      "examples": [
                        "John Doe"
                      ]
                    },
                    "linkedinProfile": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the person's LinkedIn profile.",
                      "examples": [
                        "https://www.linkedin.com/in/johndoe"
                      ]
                    },
                    "email": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Email address of the person.",
                      "examples": [
                        "john.doe@example.com"
                      ]
                    },
                    "mobileNumber": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Mobile phone number of the person.",
                      "examples": [
                        "+1-555-123-4567"
                      ]
                    },
                    "jobTitle": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Job title of the person.",
                      "examples": [
                        "Senior Software Engineer"
                      ]
                    },
                    "industry": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Industry the person works in.",
                      "examples": [
                        "Information Technology"
                      ]
                    },
                    "city": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "City where the person is located.",
                      "examples": [
                        "San Francisco"
                      ]
                    },
                    "state": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "State or region where the person is located.",
                      "examples": [
                        "California"
                      ]
                    },
                    "country": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Country where the person is located.",
                      "examples": [
                        "United States"
                      ]
                    },
                    "companyId": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Unique identifier of the person's company.",
                      "examples": [
                        "c-xyz789"
                      ]
                    },
                    "companyName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Name of the company the person works for.",
                      "examples": [
                        "Apify"
                      ]
                    },
                    "companyWebsite": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Website URL of the company.",
                      "examples": [
                        "https://apify.com"
                      ]
                    },
                    "companySize": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Size range of the company (number of employees).",
                      "examples": [
                        "51-200"
                      ]
                    },
                    "companyLinkedin": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the company's LinkedIn page.",
                      "examples": [
                        "https://www.linkedin.com/company/apify"
                      ]
                    },
                    "companyCity": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "City where the company is headquartered.",
                      "examples": [
                        "Prague"
                      ]
                    },
                    "companyState": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "State or region of the company headquarters.",
                      "examples": [
                        "Prague"
                      ]
                    },
                    "companyCountry": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Country where the company is headquartered.",
                      "examples": [
                        "Czech Republic"
                      ]
                    },
                    "companyPhoneNumber": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Phone number of the company.",
                      "examples": [
                        "+420-123-456-789"
                      ]
                    },
                    "headline": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Professional headline of the person.",
                      "examples": [
                        "Building the future of web scraping at Apify"
                      ]
                    },
                    "departments": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Departments the person belongs to.",
                      "examples": [
                        [
                          "Engineering",
                          "Product"
                        ]
                      ]
                    },
                    "seniority": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Seniority level of the person.",
                      "examples": [
                        "Senior"
                      ]
                    },
                    "photoUrl": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the person's profile photo.",
                      "examples": [
                        "https://media.licdn.com/dms/image/abc123/photo.jpg"
                      ]
                    },
                    "twitter": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Twitter/X handle of the person.",
                      "examples": [
                        "johndoe"
                      ]
                    },
                    "emailVerification": {
                      "$ref": "#/definitions/EmailVerificationResult",
                      "description": "Email verification result for the person's email address."
                    }
                  },
                  "required": [
                    "personId",
                    "firstName",
                    "lastName",
                    "fullName",
                    "linkedinProfile",
                    "email",
                    "mobileNumber",
                    "jobTitle",
                    "industry",
                    "city",
                    "state",
                    "country",
                    "companyId",
                    "companyName",
                    "companyWebsite",
                    "companySize",
                    "companyLinkedin",
                    "companyCity",
                    "companyState",
                    "companyCountry",
                    "companyPhoneNumber",
                    "headline",
                    "departments",
                    "seniority",
                    "photoUrl",
                    "twitter"
                  ],
                  "description": "Enriched lead data for a person, sourced from the Build Matrix company-employees-scraper Actor."
                },
                "EmailVerificationResult": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string",
                      "description": "The email address that was verified.",
                      "examples": [
                        "john.doe@example.com"
                      ]
                    },
                    "quality": {
                      "type": "string",
                      "enum": [
                        "",
                        "good",
                        "bad",
                        "risky",
                        "unknown"
                      ],
                      "description": "Quality assessment of the email address.",
                      "examples": [
                        "good"
                      ]
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "catch_all",
                        "unknown",
                        "error",
                        "disposable",
                        "invalid"
                      ],
                      "description": "Verification result status.",
                      "examples": [
                        "ok"
                      ]
                    },
                    "subResult": {
                      "type": "string",
                      "description": "More specific sub-result providing additional detail about the verification.",
                      "examples": [
                        "mailbox_verified"
                      ]
                    },
                    "free": {
                      "type": "boolean",
                      "description": "Whether the email is from a free email provider (e.g. Gmail, Yahoo)."
                    },
                    "role": {
                      "type": "boolean",
                      "description": "Whether the email is a role-based address (e.g. info@, support@)."
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message if verification failed, empty string otherwise.",
                      "examples": [
                        ""
                      ]
                    }
                  },
                  "required": [
                    "email",
                    "quality",
                    "result",
                    "subResult",
                    "free",
                    "role",
                    "error"
                  ],
                  "description": "Result of an email verification check."
                },
                "PeopleAlsoAsk": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "question": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The question text.",
                        "examples": [
                          "What is web scraping used for?"
                        ]
                      },
                      "answer": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The answer text shown when the question is expanded.",
                        "examples": [
                          "Web scraping is used to extract data from websites for analysis, monitoring, and automation."
                        ]
                      },
                      "url": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "URL of the source that provided the answer.",
                        "examples": [
                          "https://example.com/what-is-web-scraping"
                        ]
                      },
                      "title": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Title of the source page.",
                        "examples": [
                          "What is Web Scraping? - Complete Guide"
                        ]
                      },
                      "date": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Date associated with the answer source.",
                        "examples": [
                          "2025-03-10"
                        ]
                      }
                    },
                    "required": [
                      "question",
                      "answer",
                      "url",
                      "title",
                      "date"
                    ]
                  },
                  "description": "A \"People also ask\" question-answer pair from the SERP."
                },
                "CustomDataResult": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Custom data extracted by the user-provided data extraction function. Shape depends on the function provided in input."
                },
                "AIOverviewInfo": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "live",
                        "static"
                      ],
                      "description": "Whether the AI Overview was extracted live from JavaScript rendering or from static HTML.",
                      "examples": [
                        "live"
                      ]
                    },
                    "content": {
                      "type": "string",
                      "description": "The text content of the AI Overview, one paragraph, heading or list item (prefixed with `- `, nested ones indented by two spaces) per line.",
                      "examples": [
                        "Web scraping is the process of extracting data from websites using automated tools..."
                      ]
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "URL of the source.",
                            "examples": [
                              "https://example.com/web-scraping-guide"
                            ]
                          },
                          "title": {
                            "type": "string",
                            "description": "Title of the source.",
                            "examples": [
                              "Complete Web Scraping Guide"
                            ]
                          },
                          "description": {
                            "type": "string",
                            "description": "Description or snippet from the source.",
                            "examples": [
                              "A comprehensive guide to web scraping techniques and best practices."
                            ]
                          }
                        },
                        "required": [
                          "url",
                          "title",
                          "description"
                        ]
                      },
                      "description": "Sources cited by the AI Overview."
                    }
                  },
                  "required": [
                    "type",
                    "content",
                    "sources"
                  ],
                  "description": "AI Overview content extracted from the SERP."
                }
              }
            }
          },
          "linkProspecting": {
            "actorSpecification": 1,
            "title": "Link prospecting tool",
            "description": "Sites that cover your topic but don't mention your brand — with outreach contacts for link building.",
            "views": {
              "overview": {
                "title": "Overview",
                "transformation": {
                  "fields": [
                    "query",
                    "resultType",
                    "aiResponseText",
                    "isBrandMentionedInAiResponse",
                    "isBrandMentionedInSource",
                    "contacts",
                    "url"
                  ]
                },
                "display": {
                  "component": "table",
                  "properties": {
                    "query": {
                      "label": "Query",
                      "format": "text"
                    },
                    "resultType": {
                      "label": "Result Type",
                      "format": "text"
                    },
                    "aiResponseText": {
                      "label": "AI Response Text",
                      "format": "text"
                    },
                    "isBrandMentionedInAiResponse": {
                      "label": "Brand in AI Response"
                    },
                    "isBrandMentionedInSource": {
                      "label": "Brand in Source"
                    },
                    "contacts": {
                      "label": "Contacts",
                      "format": "array"
                    },
                    "url": {
                      "label": "URL",
                      "format": "link"
                    }
                  }
                }
              }
            },
            "fields": {
              "$schema": "http://json-schema.org/draft-07/schema#",
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "The search query that produced this result.",
                  "examples": [
                    "best CRM tools 2025"
                  ]
                },
                "resultType": {
                  "$ref": "#/definitions/GeoResultType",
                  "description": "The source type that cited this URL.",
                  "examples": [
                    "ChatGPT"
                  ]
                },
                "isBrandMentionedInAiResponse": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "description": "Whether the brand name appears in the AI engine's answer text. Null if there is no LLM answer (Google organic) or if retrieval failed."
                },
                "isBrandMentionedInSource": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "description": "Whether the brand name appears in the scraped page content. Null if scraping failed."
                },
                "contacts": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/LeadsEnrichmentResult"
                      }
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Business contacts found for the source domain. Null if the brand is mentioned in the source page."
                },
                "url": {
                  "type": "string",
                  "description": "The URL of the page cited by the AI engine or found in Google Search results.",
                  "examples": [
                    "https://example.com/article-about-topic"
                  ]
                },
                "aiResponseText": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Text of the AI response"
                }
              },
              "required": [
                "query",
                "resultType",
                "isBrandMentionedInAiResponse",
                "isBrandMentionedInSource",
                "contacts",
                "url",
                "aiResponseText"
              ],
              "description": "A single item in the Link Prospecting tool dataset.\nEach item represents one (AI engine response, source URL) pair.",
              "definitions": {
                "GeoResultType": {
                  "type": "string",
                  "enum": [
                    "Google Search",
                    "Google AI Overview",
                    "Google AI Mode",
                    "ChatGPT",
                    "Perplexity",
                    "Copilot",
                    "Gemini"
                  ]
                },
                "LeadsEnrichmentResult": {
                  "type": "object",
                  "properties": {
                    "personId": {
                      "type": "string",
                      "description": "Unique identifier of the person.",
                      "examples": [
                        "p-abc123"
                      ]
                    },
                    "firstName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "First name of the person.",
                      "examples": [
                        "John"
                      ]
                    },
                    "lastName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Last name of the person.",
                      "examples": [
                        "Doe"
                      ]
                    },
                    "fullName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Full name of the person.",
                      "examples": [
                        "John Doe"
                      ]
                    },
                    "linkedinProfile": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the person's LinkedIn profile.",
                      "examples": [
                        "https://www.linkedin.com/in/johndoe"
                      ]
                    },
                    "email": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Email address of the person.",
                      "examples": [
                        "john.doe@example.com"
                      ]
                    },
                    "mobileNumber": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Mobile phone number of the person.",
                      "examples": [
                        "+1-555-123-4567"
                      ]
                    },
                    "jobTitle": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Job title of the person.",
                      "examples": [
                        "Senior Software Engineer"
                      ]
                    },
                    "industry": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Industry the person works in.",
                      "examples": [
                        "Information Technology"
                      ]
                    },
                    "city": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "City where the person is located.",
                      "examples": [
                        "San Francisco"
                      ]
                    },
                    "state": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "State or region where the person is located.",
                      "examples": [
                        "California"
                      ]
                    },
                    "country": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Country where the person is located.",
                      "examples": [
                        "United States"
                      ]
                    },
                    "companyId": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Unique identifier of the person's company.",
                      "examples": [
                        "c-xyz789"
                      ]
                    },
                    "companyName": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Name of the company the person works for.",
                      "examples": [
                        "Apify"
                      ]
                    },
                    "companyWebsite": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Website URL of the company.",
                      "examples": [
                        "https://apify.com"
                      ]
                    },
                    "companySize": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Size range of the company (number of employees).",
                      "examples": [
                        "51-200"
                      ]
                    },
                    "companyLinkedin": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the company's LinkedIn page.",
                      "examples": [
                        "https://www.linkedin.com/company/apify"
                      ]
                    },
                    "companyCity": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "City where the company is headquartered.",
                      "examples": [
                        "Prague"
                      ]
                    },
                    "companyState": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "State or region of the company headquarters.",
                      "examples": [
                        "Prague"
                      ]
                    },
                    "companyCountry": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Country where the company is headquartered.",
                      "examples": [
                        "Czech Republic"
                      ]
                    },
                    "companyPhoneNumber": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Phone number of the company.",
                      "examples": [
                        "+420-123-456-789"
                      ]
                    },
                    "headline": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Professional headline of the person.",
                      "examples": [
                        "Building the future of web scraping at Apify"
                      ]
                    },
                    "departments": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Departments the person belongs to.",
                      "examples": [
                        [
                          "Engineering",
                          "Product"
                        ]
                      ]
                    },
                    "seniority": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Seniority level of the person.",
                      "examples": [
                        "Senior"
                      ]
                    },
                    "photoUrl": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "URL to the person's profile photo.",
                      "examples": [
                        "https://media.licdn.com/dms/image/abc123/photo.jpg"
                      ]
                    },
                    "twitter": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Twitter/X handle of the person.",
                      "examples": [
                        "johndoe"
                      ]
                    },
                    "emailVerification": {
                      "$ref": "#/definitions/EmailVerificationResult",
                      "description": "Email verification result for the person's email address."
                    }
                  },
                  "required": [
                    "personId",
                    "firstName",
                    "lastName",
                    "fullName",
                    "linkedinProfile",
                    "email",
                    "mobileNumber",
                    "jobTitle",
                    "industry",
                    "city",
                    "state",
                    "country",
                    "companyId",
                    "companyName",
                    "companyWebsite",
                    "companySize",
                    "companyLinkedin",
                    "companyCity",
                    "companyState",
                    "companyCountry",
                    "companyPhoneNumber",
                    "headline",
                    "departments",
                    "seniority",
                    "photoUrl",
                    "twitter"
                  ],
                  "description": "Enriched lead data for a person, sourced from the Build Matrix company-employees-scraper Actor."
                },
                "EmailVerificationResult": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string",
                      "description": "The email address that was verified.",
                      "examples": [
                        "john.doe@example.com"
                      ]
                    },
                    "quality": {
                      "type": "string",
                      "enum": [
                        "",
                        "good",
                        "bad",
                        "risky",
                        "unknown"
                      ],
                      "description": "Quality assessment of the email address.",
                      "examples": [
                        "good"
                      ]
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "ok",
                        "catch_all",
                        "unknown",
                        "error",
                        "disposable",
                        "invalid"
                      ],
                      "description": "Verification result status.",
                      "examples": [
                        "ok"
                      ]
                    },
                    "subResult": {
                      "type": "string",
                      "description": "More specific sub-result providing additional detail about the verification.",
                      "examples": [
                        "mailbox_verified"
                      ]
                    },
                    "free": {
                      "type": "boolean",
                      "description": "Whether the email is from a free email provider (e.g. Gmail, Yahoo)."
                    },
                    "role": {
                      "type": "boolean",
                      "description": "Whether the email is a role-based address (e.g. info@, support@)."
                    },
                    "error": {
                      "type": "string",
                      "description": "Error message if verification failed, empty string otherwise.",
                      "examples": [
                        ""
                      ]
                    }
                  },
                  "required": [
                    "email",
                    "quality",
                    "result",
                    "subResult",
                    "free",
                    "role",
                    "error"
                  ],
                  "description": "Result of an email verification check."
                }
              }
            }
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Google Search Results Scraper results",
        "description": "Dataset containing scraped Google Search results including organic results, paid results, People Also Ask, AI Overviews, and optional AI-powered search results from Google AI Mode, Perplexity, ChatGPT, Microsoft Copilot and Gemini.",
        "properties": {
          "dataset": {
            "type": "string",
            "title": "Results",
            "template": "{{storages.datasets.default.apiUrl}}/items"
          },
          "linkProspectingDataset": {
            "type": "string",
            "title": "Link prospecting tool",
            "template": "{{storages.datasets.linkProspecting.apiUrl}}/items"
          }
        }
      },
      "readme": "## What is Google Search Results Scraper?\n\nGoogle Search Results Scraper crawls Google Search Results Pages (SERPs) and extracts data from those web pages. With this SERP scraper API, you can:\n\n- Extract almost any **Google data** from each Google page\n- Data includes **organic and paid results**, as well as suggested results\n- Scrape **Google AI Mode**, **Perplexity AI search**, **ChatGPT search**, **Microsoft Copilot search**, and **Gemini search** to improve Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) results\n- **Compare AI answers across platforms** (Google, Perplexity, ChatGPT, Microsoft Copilot, Gemini) to spot narrative differences and search engine biases\n- Also extract **review ratings, review counts, and product ads**\n- Find **related queries and People Also Ask** answers\n- Find **prices** for products or services\n- Use **Business leads enrichment** to further enrich your data with contact details (full name, work email address, phone number, job title, LinkedIn profile)\n- Use **Link prospecting tool** to find pages cited by AI engines that don't mention your brand, with outreach contacts for link building\n- Use **SEO tools** to scrape the full page content of organic results as markdown, for content gap analysis and SERP content benchmarking\n- Export data in multiple formats: **JSON, CSV, Excel, or HTML**\n- Export via SDKs (Python & Node.js), use **API endpoints**, **webhooks**, or integrate with workflows\n\n### What data can I extract with Google Search Results Scraper?\n\n<table>\n<tbody>\n<tr>\n<td>🌱 Organic results</td>\n<td>🛍 Paid results</td>\n</tr>\n<tr>\n<td>🤖 AI Mode + AI Overviews</td>\n<td>📢 Product ads</td>\n</tr>\n<tr>\n<td>❓ Related queries</td>\n<td>🙋‍♀️ People Also Ask</td>\n</tr>\n<tr>\n<td>🎯 Business leads enrichment</td>\n<td>⭐️ Review rating and review count</td>\n</tr>\n<tr>\n<td>🔗 Link prospecting tool</td>\n<td>🔍 SEO tools (website content)</td>\n</tr>\n<tr>\n<td>🪴 Suggested results</td>\n<td>🧩 Additional custom attributes</td>\n</tr>\n</tbody>\n</table>\n\n**🤖 Add-on: Google AI Mode**\n\nScrapes results from Google AI Mode - Google's dedicated AI-powered search interface on google.com, distinct from the standard AI Overviews snippets that appear in regular search results. AI Mode provides deeper, conversational answers with cited sources. Essential for Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) - track how your brand or content appears when users switch to Google's AI search experience.\n\n**⏩ Add-on: AI Overview extraction**\n\nAI Overviews are extracted automatically when they appear in search results. Enable this add-on to use a specialized proxy that increases the probability of capturing AI Overviews - note this may take slightly longer than a standard run. Best used for queries where AI Overviews are likely to appear. An extra cost applies per query when an AI Overview is successfully captured.\n\n**🧠 Add-on: Perplexity AI search**\n\nFetches AI-generated answers and citations from Perplexity's Sonar model. Use it for cross-platform comparison against other AI engines to spot narrative differences and coverage gaps.\n\n**💬 Add-on: ChatGPT search**\n\nFetches AI-generated answers from OpenAI's search model. Use it for cross-platform comparison against other AI engines to spot narrative differences, coverage gaps, and search engine biases.\n\n**⏩ Add-on: Microsoft Copilot search**\n\nFetches AI-generated answers from Microsoft Copilot. Use it for cross-platform comparison against other AI engines to spot narrative differences, coverage gaps, and search engine biases.\n\nYou can choose from four modes to control how Microsoft Copilot structures its response: **chat** (conversational, quick answers), **reasoning** (deep analytical, multi-step logic), **smart** (balanced speed and reasoning), or **study** (detailed explanations for educational and research prompts).\n\n**⏩ Add-on: Gemini search**\n\nFetches AI-generated answers from Google Gemini (gemini.google.com) - Google's standalone AI assistant, separate from Google Search. Use this for **cross-platform comparison** to identify narrative differences and coverage gaps across AI platforms.\n\n**🔗 Add-on: Link prospecting tool**\n\nFind websites that cover your topic but don't yet mention your brand - and get outreach contacts for link building.\n\nTo enable this add-on, enter your brand name in the **Brand name** field under the **Add-on: Link prospecting tool** section. For each query, the Actor collects all cited URLs from Google Search results and Google AI Overview (both automatic), plus any AI engines you have enabled separately (Google AI Mode, ChatGPT, Perplexity, Microsoft Copilot, and Gemini), and checks each page for brand mentions.\n\nResults go to a separate **Link prospecting tool** dataset. Each item includes:\n\n- Which source cited the page (Google Search, Google AI Overview, Google AI Mode, ChatGPT, Perplexity, Microsoft Copilot, or Gemini)\n- The AI engine's response text (`aiResponseText`)\n- Whether your brand is mentioned in the AI engine's response text (`isBrandMentionedInAiResponse`)\n- Whether your brand is mentioned in the scraped page content (`isBrandMentionedInSource`)\n- Business contacts for pages that do **not** mention your brand - up to 5 per domain, marketing and C-suite roles only\n\n**Charged events:**\n\n- `search-page-scraped` - once per Google SERP page scraped (base event, always charged)\n- `website-content-scraped` - once per page scraped for brand mention detection\n- `lead-scraped` - once per business contact found for pages not mentioning your brand (up to 5 per domain, marketing and C-suite roles only)\n\nEach enabled AI engine also charges its own event per query (e.g. `ai-mode-result-scraped`, `chatgpt-result-scraped`) - see the [pricing tab](https://apify.com/apify/google-search-scraper/pricing) for the full rate card.\n\nUse **Own domains** to exclude your own brand's domains. Use **Ignored domains** to exclude directories, aggregators, or competitor sites.\n\n⚠️ Each unique URL is scraped once across all sources. Enabling multiple AI engines with many queries can produce a large number of `website-content-scraped` events.\n\n⚠️ If **Business leads enrichment** is also active, domains that appear in both organic results and AI citations may be enriched by both features and charged for leads separately.\n\n**🔍 Add-on: SEO tools**\n\nSEO-focused enrichments for organic search results, for content gap analysis, competitive audits, and SERP content benchmarking.\n\nThe first feature in this add-on is **website content scraping**. To enable it, turn on **Enable website content scraping** under the **Add-on: SEO tools** section. Each organic result's page is scraped with the [Website Content Crawler](https://apify.com/apify/website-content-crawler), and its content is attached to the result as `websiteContent.text`, plus `websiteContent.markdown` when the page can be converted to markdown (`null` otherwise).\n\n**Charged event:**\n\n- `website-content-scraped` - once per organic result page successfully scraped\n\n⚠️ If **Link prospecting tool** is also active, pages shared between the two add-ons (e.g. an organic result URL that's also cited by the Link prospecting tool) are scraped and charged only once.\n\n**📢 Add-on: Paid results (ads) extraction**\n\nDetermines whether ads are present on the page and, if so, shows what they are. This is useful for anyone planning their own campaigns or wanting to see what competitors are showing.\n\n**👥 Add-on: Business leads enrichment**\n\nThis setting allows you to add contact information for companies and the employees working there, including **full name, work email address, phone number, job title, and LinkedIn profile**.\n\nUnder the **'Organic results' tab**, you can now find multiple business leads associated with each individual search result.\n\n⚠️ **Warning!**\n\nLeads enrichment is applied to all domains discovered in your search, including news articles, directories, and comparison sites, not just the primary company websites.\n\nLarge company chains are filtered out so as not to clutter up your results. [This list](https://api.apify.com/v2/key-value-stores/6IlJKTI235OLr3OVR/records/ignored_domains) shows you which sites are never included.\n\n**✅ Add-on: Email verification**\n\nWhen `verifyLeadsEnrichmentEmails` is enabled, each lead's email address is verified and an `emailVerification` object is added to the lead output. Requires Business leads enrichment to be active.\n\n**Charged (decisive results):**\n\n- `ok` - Valid, deliverable email address\n- `invalid` - Invalid or non-existent email address\n- `disposable` - Disposable or temporary email address\n\n**Not charged:**\n\n- `catch_all` - The domain accepts all addresses; individual deliverability cannot be confirmed\n- `unknown` - Verification result could not be determined\n- `error` - Verification encountered a technical error\n\n```json\n{\n    \"email\": \"james.hill@apify.com\",\n    \"quality\": \"good\",\n    \"result\": \"ok\",\n    \"subResult\": \"accepted_email\",\n    \"free\": false,\n    \"role\": false,\n    \"error\": \"\"\n}\n```\n\n### How can I use data scraped from Google Search?\n\nGoogle SERP API has a lot to offer in terms of how extracted Google data can be applied:\n\n- **Use it for SEO** and keep an eye on how your website performs on Google for certain queries over time\n- **Monitor how frequently a search term has been used** on Google, and how it compares with total search volume\n- **Analyze display ads** for a given set of keywords\n- **Monitor your competition** in both organic and paid results\n- **Build a URL list for certain keywords** for scraping web pages containing specific phrases\n- **Analyze the Google algorithm** and identify its main trends\n- Better **lead generation** with the Business leads enrichment add-on\n- **Monitor AI Overview summaries** to see how a site performs\n- **Improved AEO, GEO, and brand visibility tracking** with AI search add-ons (Google AI Mode, Perplexity, ChatGPT, Microsoft Copilot, Gemini)\n- **Link prospecting tool** - find unmentioned pages cited by AI engines and get outreach contacts to build links from relevant sources\n- **SEO tools** - scrape the full content of ranking pages as markdown for content gap analysis and SERP content benchmarking\n\n## How to use Google Search Results Scraper\n\nGoogle Search Results Scraper is designed with users in mind, even those who have never extracted data from the web before. Using it takes just a few steps.\n\n1. [Create](https://console.apify.com/actors/nFJndFXA5zjCTuudP/) a free Apify account using your email\n2. Open [Google Search Results Scraper](https://apify.com/apify/google-search-scraper)\n3. Add one or more search queries\n4. Click the “Start” button and wait for the data to be extracted\n5. Download your data in JSON, XML, CSV, Excel, or HTML\n\nCheck out Apify's video tutorial for more details:\nhttps://www.youtube.com/watch?v=wjLskDlPfvo\n\n**How to adapt your queries**\n\nTo get a larger number of results, simply increase the number of pages you want to scrape. For example, to get approximately 100 results, you need to set `maxPagesPerQuery` to `10`. The Actor will then navigate through 10 pages for your query, collecting ~10 results from each.\n\nYour results follow the country and location you select. Google may still personalize some of them.\n\n## How much will scraping Google Search cost you?\n\nThis scraper uses a pay-per-event (PPE) pricing model. You are not charged for the Apify platform usage, but only a fixed price for specific events. Check the [pricing tab](https://apify.com/apify/google-search-scraper/pricing) for details.\n\nOn the Free plan, you get $5 of credit, which lets you scrape over 1,000 Google Search results without using add-ons. If you upgrade to any of Apify's paid plans, you get a further discount, which means you could scrape thousands of results in just seconds.\n\n## ⬇️ Input\n\nThe scraper lets you control what kind of Google Search data you can extract. You can specify the following settings:\n\n- Query phrases or raw Google search URLs\n- Country\n- Language of search\n- Exact geolocation\n- Number of results per page\n- Mobile or desktop version results\n\nFor a complete description of all settings, see the [Input tab](https://apify.com/apify/google-search-scraper/input-schema).\n\n### How to scrape Google Search results by URL or keyword\n\nThere are two ways you can scrape Google search pages: either by URL or by search term.\n\n1. Scraping **by URL** will get you data from the Google Search results page. You'll get Google data from a copy-pasted Google URL with any Google country domain (e.g. `google.co.uk`). You can add as many URLs as you want.\n   The results' country comes from the URL's `gl` parameter, or from its domain when `gl` is missing.\n2. Scraping **by search term** will also get you data from the Google Search results page. You can also add as many search terms as you want.\n\n### Example input for scraping Google Search by search term\n\nTo get Google search data by search term, enter the search term and a number of Google pages to scrape. Using search terms, you can:\n\n- Scrape by multiple keywords in parallel by adding more search terms and separating them by a new line\n- Say how many results you want to see per Google page (10-100)\n- Determine the country, language, and UULE location parameter\n\n<a href=\"https://console.apify.com/actors/cHedUknx10dsaavpI/\">\n<img src=\"https://github.com/apify-projects/actor-readme-images/blob/master/google-search-results-scraper-input.png?raw=true\" alt=\"Google Search Results Scraper input\" style=\"width:70%;\">\n</a>\n\nHere's its equivalent in JSON:\n\n```json\n{\n    \"countryCode\": \"us\",\n    \"customDataFunction\": \"async ({ input, $, request, response, html }) => {\\\\\\\\n  return {\\\\\\\\n    pageTitle: $('title').text(),\\\\\\\\n  };\\\\\\\\n};\",\n    \"includeUnfilteredResults\": false,\n    \"languageCode\": \"en\",\n    \"maxPagesPerQuery\": 2,\n    \"mobileResults\": false,\n    \"queries\": \"hotels in Seattle \\\\n hotels in New York\",\n    \"saveHtml\": false,\n    \"saveHtmlToKeyValueStore\": false,\n    \"maxConcurrency\": 10\n}\n```\n\n### Scrape Google Search results by URL\n\nTo input URLs instead, simply replace `queries` with full URLs:\n\n```json\n\"queries\": \"<https://www.google.com/search?q=hotels+in+Seattle> \\\\n <https://www.google.com/search?q=hotels+in+New+York>\",\n```\n\n## ⬆️ Output\n\nThe scraper stores its result in the default [dataset](https://apify.com/docs/storage#dataset) associated with the scraper run, from which you can export it to various formats, such as JSON, XML, CSV, or Excel.\n\nFor each Google Search results page, the dataset will contain a single record, which looks as follows. Note that the output preview will be organized in table and tabs for viewing convenience:\n\n<a href=\"https://console.apify.com/actors/cHedUknx10dsaavpI/\">\n<img src=\"https://github.com/apify-projects/actor-readme-images/blob/master/google-search-results-scraper-output.png?raw=true\" alt=\"Google Search Results Scraper output\" style=\"width:70%;\">\n</a>\n\nHere’s the equivalent of the same scraped data but in JSON. Bear in mind that some fields have example values:\n\n```json\n[\n    {\n        \"searchQuery\": {\n            \"term\": \"Hotels in Seattle\",\n            \"url\": \"http://www.google.com/search?q=Hotels+in+Seattle&num=5\",\n            \"device\": \"DESKTOP\",\n            \"page\": 1,\n            \"type\": \"SEARCH\",\n            \"domain\": \"google.com\",\n            \"countryCode\": \"US\",\n            \"languageCode\": null,\n            \"locationUule\": null\n        },\n        \"relatedQueries\": [\n            {\n                \"title\": \"Airbnb\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Airbnb&stick=H4sIAAAAAAAAAOMwVOLWz9U3MDQozC2uKvjFyLCBheEVCy8XsugrFh4uLhDfOL3QxMgAwQVKF1m8YuHi4gBx06tKcuByecZV6clVcK5RdnlVeckrFm4uThDXsqDSsAguWVlRlWxYBZc0MU02T3rFwsnFDuJlW1QtYmVzzCxKyku6xSbJsHtRx08W1_2GGy2NN24Se7yd_Zf739q0GSsXcYgFpOYX5KQqJOYU5ysUpyYWJWcopOUXreBgBABeO2g95gAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEAo\"\n            },\n            {\n                \"title\": \"Expedia Group\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Expedia+Group&stick=H4sIAAAAAAAAAOMwVOLSz9U3ME4vNDEy-MXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF5IiBBcoXWTxioWLiwPETa8qyYHL5RlXpSdXwblG2eVV5SWvWLi5OEFcy4JKwyK4ZGVFVbJhFVzSxDTZPOkVCycXO4iXbVG1iJXXtaIgNSUzUcG9KL-04BabJMPuRR0_WVz3G260NN64SezxdvZf7n9r02asXMQhFpCaX5CTqpCYU5yvUJyaWJScoZCWX7SCgxEARw2QBewAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEA8\"\n            },\n            {\n                \"title\": \"Vrbo\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Vrbo&stick=H4sIAAAAAAAAAOMwVOLSz9U3MDYozC2y-MXIsIGF4RULLxc3SNAQKFhcVfCKhYcLoii90MTIAMEF63nFwsXFAeKmV5XkwOXyjKvSk6vgXKPs8qryklcs3FycIK5lQaVhEVyysqIq2bAKLmlimmye9IqFk4sdxMu2qFrEyhJWlJR_i02SYfeijp8srvsNN1oab9wk9ng7-y_3v7VpM1Yu4hALSM0vyElVSMwpzlcoTk0sSs5QSMsvWsHBCACk6JiV4wAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEBQ\"\n            },\n            {\n                \"title\": \"Southwest Airlines\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Southwest+Airlines&stick=H4sIAAAAAAAAAOMwVOLQz9U3SK8qyfnFyLCBheEVCy8XN0jI0KAwt7iq4BULDxcXiG-cXmhiZIDgAqWLLF6xcHHBDYDL5RlXpSdXwblG2eVV5SWvWLi5OEFcy4JKwyK4ZGVFVbJhFVzSxDTZPOkVCycXO4iXbVG1iFUoOL-0JKM8tbhEwTGzKCczL7X4Fpskw-5FHT9ZXPcbbrQ03rhJ7PF29l_uf2vTZqxcxCEWkJpfkJOqkJhTnK9QnJpYlJyhkJZftIKDEQCjBkmc7wAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEBk\"\n            },\n            {\n                \"title\": \"trivago\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=trivago&stick=H4sIAAAAAAAAAOMwVOLSz9U3yDOuSk-u-sXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF1iRcXqhiZEBgguULrJ4xcLFxQHipleV5MDlIObBuUbZ5VXlJa9YuLk4QVzLgkrDIrhkZUVVsmEVXNLENNk86RULJxc7iJdtUbWIlb2kKLMsMT3_Fpskw-5FHT9ZXPcbbrQ03rhJ7PF29l_uf2vTZqxcxCEWkJpfkJOqkJhTnK9QnJpYlJyhkJZftIKDEQArWf7U5gAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglEB4\"\n            },\n            {\n                \"title\": \"KAYAK\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=KAYAK&stick=H4sIAAAAAAAAAOMwVOLSz9U3MMouryov-cXIsIGF4RULLxc3SNDQoDC3uKrgFQsPF1iRcXqhiZEBgguULrJ4xcLFxQHipleV5MDl8oyr0pOr4FyI8a9YuLk4QVzLgkrDIrhkZUVVsmEVXNLENNk86RULJxc7iJdtUbWIldXbMdLR-xabJMPuRR0_WVz3G260NN64SezxdvZf7n9r02asXMQhFpCaX5CTqpCYU5yvUJyaWJScoZCWX7SCgxEA3hWrWOQAAAA&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQs9oBKAB6BAglECM\"\n            },\n            {\n                \"title\": \"Hotels in seattle downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg7EAE\"\n            },\n            {\n                \"title\": \"Best hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg6EAE\"\n            },\n            {\n                \"title\": \"Hotels in Seattle Washington near Airport\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+Seattle+Washington+near+Airport&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg9EAE\"\n            },\n            {\n                \"title\": \"Cheap hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Cheap+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg8EAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle luxury\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+luxury&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg_EAE\"\n            },\n            {\n                \"title\": \"hotels in seattle, washington near cruise port\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=hotels+in+seattle,+washington+near+cruise+port&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgrEAE\"\n            },\n            {\n                \"title\": \"Boutique hotels Seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Boutique+hotels+Seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgoEAE\"\n            },\n            {\n                \"title\": \"Best hotels in Seattle Downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+Seattle+Downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgnEAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg7EAE\"\n            },\n            {\n                \"title\": \"Best hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg6EAE\"\n            },\n            {\n                \"title\": \"Hotels in Seattle Washington near Airport\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+Seattle+Washington+near+Airport&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg9EAE\"\n            },\n            {\n                \"title\": \"Cheap hotels in seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Cheap+hotels+in+seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg8EAE\"\n            },\n            {\n                \"title\": \"Hotels in seattle luxury\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Hotels+in+seattle+luxury&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAg_EAE\"\n            },\n            {\n                \"title\": \"hotels in seattle, washington near cruise port\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=hotels+in+seattle,+washington+near+cruise+port&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgrEAE\"\n            },\n            {\n                \"title\": \"Boutique hotels Seattle\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Boutique+hotels+Seattle&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgoEAE\"\n            },\n            {\n                \"title\": \"Best hotels in Seattle Downtown\",\n                \"url\": \"https://www.google.com/search?num=5&sca_esv=49b6c55cfef21711&hl=en&q=Best+hotels+in+Seattle+Downtown&sa=X&ved=2ahUKEwiEk-Li5qWPAxXzrokEHTUEOVcQ1QJ6BAgnEAE\"\n            }\n        ],\n        \"paidResults\": [],\n        \"paidProducts\": [],\n        \"organicResults\": [\n            {\n                \"title\": \"Downtown Seattle Hotel | Luxury Waterfront Hotel Rooms\",\n                \"url\": \"https://www.edgewaterhotel.com/\",\n                \"displayedUrl\": \"https://www.edgewaterhotel.com\",\n                \"description\": \"The Edgewater Hotel is laden with a rich musical past and surrounded by breathtaking views of the Olympic Mountains, Elliott Bay and the sparkling city.\",\n                \"emphasizedKeywords\": [\"The Edgewater Hotel\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 1\n            },\n            {\n                \"title\": \"Top 10 Hotels in Seattle, WA\",\n                \"url\": \"https://www.hotels.com/de1481165/hotels-seattle-washington/\",\n                \"displayedUrl\": \"https://www.hotels.com › ... › Hotels in Washington\",\n                \"description\": \"Flexible booking options on most hotels. Compare 2963 hotels in Seattle using 47993 real guest reviews. Pay what you see with upfront pricing on all hotels.\",\n                \"emphasizedKeywords\": [\"Compare 2963 hotels in Seattle\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 2\n            },\n            {\n                \"title\": \"Hotels in Seattle, WA\",\n                \"url\": \"https://www.marriott.com/en-us/destinations/united-states/washington/seattle.mi\",\n                \"displayedUrl\": \"https://www.marriott.com › united-states › washington\",\n                \"description\": \"Marriott Bonvoy's hotels in Seattle provide the ideal starting point for your exploration, ensuring you are always close to the best the city has to offer.\",\n                \"emphasizedKeywords\": [\"Marriott Bonvoy's hotels in Seattle\"],\n                \"siteLinks\": [],\n                \"productInfo\": {},\n                \"type\": \"organic\",\n                \"position\": 3\n            }\n        ],\n        \"peopleAlsoAsk\": [],\n        \"aiModeResult\": {\n            \"engine\": \"AI Mode\",\n            \"provider\": \"Google\",\n            \"text\": \"You can find many hotel options in Seattle, from high-end downtown hotels to budget-friendly hostels. Some options, like Hampton Inn & Suites, offer free amenities, while others focus on prime locations near major attractions. The best area to stay often depends on your budget and what you want to see. Downtown Seattle Known for being walkable and close to attractions, Downtown Seattle is home to a wide range of hotels. The Paramount Hotel: A 3-star hotel with a prime location for exploring downtown attractions like Pike Place Market and the Space Needle. Reviewers mention its modern rooms and friendly staff.Hyatt Regency Seattle: A 4-star hotel located downtown, receiving high marks for being an exceptional place to stay.Mayflower Park Hotel: Another downtown 4-star option, with travelers highlighting its excellent breakfast and beautiful dining room.Green Tortoise Hostel Seattle: For budget-conscious travelers, this highly-rated hostel is located directly across from Pike Place Market and offers free breakfast. Hampton Inn & Suites Seattle-Downtown4.1(1.6K)3-star hotel700 5th Ave NThe Paramount Hotel4.5(2.4K)3-star hotel724 Pine StHyatt Regency Seattle4.6(3.8K)4-star hotel808 Howell StMayflower Park Hotel4.4(1.4K)3-star hotel405 Olive WyGreen Tortoise Hostel Seattle4.5(2.3K)2-star hotel105B Pike StSee moreBelltown and South Lake Union These trendy neighborhoods offer a mix of boutique hotels and serviced apartments. The Ace Hotel (Belltown): A popular mid-range option.Hotel Ändra (Belltown): A cool boutique hotel.CitizenM South Lake Union: This location of a popular hotel chain is a great option for modern stays. Hôtel Ändra Seattle - MGallery Collection4.5(1.3K) · $$$$4-star hotel2000 4th AvecitizenM Seattle South Lake Union hotel4.3(1K)4-star hotel201 Westlake Ave NSeattle Center and Queen Anne This area is convenient for accessing attractions like the Space Needle, MoPOP, and Climate Pledge Arena. Hampton Inn & Suites Seattle-Downtown: Located in the Seattle Center area, this 3-star hotel offers free hot breakfast and is within walking distance of many tourist spots.Mediterranean Inn (near Seattle Center): A mid-range hotel that is consistently well-reviewed for its location and comfort. Northgate Located north of the downtown core, this area is a good option if you want to be near the University of Washington or other northern attractions. Hampton Inn & Suites by Hilton Seattle/Northgate: A 2-star hotel offering an indoor pool and free breakfast. Reviewers praise the friendly staff and find it a good value, especially if you plan to use the light rail to get downtown. Which Seattle hotels have the best views?Any hotels in Seattle known for unique architecture?Elaborate on the price ranges for hotels in different Seattle neighborhoods\",\n            \"sources\": [\n                {\n                    \"title\": \"Where To Stay In Seattle: A Complete Guide For First Timers\",\n                    \"url\": \"https://wheatlesswanderlust.com/where-to-stay-in-seattle/\",\n                    \"description\": \"Here are some cool places to stay in Belltown that caught our eye. * The Ace Hotel: A Great Mid-Range Option (Where We've Stayed) * Hotel Ändra: A Cool Boutique...\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                },\n                {\n                    \"title\": \"Top 10 Hotels in Seattle, WA from $93 - Fully Refundable Options - Expedia\",\n                    \"url\": \"https://www.expedia.com/Seattle-Hotels.d178307.Travel-Guide-Hotels\",\n                    \"description\": \"Compare 4,566 hotels, room rates, hotel reviews and availability. Most hotels are fully refundable. * The Belltown Inn. The Belltown Inn. The Belltown Inn. The ...\",\n                    \"imageUrl\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAD90lEQVRogc2av28cRRTHP+/t+mgogoA6sZyN7QBOfEiEGAokfkkYRBRBhXAQLTSYBEj4B1AICZKBhiCBJbqAUsRUFEggxSDl5JjICXc55ISCAhLSpFnfzlDsnuNz7rx7tz/uvtIWdzs783kzb9/MvB1hk8zVR8VaOwK8ArwIjAPbAN1cNmcZ4BawApwDziDyp7Pzgt1YSDb+CGrle4FDwFvALsAphjVWAfAH8Bkw73iV280b6wYEtfIDwEfADDBUNGFC+cDXwDHHq9yAyICo5z8F3mTTqAygLPAlMOt4ldtNv56JrkGHh5DxDeB1AAlqZQ84C+zuI1QvugS8rITRZrTPML1oHDjoAi/QRbQRBcnb0SwYE1vKAaZdunAdEbhcV36vCsbGl+9FpSEYG7aMDZskHbXbJZykYqUKv1SUD06VqP8luY2CCDx4n2X2UIPXphtx7WxTEsywqnB+SXnvZIna9fzgAayFv/8VTs27VK8pujVdzO2oxOJF5cgnYc87BSwoHIV/bgrVVYkN7FviqMKvyyF87Xox8E1ZYK0RX87tdEMVlq4o7xwvUV0VVKERpAdTBc3QBTsaAKE/PjcV8PxUNo01O+X8xeyGsqMBxsDeMcPkeHxATiSF35aVHxcdrM1uLokdAZtBvFeFxSXlyIkS1WvZvku5v5aqsLicDzzkbEAS+LQjnJsBSeADA7t2WPZNmJ6XJrkYkBh+u+Xjd332jJoki7f2baVDbVNhN/CHfR7bY7ApAl2mBnQL//iECXMPadpM9/iGinqA79VtWtpNX0X/4CEDA/oJDykNUOkvPKQwQBWurArvn+wfPKQZAYFLNaXWR3hI6UKdlgFFwUMOE1mR8JDSgCGXu9xnbEdx8BCzH4Bw49F2X2BhatIwd8xf37uKwMM7LaPDxcBDjAGqsFJXTn/n4q/d+d9aeHZ/wIGnAw4807pRtpZUa5tutfUICKzUhW8XnJYRaEQ9/tJTQW45oqTbzlgXAnCdu10oz+RWYML04iOeCfMrW6jo716xakax47M+3nYb+y7FGpBTDretmvAnDvvsmzCJtptKzIq8FIVKkdbrnqHs3Mi2gU8YxYwL/Afc37ZiA09MGuY+9PHX7qQpLfDQiF0PsWklwGj38AC3JKiVfwae7Fi5hB81NiurcCkSZutEwkRal/PHTy6wAOynw1caa8FmkBPtJGthb5T96xI+AH5Q4AzhR+S+yZqeRvMy8L06XuUq8DmwFvPAIMkHvnC8Sr3p3d9EV5FRs1dZQtZ5iOaB6OzBUeArQusGVT5wGjjaPC/R7rDHDPA2g3fYowrM0emwx3rJalkQRoBXgWkG47jNAmGwqTtepcXN/wc7PMQyfEwyGgAAAABJRU5ErkJggg==\"\n                },\n                {\n                    \"title\": \"Green Tortoise Hostel Seattle\",\n                    \"url\": \"https://www.google.com/viewer/place?mid=/g/1td7sx3h\",\n                    \"description\": \"Low-key hostel offering basic dorms & private rooms, plus a full communal kitchen & free Wi-Fi.\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                },\n                {\n                    \"title\": \"Where Should I Stay in Seattle? (An Unofficial Seattle Accommodation ...\",\n                    \"url\": \"https://totallyseattle.com/where-should-i-stay-in-seattle-an-unofficial-seattle-accommodation-guide/\",\n                    \"description\": \"Recommended hotels in Downtown Seattle: * Four Seasons Hotel. * Fairmont Olympic Hotel. * The Alexis Hotel. * The Inn at the Market. Staying in Seattle's Bellto...\",\n                    \"imageUrl\": \"data:image/png;base64,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\"\n                }\n            ],\n            \"query\": \"Hotels in Seattle\",\n            \"kvsHtmlUrl\": \"https://api.apify.com/v2/key-value-stores/CzC2EqsvcNUUhWsSH/records/Hotels-in-Seattle_522be799a1919512562f544878e95f5e5ecfa59da52aeda4bcc768a3f9afacd2.html?signature=1PWgT4hZ9FTMZ9sBjH55k\",\n            \"url\": \"http://www.google.com/search?q=Hotels+in+Seattle&num=5\"\n        }\n    }\n]\n```\n\nYou can **download the results directly from the platform using a button** or from the [Get dataset items](https://www.apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint:\n\n```json\n<https://api.apify.com/v2/datasets/[DATASET_ID]/items?format=[FORMAT]>\n```\n\nwhere `[DATASET_ID]` is the ID of the dataset and `[FORMAT]` can be `csv`, `html`, `xlsx`, `xml`, `rss`, or `json`.\n\n## Frequently asked questions\n\n### How to get one search result per row\n\nSimply choose the Export view for `Organic results` and/or `Paid results`. It automatically spreads each result into a separate row. For API access, you can add `&view=paid_results` or `&view=organic_results` to the URL and with the API client, you can do the same using the `view` field.\n\nAn organic result is represented using the following format:\n\n```json\n{\n    \"searchQuery\": {\n        \"term\": \"laptop\",\n        \"device\": \"DESKTOP\",\n        \"page\": 1,\n        \"type\": \"SEARCH\",\n        \"domain\": \"google.com\",\n        \"countryCode\": \"US\",\n        \"languageCode\": \"en\",\n        \"locationUule\": null\n    },\n    \"type\": \"organic\",\n    \"position\": 1,\n    \"title\": \"Laptops & Notebook Computers - Best Buy\",\n    \"url\": \"<https://www.bestbuy.com/site/computers-pcs/laptop-computers/abcat0502000.c?id=abcat0502000>\",\n    \"displayedUrl\": \"<https://www.bestbuy.com> › Computers & Tablets\",\n    \"description\": \"Shop Best Buy for laptops. Work & play from anywhere with a notebook computer. We can help you find the best laptop for your specific needs in store and online.\",\n    \"emphasizedKeywords\": \"laptops | laptop\",\n    \"productInfo\": {}\n}\n```\n\nA paid result has an `adPosition` field instead of `position` and `\"type\": \"paid\"`. **Paid result position is calculated separately from the organic results**.\n\nWhen using a tabular format such as `csv` or `xls`, you'll get a table where each row contains just one organic result. For more details about exporting and formatting the dataset records, please see the documentation for the [Get dataset items](https://apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) API endpoint.\n\n### Can I use integrations with Google Search Results Scraper?\n\nYou can integrate Google Search Results Scraper with almost any cloud service or web app. Apify offers integrations with **Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive**, [and plenty more](https://docs.apify.com/integrations).\n\nAlternatively, you could use [webhooks](https://docs.apify.com/integrations/webhooks) to carry out an action whenever an event occurs, such as getting a notification whenever Google Search Results Scraper successfully finishes a run.\n\n### Can I use Google Search Results Scraper with the Apify API?\n\nThe Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify Actors. The API also lets you access any datasets, monitor Actor performance, fetch results, create and update versions, and more.\n\nTo access the API using Node.js, use the `apify-client` [npm package](https://apify.com/apify/google-search-scraper/api/javascript). To access the API using Python, use the `apify-client` [PyPI package](https://apify.com/apify/google-search-scraper/api/python).\n\nClick on the [API tab](https://apify.com/apify/google-search-scraper/api/python) for code examples, or check out the [Apify API reference](https://docs.apify.com/api/v2) docs for all the details.\n\n### Can I use Google Search Results Scraper through an MCP server?\n\nWith Apify API, you can use almost any Actor in conjunction with a Model Context Protocol (MCP) server. You can connect to the MCP server using clients like Claude Desktop and LibreChat, or even build your own. Read all about how you can [set up Apify Actors with MCP](https://blog.apify.com/how-to-use-mcp/).\n\nFor Google Search Results Scraper, go to the [MCP tab](https://apify.com/apify/google-search-scraper/api/mcp) and then go through the following steps:\n\n1. Start a Server-Sent Events (SSE) session to receive a `sessionId`\n2. Send API messages using that `sessionId` to trigger the scraper\n3. The message starts the Google Search Results Scraper with the provided input\n4. The response should be: `Accepted`\n\n### Is it legal to scrape Google Search data?\n\nWeb scraping is legal if you are extracting publicly available data, which is most data on Google Search. However, you should **respect boundaries such as personal data** and intellectual property regulations. You should only scrape personal data if you have a legitimate reason to do so, and you should also factor in Google's [Terms of Use](https://policies.google.com/terms?hl=en).\n\nIf you're unsure whether your reason is legitimate, consult your lawyers. You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).\n\n### Your feedback\n\nIf you are not sure that the results are complete and of good quality, each run stores the full HTML page in the default Key-Value Store. You can view the KVS by clicking on it and comparing the results.\n\nWe’re always working on improving the performance of Apify's Actors and monitoring the quality, but we are happy for any reports. So if you’ve got any technical feedback for this Google SERP API or simply found a bug, please create an issue on the Actor’s [Issues tab](https://apify.com/apify/google-search-scraper/issues/open).\n"
    },
    "buildNumber": "0.0.476",
    "imageDigest": "504ce839aed6f841dd0cb12dfefb19471c64fac05135e4b23d237d0370e614ef",
    "actVersion": {
      "sourceType": "GIT_REPO",
      "buildTag": "latest",
      "versionNumber": "0.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.004553333333333334
    }
  }
}