The official OpenAI Node SDK works by changing baseURL.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.fikraapi.co.ke/v1", apiKey: process.env.FIKRA_API_KEY });
const response = await client.chat.completions.create({
model: "deepseek-v4.1-flash-1017",
messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);
Run the script and print the response content.
Default model: deepseek-v4.1-flash-1017. Prices come from the live catalog.
| Input | $0.05 / 1M |
| Cached input | $0.0075 / 1M |
| Output | $0.15 / 1M |
Repeated prompt prefixes are billed at the cached rate. Cached input can never cost more than fresh input.
While the window is open, model deepseek-v4-1-flash-economy-free is free. Check live availability.
The key is missing, revoked, or has a leading space. Paste it again from the dashboard and use the fk_live_ value.
The base URL usually has an extra /chat/completions. Use exactly https://api.fikraapi.co.ke/v1.
The model ID is case sensitive. Copy it from /models or the snippet on the dashboard.
You hit the account rate limit. Free accounts allow 30 requests per minute and 300 per day. Any top-up raises the limits.
Source used for this guide: https://platform.openai.com/docs/libraries/node-js. If the tool changes its settings, open an issue and we will update this page.
More guides: all setup guides. Measured reliability: public stats. Prices: pricing. Free model: free DeepSeek API.