JSON POST request example
POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/google/ai-mode with Content-Type: application/json and your Authorization: Bearer header.
{
"q": "why is the sky blue",
"hl": "en",
"gl": "us"
}// request reference
Google AI Mode parameters
Send query parameters with GET /api/google/ai-mode. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server, not in browser code.
POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.
Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.
Question
qThe question to ask Google AI Mode, up to 2,048 characters with no controls.
Type string · GET query or POST JSON
Example / input hint: what is the best espresso machine for a small kitchen
Geography
locationNamed search origin, up to 512 characters and 63 UTF-8 bytes once Google-encoded. Conflicts with uule.
Type string · GET query or POST JSON
Example / input hint: Austin, Texas
uuleCanonical Google location token, up to 2,048 characters. Conflicts with location.
Type string · GET query or POST JSON
Example / input hint: w+CAIQICI…
Conversation and image
continuableReturn a subsequent_request_token so this answer can be followed up.
Type boolean · GET query or POST JSON · Default false
truefalsesubsequent_request_tokenContinue a conversation from a previous continuable response. Requires a new question, and cannot be combined with image_url. Expires after 30 minutes.
Type string · GET query or POST JSON
Example / input hint: ai1.…
image_urlPublic http or https image to include in the prompt, up to 2,048 characters and 20 MB. Google Lens receives the image; the answer still comes from AI Mode.
Type string · GET query or POST JSON
Example / input hint: https://example.com/photo.jpg
Localization
google_domainValidated first-party Google domain the request is served from.
Type string · GET query or POST JSON · Default google.com
Example / input hint: google.com
glTwo-letter country localization, normalized to lowercase.
Type string · GET query or POST JSON
Example / input hint: us
hlLanguage code such as en, en-GB, or de.
Type string · GET query or POST JSON · Default en
Example / input hint: en
deviceGoogle returns its real layout for the selected device.
Type string · GET query or POST JSON · Default desktop
desktoptabletmobile// response
Work with the complete JSON response
Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.
Response groups include references, text_blocks, search_metadata, search_parameters, subsequent_request_token, submit_feedback_for_this_response_here. Groups and fields depend on the upstream result.
The SDK examples use raise_for_error() or raiseForError() so API errors are not mistaken for successful results.
Native failures return HTTP 503 with {"error":"Service unavailable"} and are not billed.