Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: Bearer <Litescrape API key>. Without it the same free daily allowance applies.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get Bing web search results.
Bing search query after trimming. Accepted length: 1 through 2,048 characters. Control characters are rejected. Bing query syntax such as quoted phrases and exclusions remains available.
Case-insensitive two-letter country of origin. Format: US or GB. Cannot be combined with mkt.
Latitude from -90 through 90. May be supplied independently or with lon.
Longitude from -180 through 180. May be supplied independently or with lat.
Case-insensitive Bing language-country market token. Format: two-letter language and country, such as en-US. Cannot be combined with cc.
One-based native offset for organic results. Range: 1 through 9,007,199,254,740,991. Prefer litescrape_pagination.next when it is returned.
Selects desktop, tablet, or mobile result behavior.
Selects the Bing web-search engine.
Native Bing display or date filter expression. Maximum length: 8,192 characters. Control characters are rejected.
Named city-level origin used to localize the Bing request. Maximum length: 256 characters. Control characters are rejected.
Bing adult-content policy; values are case-insensitive.
Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept
Get Bing web search results.
| Argument | Type | Description |
|---|---|---|
| q* | string | Bing search query after trimming. Accepted length: 1 through 2,048 characters. Control characters are rejected. Bing query syntax such as quoted phrases and exclusions remains available. |
| cc | any | Case-insensitive two-letter country of origin. Format: US or GB. Cannot be combined with mkt. |
| lat | any | Latitude from -90 through 90. May be supplied independently or with lon. |
| lon | any | Longitude from -180 through 180. May be supplied independently or with lat. |
| mkt | any | Case-insensitive Bing language-country market token. Format: two-letter language and country, such as en-US. Cannot be combined with cc. |
| first | integer | One-based native offset for organic results. Range: 1 through 9,007,199,254,740,991. Prefer litescrape_pagination.next when it is returned. |
| device | string | Selects desktop, tablet, or mobile result behavior. |
| engine | string | Selects the Bing web-search engine. |
| filters | any | Native Bing display or date filter expression. Maximum length: 8,192 characters. Control characters are rejected. |
| location | any | Named city-level origin used to localize the Bing request. Maximum length: 256 characters. Control characters are rejected. |
| safeSearch | string | Bing adult-content policy; values are case-insensitive. |
| result_groups | array | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
{
"type": "object",
"title": "Request",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"title": "Q",
"description": "Bing search query after trimming.\n\nAccepted length: 1 through 2,048 characters. Control characters are rejected. Bing query syntax such as quoted phrases and exclusions remains available."
},
"cc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cc",
"default": null,
"description": "Case-insensitive two-letter country of origin.\n\nFormat: US or GB. Cannot be combined with mkt."
},
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null,
"description": "Latitude from -90 through 90.\n\nMay be supplied independently or with lon."
},
"lon": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null,
"description": "Longitude from -180 through 180.\n\nMay be supplied independently or with lat."
},
"mkt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mkt",
"default": null,
"description": "Case-insensitive Bing language-country market token.\n\nFormat: two-letter language and country, such as en-US. Cannot be combined with cc."
},
"first": {
"type": "integer",
"title": "First",
"default": 1,
"description": "One-based native offset for organic results.\n\nRange: 1 through 9,007,199,254,740,991. Prefer litescrape_pagination.next when it is returned."
},
"device": {
"enum": [
"desktop",
"tablet",
"mobile"
],
"type": "string",
"title": "Device",
"default": "desktop",
"description": "Selects desktop, tablet, or mobile result behavior."
},
"engine": {
"type": "string",
"const": "bing",
"title": "Engine",
"default": "bing",
"description": "Selects the Bing web-search engine."
},
"filters": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Filters",
"default": null,
"description": "Native Bing display or date filter expression.\n\nMaximum length: 8,192 characters. Control characters are rejected."
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "Named city-level origin used to localize the Bing request.\n\nMaximum length: 256 characters. Control characters are rejected."
},
"safeSearch": {
"enum": [
"off",
"moderate",
"strict"
],
"type": "string",
"title": "Safesearch",
"default": "moderate",
"description": "Bing adult-content policy; values are case-insensitive."
},
"result_groups": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Return only these top-level result groups, e.g. [\"organic_results\", \"knowledge_graph\"]; omit for the complete response. search_metadata is always kept"
}
},
"additionalProperties": false
}Run a Litescrape tool found with find_tools. Pass its name and arguments matching its input schema; arguments may also take result_groups to keep only some top-level groups.
| Argument | Type | Description |
|---|---|---|
| name* | string | Tool name from find_tools |
| arguments | object | Arguments for the tool, matching its input schema; {} when it needs none |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Tool name from find_tools"
},
"arguments": {
"type": "object",
"description": "Arguments for the tool, matching its input schema; {} when it needs none"
}
}
}Get DuckDuckGo web search results.
| Argument | Type | Description |
|---|---|---|
| m | integer | Requested result count from 1 through 50; mutually exclusive with search_assist. |
| q* | string | Required search text, up to 500 characters. |
| df | any | Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD. |
| kl | any | DuckDuckGo region and language token, such as us-en. |
| safe | string | DuckDuckGo safe-search level. |
| start | integer | Result offset from 0 through 10,000. |
| result_groups | array | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
| search_assist | boolean | Enable DuckDuckGo query assistance; mutually exclusive with m. |
{
"type": "object",
"title": "Request",
"required": [
"q"
],
"properties": {
"m": {
"type": "integer",
"title": "M",
"default": 50,
"description": "Requested result count from 1 through 50; mutually exclusive with search_assist."
},
"q": {
"type": "string",
"title": "Q",
"description": "Required search text, up to 500 characters."
},
"df": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Df",
"default": null,
"description": "Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD."
},
"kl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kl",
"default": null,
"description": "DuckDuckGo region and language token, such as us-en."
},
"safe": {
"enum": [
"1",
"-1",
"-2"
],
"type": "string",
"title": "Safe",
"default": "-1",
"description": "DuckDuckGo safe-search level."
},
"start": {
"type": "integer",
"title": "Start",
"default": 0,
"description": "Result offset from 0 through 10,000."
},
"result_groups": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Return only these top-level result groups, e.g. [\"organic_results\", \"knowledge_graph\"]; omit for the complete response. search_metadata is always kept"
},
"search_assist": {
"type": "boolean",
"title": "Search Assist",
"default": true,
"description": "Enable DuckDuckGo query assistance; mutually exclusive with m."
}
},
"additionalProperties": false
}Find the Litescrape tools for a task beyond the ones listed here: AI answers, maps details and reviews, app stores, retailers, real estate, jobs, social media, web pages and more. Describe the task in q to get the best matches first, or pass names to fetch specific tools. Each tool comes with its description and whether it works without an API key; best matches and named tools also carry their input schema. Run one with call_tool.
| Argument | Type | Description |
|---|---|---|
| q | string | The task, in plain language, e.g. "track competitor prices on Amazon" |
| limit | integer | Most tools to return for q; default 5 |
| names | array | Tool names to fetch with their input schemas, instead of q |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "The task, in plain language, e.g. \"track competitor prices on Amazon\""
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Most tools to return for q; default 5"
},
"names": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 25,
"minItems": 1,
"description": "Tool names to fetch with their input schemas, instead of q"
}
}
}Search Google Maps places, or get one place by ID.
| Argument | Type | Description |
|---|---|---|
| m | any | Search radius in meters for location or lat/lon geography. Accepted range: 1 through 15,028,132. Cannot be combined with z. |
| q | any | The business, category, address, or natural-language query to search. Required when type is search. Examples: coffee shops in Austin, dentist near Denver |
| z | any | Google Maps zoom level for location or lat/lon geography. Accepted range: 3 through 30. Cannot be combined with m. |
| gl | any | Two-letter country code used for regional result localization. Examples: us, gb, ca, au |
| hl | any | Language used for Google Maps labels and returned text. Examples: en, es, fr, de |
| ll | any | A complete viewport containing latitude, longitude, and either zoom or radius. Format: @lat,lon,14z or @lat,lon,5000m |
| lat | any | Latitude for a coordinate-based viewport. Must be supplied with lon and either z or m. |
| lon | any | Longitude for a coordinate-based viewport. Must be supplied with lat and either z or m. |
Get Google search results, including the AI Overview and People also ask.
| Argument | Type | Description |
|---|---|---|
| q | any | Google Search query, up to 2,048 characters. Required unless ludocid, kgmid, or page_token is supplied. |
| cr | any | One or more countryXX restrictions joined with |. |
| gl | any | Lowercase two-letter country localization code. |
| hl | string | Google interface and result language code. |
| lr | any | One or more lang_xx restrictions joined with |. |
| oq | any | Original query associated with an autocomplete selection. |
| si | any | Opaque cached Google search context. |
| ibp | any | Google layout or expansion control. |
| lat | any | Latitude from -90 through 90. Requires lon and conflicts with location and uule. |
| lon |
| data | any | A Google Maps protobuf parameter sequence for search filters or an exact place. Maximum length: 8,192 characters. Exact-place data requires type=place. |
| type | any | Chooses a result search or an exact place response. Required for query and filter searches. Use place when sending an exact-place data sequence. |
| start | any | Native Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit. Use pagination.next when it is present instead of constructing the next request manually. |
| nearby | any | Uses the supplied geography as a nearby-search scope. Requires ll, location, or a lat/lon pair. |
| data_cid | any | A decimal Google CID used to resolve one exact place. Cannot be combined with place_id or exact-place data. |
| location | any | A named geographic location resolved by the API. Cannot be combined with ll or lat/lon. Requires z or m. |
| place_id | any | A Google place identifier used to resolve one exact place or request live foot traffic. Cannot be combined with data_cid or exact-place data on the primary Maps endpoint. It is the only required parameter on /api/google/maps/popular-times. Every response is fetched live; places without published data return popular_times: null. |
| max_price | any | Maximum price level for returned places. Must be non-negative and cannot be lower than min_price. |
| min_price | any | Minimum price level for returned places. Must be non-negative and cannot exceed max_price. |
| min_rating | any | Preferred minimum Google rating. Google treats this as a relevance preference. |
| open_state | any | Filters by the current open state. Cannot be combined with open_on_day or open_at_hour. |
| open_on_day | any | Filters for places open on a specific day. |
| open_at_hour | any | Filters for places open at a specific hour using 24-hour time. Accepted range: 0 through 23. Requires open_on_day. |
| google_domain | any | Validated Google domain used for the request. Examples: google.com, google.co.uk, google.ca |
| result_groups | array | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
{
"type": "object",
"title": "Request",
"properties": {
"m": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "M",
"default": null,
"description": "Search radius in meters for location or lat/lon geography.\n\nAccepted range: 1 through 15,028,132. Cannot be combined with z."
},
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "The business, category, address, or natural-language query to search. Required when type is search.\n\nExamples: coffee shops in Austin, dentist near Denver"
},
"z": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Z",
"default": null,
"description": "Google Maps zoom level for location or lat/lon geography.\n\nAccepted range: 3 through 30. Cannot be combined with m."
},
"gl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gl",
"default": null,
"description": "Two-letter country code used for regional result localization.\n\nExamples: us, gb, ca, au"
},
"hl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hl",
"default": null,
"description": "Language used for Google Maps labels and returned text.\n\nExamples: en, es, fr, de"
},
"ll": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ll",
"default": null,
"description": "A complete viewport containing latitude, longitude, and either zoom or radius.\n\nFormat: @lat,lon,14z or @lat,lon,5000m"
},
"lat": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lat",
"default": null,
"description": "Latitude for a coordinate-based viewport. Must be supplied with lon and either z or m."
},
"lon": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Lon",
"default": null,
"description": "Longitude for a coordinate-based viewport. Must be supplied with lat and either z or m."
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data",
"default": null,
"description": "A Google Maps protobuf parameter sequence for search filters or an exact place.\n\nMaximum length: 8,192 characters. Exact-place data requires type=place."
},
"type": {
"anyOf": [
{
"enum": [
"search",
"place"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Type",
"default": null,
"description": "Chooses a result search or an exact place response. Required for query and filter searches.\n\nUse place when sending an exact-place data sequence."
},
"start": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Start",
"default": null,
"description": "Native Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit.\n\nUse pagination.next when it is present instead of constructing the next request manually."
},
"nearby": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Nearby",
"default": null,
"description": "Uses the supplied geography as a nearby-search scope.\n\nRequires ll, location, or a lat/lon pair."
},
"data_cid": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Data Cid",
"default": null,
"description": "A decimal Google CID used to resolve one exact place.\n\nCannot be combined with place_id or exact-place data."
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "A named geographic location resolved by the API. Cannot be combined with ll or lat/lon.\n\nRequires z or m."
},
"place_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Place Id",
"default": null,
"description": "A Google place identifier used to resolve one exact place or request live foot traffic.\n\nCannot be combined with data_cid or exact-place data on the primary Maps endpoint. It is the only required parameter on /api/google/maps/popular-times. Every response is fetched live; places without published data return popular_times: null."
},
"max_price": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Maximum price level for returned places.\n\nMust be non-negative and cannot be lower than min_price."
},
"min_price": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null,
"description": "Minimum price level for returned places.\n\nMust be non-negative and cannot exceed max_price."
},
"min_rating": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Rating",
"default": null,
"description": "Preferred minimum Google rating.\n\nGoogle treats this as a relevance preference."
},
"open_state": {
"anyOf": [
{
"enum": [
"now",
"24h"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Open State",
"default": null,
"description": "Filters by the current open state.\n\nCannot be combined with open_on_day or open_at_hour."
},
"open_on_day": {
"anyOf": [
{
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Open On Day",
"default": null,
"description": "Filters for places open on a specific day."
},
"open_at_hour": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Open At Hour",
"default": null,
"description": "Filters for places open at a specific hour using 24-hour time.\n\nAccepted range: 0 through 23. Requires open_on_day."
},
"google_domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Google Domain",
"default": null,
"description": "Validated Google domain used for the request.\n\nExamples: google.com, google.co.uk, google.ca"
},
"result_groups": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Return only these top-level result groups, e.g. [\"organic_results\", \"knowledge_graph\"]; omit for the complete response. search_metadata is always kept"
}
},
"additionalProperties": false
}| any |
| Longitude from -180 through 180. Requires lat and conflicts with location and uule. |
| num | any | Best-effort first-page result count, 1 to 10. |
| pws | any | Google personalization control; 0 asks for non-personalized results. |
| tbm | any | Google vertical: lcl, vid, nws, shop, or pts. For image searches, use /api/google/images. |
| tbs | any | Google native date or search filter string. |
| uds | any | Opaque Google filter token. |
| as_q | any | Additional all-of search terms. |
| lsig | any | Opaque Knowledge Graph or local-pack signature. |
| nfpr | any | Google auto-correction control. |
| safe | any | Google adult-content filtering. |
| uule | any | Pre-encoded Google location value. Conflicts with location and lat/lon. |
| as_dt | any | Includes or excludes as_sitesearch. Requires as_sitesearch. |
| as_eq | any | Excluded phrase query. |
| as_lq | any | Require results that link to this URL. |
| as_oq | any | Any-of search terms. |
| as_rq | any | Find pages related to this URL. |
| gs_lp | any | Google gs_lp value associated with an autocomplete selection. |
| kgmid | any | Google Knowledge Graph machine ID, such as /m/0k8z. |
| start | integer | Non-negative Google result offset. Prefer page_token to repeating the same search with start=10, start=20, or another offset. |
| as_epq | any | Exact phrase query. |
| as_nhi | any | Inclusive range upper bound. Requires as_nlo. |
| as_nlo | any | Inclusive range lower bound. Requires as_nhi. |
| as_qdr | any | Quick range d, w, m, or y with an optional positive count. |
| device | string | Request device profile and radius bound. |
| filter | any | Google similar-result filtering control. |
| radius | any | Decimal search-bias radius in meters. Requires location or lat/lon. Desktop: 1–199; tablet/mobile: 1–1,000. |
| ludocid | any | Google local CID used to search for one entity. |
| sclient | any | Google client identifier such as gws-wiz-serp. |
| location | any | Human-readable city-level location encoded to UULE by Litescrape. Conflicts with uule and lat/lon. |
| peek_pws | any | Google personalization peek flag, forwarded unchanged. |
| fast_mode | boolean | Return organic results only, skipping AI Overview and all other result groups. Keeps search metadata and parameters. Omits cross-module position_absolute. |
| page_token | any | Opaque token from pagination.next_page_token. Send it alone to fetch the next page with the original search parameters. Prefer page_token to repeating the same search with start=10, start=20, or another offset. Send the token as soon as possible and no later than 5 minutes after receiving it. Available for ordinary Google Search, including fast mode; not available for tbm verticals. search_metadata.continuation is followed for a direct request. If Google omits a required link or the deadline expires, the request fails without billing. |
| color_scheme | any | Google result color presentation. |
| as_sitesearch | any | Site hostname to include or exclude. |
| google_domain | string | Results use google.com. Use gl, hl, cr, lr or geography for localization. |
| result_groups | array | Return only these top-level result groups, e.g. ["organic_results", "knowledge_graph"]; omit for the complete response. search_metadata is always kept |
{
"type": "object",
"title": "GoogleSearch",
"properties": {
"q": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "Google Search query, up to 2,048 characters.\n\nRequired unless ludocid, kgmid, or page_token is supplied."
},
"cr": {
"anyOf": [
{
"type": "string",
"pattern": "^country[A-Z]{2}(?:\\|country[A-Z]{2})*$"
},
{
"type": "null"
}
],
"title": "Cr",
"default": null,
"description": "One or more countryXX restrictions joined with |."
},
"gl": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z]{2}$"
},
{
"type": "null"
}
],
"title": "Gl",
"default": null,
"description": "Lowercase two-letter country localization code."
},
"hl": {
"type": "string",
"title": "Hl",
"default": "en",
"pattern": "^[a-z]{2,3}(?:-[A-Za-z]{2,8})?$",
"description": "Google interface and result language code."
},
"lr": {
"anyOf": [
{
"type": "string",
"pattern": "^lang_[a-z]{2,3}(?:\\|lang_[a-z]{2,3})*$"
},
{
"type": "null"
}
],
"title": "Lr",
"default": null,
"description": "One or more lang_xx restrictions joined with |."
},
"oq": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Oq",
"default": null,
"description": "Original query associated with an autocomplete selection."
},
"si": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Si",
"default": null,
"description": "Opaque cached Google search context."
},
"ibp": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Ibp",
"default": null,
"description": "Google layout or expansion control."
},
"lat": {
"anyOf": [
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "null"
}
],
"title": "Lat",
"default": null,
"description": "Latitude from -90 through 90.\n\nRequires lon and conflicts with location and uule."
},
"lon": {
"anyOf": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "null"
}
],
"title": "Lon",
"default": null,
"description": "Longitude from -180 through 180.\n\nRequires lat and conflicts with location and uule."
},
"num": {
"anyOf": [
{
"type": "integer",
"maximum": 10,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Num",
"default": null,
"description": "Best-effort first-page result count, 1 to 10."
},
"pws": {
"anyOf": [
{
"enum": [
"0",
"1"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Pws",
"default": null,
"description": "Google personalization control; 0 asks for non-personalized results."
},
"tbm": {
"anyOf": [
{
"enum": [
"lcl",
"vid",
"nws",
"shop",
"pts"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Tbm",
"default": null,
"description": "Google vertical: lcl, vid, nws, shop, or pts. For image searches, use /api/google/images."
},
"tbs": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Tbs",
"default": null,
"description": "Google native date or search filter string."
},
"uds": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Uds",
"default": null,
"description": "Opaque Google filter token."
},
"as_q": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "As Q",
"default": null,
"description": "Additional all-of search terms."
},
"lsig": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Lsig",
"default": null,
"description": "Opaque Knowledge Graph or local-pack signature."
},
"nfpr": {
"anyOf": [
{
"enum": [
"0",
"1"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Nfpr",
"default": null,
"description": "Google auto-correction control."
},
"safe": {
"anyOf": [
{
"enum": [
"active",
"off"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Safe",
"default": null,
"description": "Google adult-content filtering."
},
"uule": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "Uule",
"default": null,
"description": "Pre-encoded Google location value.\n\nConflicts with location and lat/lon."
},
"as_dt": {
"anyOf": [
{
"enum": [
"i",
"e"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "As Dt",
"default": null,
"description": "Includes or excludes as_sitesearch.\n\nRequires as_sitesearch."
},
"as_eq": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "As Eq",
"default": null,
"description": "Excluded phrase query."
},
"as_lq": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "As Lq",
"default": null,
"description": "Require results that link to this URL."
},
"as_oq": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "As Oq",
"default": null,
"description": "Any-of search terms."
},
"as_rq": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "As Rq",
"default": null,
"description": "Find pages related to this URL."
},
"gs_lp": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
],
"title": "Gs Lp",
"default": null,
"description": "Google gs_lp value associated with an autocomplete selection."
},
"kgmid": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Kgmid",
"default": null,
"description": "Google Knowledge Graph machine ID, such as /m/0k8z."
},
"start": {
"type": "integer",
"title": "Start",
"default": 0,
"minimum": 0,
"description": "Non-negative Google result offset.\n\nPrefer page_token to repeating the same search with start=10, start=20, or another offset."
},
"as_epq": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "null"
}
],
"title": "As Epq",
"default": null,
"description": "Exact phrase query."
},
"as_nhi": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "As Nhi",
"default": null,
"description": "Inclusive range upper bound.\n\nRequires as_nlo."
},
"as_nlo": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "As Nlo",
"default": null,
"description": "Inclusive range lower bound.\n\nRequires as_nhi."
},
"as_qdr": {
"anyOf": [
{
"type": "string",
"pattern": "^[dwmy](?:[1-9][0-9]*)?$"
},
{
"type": "null"
}
],
"title": "As Qdr",
"default": null,
"description": "Quick range d, w, m, or y with an optional positive count."
},
"device": {
"enum": [
"desktop",
"tablet",
"mobile"
],
"type": "string",
"title": "Device",
"default": "desktop",
"description": "Request device profile and radius bound."
},
"filter": {
"anyOf": [
{
"enum": [
"0",
"1"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Filter",
"default": null,
"description": "Google similar-result filtering control."
},
"radius": {
"anyOf": [
{
"type": "number",
"maximum": 1000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Radius",
"default": null,
"description": "Decimal search-bias radius in meters.\n\nRequires location or lat/lon. Desktop: 1–199; tablet/mobile: 1–1,000."
},
"ludocid": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Ludocid",
"default": null,
"description": "Google local CID used to search for one entity."
},
"sclient": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Sclient",
"default": null,
"description": "Google client identifier such as gws-wiz-serp."
},
"location": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Location",
"default": null,
"description": "Human-readable city-level location encoded to UULE by Litescrape.\n\nConflicts with uule and lat/lon."
},
"peek_pws": {
"anyOf": [
{
"enum": [
"0",
"1"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Peek Pws",
"default": null,
"description": "Google personalization peek flag, forwarded unchanged."
},
"fast_mode": {
"type": "boolean",
"title": "Fast Mode",
"default": false,
"description": "Return organic results only, skipping AI Overview and all other result groups.\n\nKeeps search metadata and parameters. Omits cross-module position_absolute."
},
"page_token": {
"anyOf": [
{
"type": "string",
"maxLength": 32768
},
{
"type": "null"
}
],
"title": "Page Token",
"default": null,
"description": "Opaque token from pagination.next_page_token. Send it alone to fetch the next page with the original search parameters.\n\nPrefer page_token to repeating the same search with start=10, start=20, or another offset. Send the token as soon as possible and no later than 5 minutes after receiving it. Available for ordinary Google Search, including fast mode; not available for tbm verticals. search_metadata.continuation is followed for a direct request. If Google omits a required link or the deadline expires, the request fails without billing."
},
"color_scheme": {
"anyOf": [
{
"enum": [
"light",
"dark"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Color Scheme",
"default": null,
"description": "Google result color presentation."
},
"as_sitesearch": {
"anyOf": [
{
"type": "string",
"maxLength": 253
},
{
"type": "null"
}
],
"title": "As Sitesearch",
"default": null,
"description": "Site hostname to include or exclude."
},
"google_domain": {
"type": "string",
"title": "Google Domain",
"default": "google.com",
"description": "Results use google.com. Use gl, hl, cr, lr or geography for localization."
},
"result_groups": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Return only these top-level result groups, e.g. [\"organic_results\", \"knowledge_graph\"]; omit for the complete response. search_metadata is always kept"
}
},
"additionalProperties": false
}