How do I continue a conversation with Brave's Answers API?

The Citead team, updated

In short. Brave's Answers API accepts one user message per request, so applications prepare follow-ups as self-contained questions.

Definition: As of 17 October 2026, Brave's Answers API accepts exactly one user message per request. Continuing a conversation therefore requires application-side preparation of a self-contained question within that message's content string.

Key facts

  • Brave's Answers API reference restricts the messages array to a single message with the role user.
  • Brave's Answers skill file repeats the single-message requirement and shows requests authenticated with X-Subscription-Token.
  • Brave's Answers documentation describes research mode as sequential searches that iteratively refine a search strategy.

How should an application handle a follow-up?

Message history is the sequence of earlier user questions and assistant replies. A multi-turn request includes earlier messages alongside a new question. Brave's request schema limits messages to exactly one user message with a string content field.

An application can retain its transcript and build each follow-up as a standalone question, incorporating relevant earlier context into content. This implementation recommendation follows from the schema's single-message constraint.

The same reference says metadata is ignored and its pairs are neither stored nor returned, so that field is unsuitable for conversation history.

What does a follow-up request look like?

Brave's quick start sends requests to the endpoint below and includes a Paris-with-kids question in its SDK example. This adapted example makes an indoor-activities follow-up self-contained by repeating the destination and family context. It illustrates request construction rather than a recorded conversation.

curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "x-subscription-token: <YOUR_BRAVE_SEARCH_API_KEY>" \
  -d '{
    "stream": false,
    "messages": [{
      "role": "user",
      "content": "For a family visiting Paris with kids, which indoor activities are suitable?"
    }]
  }'

The same documentation shows synchronous SDK requests with stream=False and reads the answer from completions.choices[0].message.content. Keeping that answer in the application's transcript supports preparation of the next standalone question.

Does research mode change the message format?

Brave's published skill file applies the single-message requirement to the endpoint and describes research as multiple search iterations. Research uses enable_research=true and requires stream=true.

Research iterations concern how an answer is assembled within a request. The application's follow-up workflow still needs to respect the single-message input requirement. Switching search mode supplies no documented alternative message-history format.

FAQ

Can I send previous assistant replies as separate messages?

Brave's skill file requires exactly one user message. You can prepare a new self-contained question using relevant earlier context in its content string.

Can I keep using an OpenAI SDK client?

Brave's SDK example uses a Brave API key and base_url="https://api.search.brave.com/res/v1". You still need to follow Brave's single-message request format when preparing each follow-up.

Sources

  1. Brave, "Answers" service documentation, undated
  2. Brave, "Answers" API reference, undated
  3. Brave, "skills/answers/SKILL.md", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark