meraGPT
ModelsPlaygroundDocsPricingBlogSign inTry it free

docs

  • Overview
  • Authentication
  • System One (Decider)
  • Restyle
  • Fanout
  • Cookbooks
  • Chat completions
  • Models
  • Errors and limits

links

  • Playground
  • Your API keys
  • Email support

cookbook · Query Fanout 1 · Generative engine optimisation

Turn a buyer's question into a content brief

When a buyer asks an AI assistant a question, the assistant runs web searches to build its answer, and you want your page to be among the results it cites. This recipe turns a buyer's question into the searches the assistant is likely to run, then uses those searches as the brief for the page you are writing.

Request

POST /v1/fanout, documented in the Query Fanout 1 reference.

curl https://meragpt.com/v1/fanout \
  -H "Authorization: Bearer $MERAGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "query-fanout-1",
  "question": "Which project management tool is best for a 10-person design agency?"
}'

What came back

The real output from running this recipe, unedited.

{
  "run 1": [
    "best project management tools small team",
    "Agile project management tools 2025 2026",
    "Trello project management board",
    "Asana project management tool",
    "ClickUp project management app"
  ],
  "run 2": [
    "best project management software small team 2026",
    "project management tools small teams pricing agile scrum Jira Monday.com Trello 2026"
  ]
}

Python

import os, requests

API = "https://meragpt.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MERAGPT_API_KEY']}"}

QUESTION = "Which project management tool is best for a 10-person design agency?"

# the model samples, so merge a few runs
searches = []
for _ in range(3):
    r = requests.post(f"{API}/fanout", headers=HEADERS, json={"model": "query-fanout-1", "question": QUESTION}).json()
    for s in r["queries"]:
        if s.lower() not in (x.lower() for x in searches):
            searches.append(s)

for s in searches:
    print("-", s)  # each line is a search your page should answer

TypeScript

const API = "https://meragpt.com/v1";
const headers = {
  Authorization: `Bearer ${process.env.MERAGPT_API_KEY}`,
  "Content-Type": "application/json",
};

const QUESTION = "Which project management tool is best for a 10-person design agency?";

// the model samples, so merge a few runs
const searches = new Map<string, string>();
for (let i = 0; i < 3; i++) {
  const r = await fetch(`${API}/fanout`, {
    method: "POST",
    headers,
    body: JSON.stringify({ model: "query-fanout-1", question: QUESTION }),
  }).then((res) => res.json());
  for (const s of r.queries) searches.set(s.toLowerCase(), s);
}
console.log([...searches.values()]);

When to trust it

The output predicts likely searches, not the exact ones an engine will run, so treat results as directional rather than guaranteed. Because the model samples, runs differ; call it 3 times and merge the results before writing.

Try it without code in the playground, or see more Query Fanout 1 recipes: see which rivals an assistant pulls in.

meraGPTModelsPlaygroundDocsPricingFAQTermsPrivacyhello@meragpt.com© 2026