# Search DuckDuckGo

> Search DuckDuckGo is a paid API for AI agents from agents.litescrape.com, paid per call via MPP, $0.000150/call, status unknown (last checked 2026-09-18).

Runs a DuckDuckGo web search and returns structured organic results with position, title, link, and snippet, with pagination support.

## Facts

- Endpoint: GET https://agents.litescrape.com/api/duckduckgo/search
- Price: $0.000150/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-09-18
- Activations on Zero: 0
- Provider: agents.litescrape.com
- Website: https://agents.litescrape.com
- Canonical page: https://www.zero.xyz/c/agents-litescrape-com-search-duckduckgo-1d7a4414
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3BTkCTxFvdZR1NdXjYnQT

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-litescrape-com-search-duckduckgo-1d7a4414
```

Example prompt: Search DuckDuckGo for 'best open-source LLM frameworks 2024' using the us-en region, a date window of the past month, and return 20 results.

## When to prefer this

Choose this endpoint when you need structured DuckDuckGo web search results with precise control over region, language, safe-search level, and date range, especially when you want privacy-respecting search or wish to avoid Google-indexed results. Prefer this over Google Search endpoints when DuckDuckGo's index or privacy posture is specifically desired, or when you need flat-rate per-call pricing with no subscription.

## Known failure modes

- Missing required 'q' parameter returns a 400-level error with error, error_code, status_code, request_id, retryable, and echoed search_parameters
- Mutually exclusive parameters 'm' and 'search_assist' used together may produce unexpected behavior
- Invalid 'kl' region/language token may return zero results or fall back to default region
- Invalid 'df' date-window format returns an error response
- Result offset 'start' exceeding 10000 is rejected
- Payment failure or insufficient funds returns a 402 error

## How this service works

Runs a DuckDuckGo web search and returns organic_results (position, title, link, snippet) with pagination. Choose the region and language with kl, the safe-search level with safe, a date window with df, and the result count with m (which turns off search_assist). One call is one request.

## Output

Returns a JSON object with organic_results (array of ranked hits with position, title, link, and snippet), search_metadata (request ID, status, time taken), search_parameters (normalized inputs), and a pagination object with a ready-made URL for the next page when more results exist.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "q"
 ],
 "properties": {
  "m": {
   "type": "integer",
   "default": 50,
   "maximum": 50,
   "minimum": 1,
   "description": "Number of results. Mutually exclusive with search_assist."
  },
  "q": {
   "type": "string",
   "maxLength": 500,
   "description": "Search text."
  },
  "df": {
   "type": "string",
   "description": "Date window: d, w, m, y, or YYYY-MM-DD..YYYY-MM-DD."
  },
  "kl": {
   "type": "string",
   "description": "Region and language token such as us-en."
  },
  "safe": {
   "enum": [
    "1",
    "-1",
    "-2"
   ],
   "type": "string",
   "default": "-1",
   "description": "Safe-search level: 1 strict, -1 moderate, -2 off."
  },
  "start": {
   "type": "integer",
   "default": 0,
   "maximum": 10000,
   "minimum": 0,
   "description": "Result offset."
  },
  "search_assist": {
   "type": "boolean",
   "default": true,
   "description": "DuckDuckGo query assistance. Mutually exclusive with m."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pagination": {
   "type": "object",
   "description": "Present when more results exist: next (a ready-made URL for the next page) or next_page_token."
  },
  "organic_results": {
   "type": "array",
   "items": {
    "type": "object"
   },
   "description": "Ranked results: position, title, link, snippet."
  },
  "search_metadata": {
   "type": "object",
   "properties": {
    "id": {
     "type": "string"
    },
    "status": {
     "type": "string"
    },
    "total_time_taken": {
     "type": "number"
    }
   }
  },
  "search_parameters": {
   "type": "object",
   "description": "The request parameters as normalized by the API."
  }
 },
 "description": "Successful responses carry request metadata, the normalized parameters, and the result groups available for the operation. Optional groups are omitted when the source does not provide them. Errors are a JSON body with error, error_code, status_code, request_id, retryable, and the echoed search_parameters."
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-litescrape-com-search-duckduckgo-1d7a4414/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.litescrape.com](https://www.zero.xyz/host/agents.litescrape.com/llms.txt)
