JSON POST request example
POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/bing/search with Content-Type: application/json and your Authorization: Bearer header.
{
"q": "python documentation"
}// request reference
Bing Search parameters
Send query parameters with GET /api/bing/search. 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.
Engine and query
qBing search query after trimming.
Type string · GET query or POST JSON
Example / input hint: pizza shops in New York
- Accepted length: 1 through 2,048 characters.
- Control characters are rejected.
- Bing query syntax such as quoted phrases and exclusions remains available.
engineSelects the Bing web-search engine.
Type string · GET query or POST JSON · Default bing
bingSearch origin
locationNamed city-level origin used to localize the Bing request.
Type string · GET query or POST JSON
Example / input hint: New York, New York
- Maximum length: 256 characters.
- Control characters are rejected.
latLatitude from -90 through 90.
Type number · GET query or POST JSON
Example / input hint: 40.7128
- May be supplied independently or with lon.
lonLongitude from -180 through 180.
Type number · GET query or POST JSON
Example / input hint: -74.0060
- May be supplied independently or with lat.
Localization
mktCase-insensitive Bing language-country market token.
Type string · GET query or POST JSON
Example / input hint: en-US
- Format: two-letter language and country, such as en-US.
- Cannot be combined with cc.
ccCase-insensitive two-letter country of origin.
Type string · GET query or POST JSON
Example / input hint: US
- Format: US or GB.
- Cannot be combined with mkt.
Pagination, filters, and device
firstOne-based native offset for organic results.
Type integer · GET query or POST JSON · Default 1
Example / input hint: 1
- Range: 1 through 9,007,199,254,740,991.
- Prefer litescrape_pagination.next when it is returned.
safeSearchBing adult-content policy; values are case-insensitive.
Type string · GET query or POST JSON · Default moderate
offmoderatestrictfiltersNative Bing display or date filter expression.
Type string · GET query or POST JSON
Example / input hint: ex1:"ez5_20069_20433"
- Maximum length: 8,192 characters.
- Control characters are rejected.
deviceSelects desktop, tablet, or mobile result behavior.
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 ads, inline_videos, litescrape_pagination, organic_results, pagination, related_searches, search_information, search_metadata, search_parameters, knowledge_graph, knowledge_graph_list, answer_box, answer_box_list, carousel_results, copilot_answer, coupons_results, events_results, inline_images, inline_shopping_results, local_map, local_results, recipes_results, related_questions, short_videos, top_shopping_results, top_stories, top_stories_link, 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.
Illustrative success response. Result groups and optional fields depend on upstream content.
{
"search_metadata": {
"id": "a4d234f6b74a330f8a8d5069",
"status": "Success",
"bing_url": "https://www.bing.com/search?q=pizza+shops+in+New+York"
},
"search_parameters": {
"engine": "bing",
"q": "pizza shops in New York",
"mkt": "en-US",
"device": "desktop"
},
"knowledge_graph": {
"title": "Pizza",
"description": "A baked flatbread dish with toppings."
},
"organic_results": [
{
"position": 1,
"title": "Example Pizza",
"link": "https://example.com/pizza"
}
],
"pagination": {
"next": "https://www.bing.com/search?q=pizza+shops+in+New+York&first=11"
},
"litescrape_pagination": {
"next": "https://ecll-litescrape-v3--site-api-web.modal.run/api/bing/search?q=pizza+shops+in+New+York&first=11"
},
"submit_feedback_for_this_response_here": "https://ecll-litescrape-v3--site-api-web.modal.run/api/feedback/example-not-a-valid-token"
}