Dobby is freeeeeee — no key, no signup, no card. We don't read docs, we call the endpoint and publish what came back, including the 402s.
One call, then you are calling an LLM
Ask us what is answering right now. The reply carries everything the next call needs.
Base URL, model ID, whether a key is needed, what a real probe proved. Ranked, so models[0] is the pick and the rest are your fallbacks — which you will want, because keyless quotas are per-IP and the one that answered us can refuse you.
curl -s https://stillworks.supercapybara.com/api/llm/upmodelopenai_base_urlauthlatency_msansweredlast_okproved[]claimed_unproved[]failed[]?feature=tools,vision narrows it to what a real call provedimport json, urllib.request
from openai import OpenAI
shelf = json.load(urllib.request.urlopen(
"https://stillworks.supercapybara.com/api/llm/up"))
for endpoint in shelf["models"]: # already ranked, best first
client = OpenAI(base_url=endpoint["openai_base_url"],
api_key="not-needed")
try:
reply = client.chat.completions.create(
model=endpoint["model"],
messages=[{"role": "user", "content": "hello"}],
)
except Exception:
continue # your IP hit its quota — next
print(endpoint["model"], reply.choices[0].message.content)
breakimport OpenAI from "openai";
const shelf = await fetch("https://stillworks.supercapybara.com/api/llm/up")
.then((response) => response.json());
for (const endpoint of shelf.models) { // already ranked, best first
const client = new OpenAI({
baseURL: endpoint.openai_base_url,
apiKey: "not-needed",
});
try {
const reply = await client.chat.completions.create({
model: endpoint.model,
messages: [{ role: "user", content: "hello" }],
});
console.log(endpoint.model, reply.choices[0].message.content);
break;
} catch { continue; } // your IP hit its quota — next
}# whatever your JSON tool is, the two fields you need are the same
read BASE MODEL < <(curl -s https://stillworks.supercapybara.com/api/llm/up \
| jq -r '.models[0] | "\(.openai_base_url) \(.model)"')
curl -s "$BASE/chat/completions" \
-H 'Content-Type: application/json' \
-d "{\"model\":\"$MODEL\",
\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}"No key needed first, then by how much of the last week each one answered, then by speed. None of it is a promise about the next minute — that is what the timestamps are for. Click any row for its snippet.
| Expand | Model▲ | Key | Tools | Schema | JSON | Vision | Latency▲ | Answered▲ | Verified▲ | Copy |
|---|---|---|---|---|---|---|---|---|---|---|
| › | Lorbus/Qwen3.6-27B-int4-AutoRound uncloseai · hermes.ai.unturf.com/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 1674 ms | 34 h ago | ||
curl .env python node
| ||||||||||
| › | Qwen3.8-27B ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 642 ms | 30 h ago | ||
curl .env python node
| ||||||||||
| › | RedHatAI/Qwen3.8-27B-INT4 uncloseai · hermes.ai.unturf.com/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 783 ms | 25 h ago | ||
curl .env python node
| ||||||||||
| › | Qwen2.5-VL-72B-Instruct ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it failed | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 769 ms | 2 days ago | ||
curl .env python node
| ||||||||||
| › | Qwen3.6-27B ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 729 ms | 4 days ago | ||
curl .env python node
| ||||||||||
| › | Qwen3.5-397B-A17B ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: never probed | Vision: we called it and it worked | 468 ms | 7 days ago | ||
curl .env python node
| ||||||||||
| › | Mistral-Small-3.2-24B-Instruct-2506 ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 670 ms | 12 days ago | ||
curl .env python node
| ||||||||||
| › | Qwen3.5-9B ovh-anonymous · oai.endpoints.kepler.ai.cloud.ovh.net/v1 | not needed | Tools: we called it and it worked | Schema: we called it and it worked | JSON: we called it and it worked | Vision: we called it and it worked | 1162 ms | 5 days ago | ||
curl .env python node
| ||||||||||
Checked and not listed (8) — endpoints another catalogue calls free, and what they answered here
Cross-checked against OmniRoute's routing registry on 2026-08-11: 226 providers, 18 of them typed as needing no key. Calling all 18 from this server produced one new claim on the shelf above and no new working endpoint.
- Hack Club AI
https://ai.hackclub.com/proxy/v1 - Listing answers a bare GET with 200 and a full model catalogue; the chat call answers 401 Authentication required. A keyless /v1/models is not a keyless endpoint, and this is the shape most often mistaken for one. Separately scoped to Hack Club members by its own terms.
- Naga
https://api.naga.ac/v1 - Same shape: listing 200, chat 401 authentication_required, with the body directing you to sign up. A free tier behind a signup is the keyed shelf's subject, not this one, and we hold no key.
- Pollinations (gen host)
https://gen.pollinations.ai/v1 - 401 UNAUTHORIZED with no header. Worth stating plainly because the catalogue routes here on the grounds that the older text.pollinations.ai host was retired -- and that older host answered our keyless chat call with 200 on the same day. The retired endpoint is the one still serving anonymously, so that is the one on the shelf.
- g4f.space
https://g4f.space/api/{pollinations,groq,gemini,nvidia,ollama}/v1 - 402 insufficient_credits: "No cake credits. Bake proof-of-work cakes ... to earn anonymous usage." Anonymous, but not free of charge -- the price is compute rather than a key. Nothing an OpenAI client can pay, so it cannot be published as an endpoint that works right now.
- MiMo (Xiaomi)
https://api.xiaomimimo.com/v1 - 401 invalid_key on both the listing and the chat call.
- TheOldLLM
https://theoldllm.vercel.app/api/chatgpt - 403 at the edge. The same catalogue's own free-tier research lists this provider as having no current free tier, so the registry entry and the documentation disagree; the call settles it.
- Web-UI scrapers
duckduckgo-web, felo-web, qwen-web, t3-web, muse-spark-web, veoaifree-web, agy - Not probed, and not a measurement question. These drive somebody's chat website through an adapter; the source catalogue's own terms-of-service table marks every one of them avoid for proxied or non-personal use. An endpoint we would have to breach terms to call is not an endpoint we can tell you to call.
- Vendor agent CLIs
auggie, devin-cli-agentic, kiro, amazon-q, opencode - Credential-free only in the sense that an installed CLI already holds an OAuth session. There is no URL to hand an OpenAI client, so there is nothing here for this shelf to check.