Changelog

Your model can search the web and read any page

2 min read
MiniRouter and Server tools, separated by a silver fold of light on black.

Two server tools give any function-calling model the live web. List one in on Chat Completions and MiniRouter runs it, feeds the result back and returns the final answer in the same request.

Search the web

returns current results. Each search costs $0.01 on top of the model's tokens.

Web search · cURL
curl https://api.minirouter.sh/v1/chat/completions \
  -H "Authorization: Bearer $MINIROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "zai/glm-5.3-flash",
    "messages": [{ "role": "user", "content": "Search the web: who won the most recent Formula 1 Grand Prix? One line." }],
    "tools": [{ "type": "minirouter:web_search", "parameters": { "max_uses": 1 } }]
  }'

caps searches per request, 1 to 10. counts them. Runs on models served through Vercel.

Read any page

extracts readable text from a public URL. No charge beyond the model's tokens.

Web fetch · cURL
curl https://api.minirouter.sh/v1/chat/completions \
  -H "Authorization: Bearer $MINIROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "alibaba/qwen3.5-flash",
    "messages": [{ "role": "user", "content": "Use web_fetch to read https://example.com and summarize the page in one sentence." }],
    "tools": [{ "type": "minirouter:web_fetch", "parameters": { "allowed_domains": ["example.com"], "max_uses": 1 } }]
  }'

Limit domains with and page size with . Private-network addresses are blocked.

One request, one total

The model reads your prompt, calls the tool, reads the result and answers. Each round is billed separately and sums them. bounds the loop, default 5.