JSON POST request example
POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/google/ads with Content-Type: application/json and your Authorization: Bearer header.
{
"q": "coffee maker",
"location": "Austin, Texas, United States"
}// request reference
Google Ads parameters
Send query parameters with GET /api/google/ads. 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.
Query and location
qGoogle Ads search query, up to 2,048 characters with no controls.
Type string · GET query or POST JSON
Example / input hint: coffee maker
locationHuman-readable location where the ad search originates, up to 63 UTF-8 bytes once Google-encoded.
Type string · GET query or POST JSON
Example / input hint: Austin, Texas, United States
- Example: Austin, Texas, United States.
Language, filtering, and device
hlGoogle interface and result language, such as en, en-GB, or de.
Type string · GET query or POST JSON · Default en
Example / input hint: en
safeGoogle adult-content filtering.
Type string · GET query or POST JSON
activeoffnfprGoogle spelling auto-correction control. Set 1 to exclude corrected queries.
Type string · GET query or POST JSON
01deviceGoogle 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 search_metadata, search_parameters, search_information, organic_results, ads, ai_overview, answer_box, knowledge_graph, local_map, local_results, pagination, related_questions, related_searches, ask_ai_mode, available_on, broaden_searches, complementary_results, discover_more_places, discussions_and_forums, episode_guide, events_results, filters, flight_result, immersive_products, inline_images, inline_videos, jobs_results, news_results, perspectives, places_sites, recipes_results, refine_by, related_brands, related_categories, scholarly_articles, shopping_results, categorized_shopping_results, short_videos, sports_results, top_sights, top_stories, video_results, finance_results, 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.