This guide takes you from a new account to a working API call. You will get a key, store it safely, point a client at ZOOAPI, and confirm everything works with curl, Python, or Node.js.
What you need
- A ZOOAPI account. Sign up at manage.zooapi.ai.
- A terminal with
curl. - Optional: Python 3 or Node.js for the SDK examples.
Step 1: Get your API key
Sign up in the console and verify your email address to activate the account. ZOOAPI then emails you the API key created for your account. Keys start with sk-.
Treat the key like a password. Anyone who has it can spend your credits, so keep it out of chats, screenshots, and front-end code.
Step 2: Store the key in an environment variable
Keeping the key out of your source code lets you share and deploy that code without exposing the key.
export ZOOAPI_API_KEY="sk-xxxx"$env:ZOOAPI_API_KEY="sk-xxxx"For a project, put the key in a .env file and make sure Git ignores it:
echo 'ZOOAPI_API_KEY=sk-xxxx' >> .env
echo '.env' >> .gitignoreMany frameworks load .env files automatically. Otherwise, use a library such as python-dotenv or dotenv.
Step 3: Choose the right base URL
Every request goes to https://api.zooapi.ai, but what you enter as the base URL depends on the client:
| Client | Base URL |
|---|---|
| curl or raw HTTP | https://api.zooapi.ai plus the endpoint path, such as /v1/responses |
| OpenAI SDKs and most OpenAI-compatible tools | https://api.zooapi.ai/v1 |
| Anthropic SDKs and Claude Code | https://api.zooapi.ai, without /v1 |
| Codex CLI / App | https://api.zooapi.ai with wire_api = "responses" |
This is where most setups go wrong. A missing /v1 causes 404 errors, and a base URL that still points to the official endpoint causes 401 errors.
Step 4: Send a test request
With the key in your environment, this curl call uses the Responses API:
curl https://api.zooapi.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ZOOAPI_API_KEY" \
-d '{
"model": "gpt-5.6-sol",
"input": "Hello, ZOOAPI! Introduce yourself in one sentence."
}'A successful call returns a JSON object whose output field contains the model's reply. If you get an error instead, see Troubleshooting below.
The model name is an example. The console lists the models your plan can use.
Step 5: Call ZOOAPI from code
The official OpenAI SDKs work as-is once the base URL points to ZOOAPI.
Python
pip install openaiimport os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ZOOAPI_API_KEY"],
base_url="https://api.zooapi.ai/v1",
)
response = client.chat.completions.create(
model="gpt-5.6-sol",
messages=[{"role": "user", "content": "Say hello in five words."}],
)
print(response.choices[0].message.content)Node.js
npm install openaiimport OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ZOOAPI_API_KEY,
baseURL: "https://api.zooapi.ai/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5.6-sol",
messages: [{ role: "user", content: "Say hello in five words." }],
});
console.log(response.choices[0].message.content);Run it with node hello.mjs. The .mjs extension lets you use top-level await.
Using the Anthropic SDK or a coding tool instead? The docs cover the Anthropic SDK, Codex CLI, Claude Code, Grok CLI, and OpenCode.
Step 6: Confirm usage in the console
Open manage.zooapi.ai and check your usage. Your test calls should appear under the model you used, which confirms that requests reach your account and are billed to your credits.
Troubleshooting
| Error | Likely cause | Fix |
|---|---|---|
401 Incorrect API key provided | The request went to OpenAI's official servers. | Set the base URL to https://api.zooapi.ai, or https://api.zooapi.ai/v1 for SDKs. |
404 Not Found | The client needs the /v1 suffix. | Use https://api.zooapi.ai/v1. |
Insufficient balance | Your balance is below $1, so new calls are blocked. | Top up in the console. |
429 Too many requests | A rate-limit window such as RPM or TPM is full. | Lower concurrency and retry with exponential backoff. |
More answers are in the docs troubleshooting section.
Next steps
- Connect Codex CLI / App or Claude Code.
- Learn how plans, credits, and cost controls work.
- Compare plans on the pricing page.
ZOOAPI is an independent service. It is not affiliated with or endorsed by OpenAI.