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 Search API

DuckDuckGo search results, up to 50 a page, with region, safe search, date and pagination controls.

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

// from request to code

Integrate DuckDuckGo Search

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

APIDuckDuckGo Search
More options 6
Search query

Search DuckDuckGo.

Pagination

Control result count, offset, and search assistance.

Your request updates the code instantly.

Open the Playground →
https://ecll-litescrape-v3--site-mcp.modal.run/mcp

Add the server URL to your MCP client, then call the tool below. A free allowance is available without a key.

tools/call.json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "duckduckgo_search",
    "arguments": {
      "q": "coffee Austin Texas",
      "kl": "us-en",
      "safe": "-1",
      "m": 10
    }
  }
}

JSON POST request example

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

POST · application/json
{
  "q": "python documentation"
}

// request reference

DuckDuckGo Search parameters

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

Search query

Search DuckDuckGo.

q
QueryRequired

Required search text, up to 500 characters.

Type string · GET query or POST JSON

Example / input hint: coffee Austin Texas

kl
RegionOptional

DuckDuckGo region and language token, such as us-en.

Type string · GET query or POST JSON

Example / input hint: us-en

safe
Safe searchOptional

DuckDuckGo safe-search level.

Type string · GET query or POST JSON · Default -1

Accepted values1-1-2
df
Date filterOptional

Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD.

Type string · GET query or POST JSON

Example / input hint: w

Pagination

Control result count, offset, and search assistance.

search_assist
Search assistOptional

Enable DuckDuckGo query assistance; mutually exclusive with m.

Type boolean · GET query or POST JSON · Default true

Accepted valuestruefalse
start
Start offsetOptional

Result offset from 0 through 10,000.

Type integer · GET query or POST JSON · Default 0

Example / input hint: 0

m
Result countOptional

Requested result count from 1 through 50; mutually exclusive with search_assist.

Type integer · GET query or POST JSON · Default 50

Example / input hint: 10

// 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, organic_results, search_information, 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