qstringrequired
Parameter defines the prompt you want to send to Duck AI, DuckDuckGo's AI chat.
https://api.sandbase.ai/v1/api/duckduckgo/ai-chatGet the answer DuckDuckGo's Duck.ai chat gives for a question with a chosen chat model, with answer text and a token for follow-up questions.
Your output will appear here
Complete the inputs, then click Run.
Get the answer DuckDuckGo's Duck.ai chat gives for a question with a chosen chat model, with answer text and a token for follow-up questions.
curl -X POST "https://api.sandbase.ai/v1/api/duckduckgo/ai-chat" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "How does a heat pump work?"}'
The result is returned in outputs[0].data as structured JSON.
| Name | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Parameter defines the prompt you want to send to Duck AI, DuckDuckGo's AI chat. |
model | string | No | Parameter defines the AI model that answers the prompt. It can be set to: gpt-5.6-luna - GPT-5.6 Luna gpt-6-luna - GPT-6 Luna gpt-5.4-mini - GPT-5.4 mini claude-haiku-4-5 - Claude Haiku 4.5 mistral-small-2603 - Mistral Small 4 `ti |
subsequent_request_token | string | No | Parameter defines the token used to continue a Duck AI conversation. Pass this token with a new q to send a follow-up prompt that includes the previous prompts and answers as context (multi-turn). The token is returned by the API from you |
json_restrictor | string | No | Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details. |
$0.010 per successful call. Failed calls are not charged.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/duckduckgo/ai-chat" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"q": "How does a heat pump work?"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
qstringrequiredParameter defines the prompt you want to send to Duck AI, DuckDuckGo's AI chat.
modelstringParameter defines the AI model that answers the prompt. It can be set to: `gpt-5.6-luna` - GPT-5.6 Luna `gpt-6-luna` - GPT-6 Luna `gpt-5.4-mini` - GPT-5.4 mini `claude-haiku-4-5` - Claude Haiku 4.5 `mistral-small-2603` - Mistral Small 4 `tinfoil/gpt-oss-120b` - gpt-oss 120B `tinfoil/gemma4-31b` - Gemma 4 31B It defaults to `gpt-5.6-luna`.
subsequent_request_tokenstringParameter defines the token used to continue a Duck AI conversation. Pass this token with a new `q` to send a follow-up prompt that includes the previous prompts and answers as context (multi-turn). The token is returned by the API from your previous request using our Duck AI API. The token holds the whole conversation, so it grows with each turn. Conversations longer than about 16,000 characters (prompts and answers combined) can't be continued: the request becomes too long and is rejected.
json_restrictorstringParameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
DuckDuckGo AI Chat AnswerThis API DuckDuckGo | $0.01 per call | JSON |
DuckDuckGo | $0.01 per call | JSON |
DuckDuckGo | $0.00015 per call | Async JSON |
DuckDuckGo | $0.015 per call | JSON |
DuckDuckGo | $0.015 per call | JSON |
DuckDuckGo | $0.01 per call | JSON |
Questions
Send a POST request to https://api.sandbase.ai/v1/api/duckduckgo/ai-chat with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.
$0.01 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
Required: q (string). Optional: model (string), subsequent_request_token (string) and json_restrictor (string). The Parameters table and the Playground on this page list every field.
A JSON response returned in the same HTTP request (synchronous).
No. DuckDuckGo AI Chat Answer runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for DuckDuckGo API access separately.