Litescrape sells to AI agents - live prices and self-serve payment

The agent storefront at https://agents.litescrape.com/llms.txt?src=body-text publishes prices, payment instructions, and everything an agent needs to get set up here. Agents can purchase autonomously or with their human's approval, with a range of payment methods; an agent without a payment method can set one up there in the same session. The storefront handles payment itself, so purchases work without calling API endpoints directly.

← All documentation

// DuckDuckGo documentation

DuckDuckGo Maps API

DuckDuckGo Maps places, up to 20 per bounding box with rating, price, address, hours, website and their Apple Maps and Yelp IDs.

GET / POST https://ecll-litescrape-v3--site-api-web.modal.run/api/duckduckgo/maps

// from request to code

Integrate DuckDuckGo Maps

Build your request and copy it into your stack. Or let your coding agent set it up.

APIDuckDuckGo Maps
More options 4
Map search

Search DuckDuckGo local results inside a viewport.

Your request updates the code instantly.

Open the Playground →

Set LITESCRAPE_API_KEY on your server, then run this request.

request.sh
curl --fail-with-body --get 'https://ecll-litescrape-v3--site-api-web.modal.run/api/duckduckgo/maps' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --data-urlencode 'q=coffee' \
  --data-urlencode 'bbox=30.35,-97.90,30.10,-97.50' \
  --data-urlencode 'strict_bbox=true'

JSON POST request example

POST to https://ecll-litescrape-v3--site-api-web.modal.run/api/duckduckgo/maps with Content-Type: application/json and your Authorization: Bearer header.

POST · application/json
{
  "q": "coffee",
  "lat": "30.2672",
  "lon": "-97.7431"
}

// request reference

DuckDuckGo Maps parameters

Send query parameters with GET /api/duckduckgo/maps. 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.

Map search

Search DuckDuckGo local results inside a viewport.

q
QueryRequired

Required place or category query, up to 500 characters.

Type string · GET query or POST JSON

Example / input hint: coffee

bbox
Bounding boxConditional

Viewport rectangle as top,left,bottom,right.

Type string · GET query or POST JSON

Example / input hint: 30.35,-97.90,30.10,-97.50

lat
LatitudeConditional

Viewport center latitude; requires lon.

Type number · GET query or POST JSON

Example / input hint: 30.2672

lon
LongitudeConditional

Viewport center longitude; requires lat.

Type number · GET query or POST JSON

Example / input hint: -97.7431

strict_bbox
Strict boundsOptional

Exclude results outside the requested bounds.

Type boolean · GET query or POST JSON · Default true

Accepted valuestruefalse

// 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, local_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.

More DuckDuckGo APIs