Overview
Fikra API is an OpenAI-compatible AI inference API for developers and growing AI teams. Because it exposes the same chat-completions request and response format as OpenAI, with streaming support, you can point CrewAI, LangChain, or any tool that accepts an OpenAI-compatible base URL at Fikra API without rewriting your agent logic. All calls go through one endpoint: https://api.fikraapi.co.ke/v1.
Prerequisites
- A Fikra API key. Keys are scoped, revocable, and never shared between users.
- The
FIKRA_API_KEYenvironment variable set to your API key. - An existing CrewAI or LangChain project that uses an OpenAI-compatible chat model.
- The OpenAI Python SDK installed if you want to run the verification example below.
Step-by-step
- Set the OpenAI-compatible base URL in your agent configuration to:
https://api.fikraapi.co.ke/v1 - Set your Fikra API key as the bearer token. In code, read it from the
FIKRA_API_KEYenvironment variable. - Choose a model from the Fikra model list, for example
deepseek-v4-flash-0731. - Keep the standard chat-completion parameters you already use. Fikra API understands the same messages, roles, and streaming flags.
- If your agent also uses embeddings, call the embeddings endpoint at
https://api.fikraapi.co.ke/v1/embeddingswith the sameAuthorization: Bearer <Fikra API key>header. - Save your changes and restart the agent using the new base URL.
Verify it works
Run a small chat completion with the OpenAI SDK to confirm the gateway is reachable:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.fikraapi.co.ke/v1",
api_key=os.environ["FIKRA_API_KEY"],
)
response = client.chat.completions.create(
model="deepseek-v4-flash-0731",
messages=[
{"role": "user", "content": "Hello, Fikra!"}
]
)
print(response.choices[0].message.content)
If this returns a completion, your agent can now use the same endpoint.
Costs
Fikra API bills per model in USD per 1M tokens. The available models and prices are:
| Model | Input (USD/1M tokens) | Output (USD/1M tokens) |
|---|---|---|
deepseek-v4-flash-0731 |
0.09 | 0.15 |
deepseek-v4.1-flash |
0.25 | 0.80 |
deepseek-v4.1-flash-1017 |
0.30 | 0.85 |
fikra-auto |
0.40 | 0.40 |
fikra-auto-pro |
6.00 | 12.00 |
fikra-code-35b |
1.00 | 1.00 |
Payments are made from a token-credit wallet, with M-Pesa and card top-ups via Paystack, plus x402 USDC on Base for agent payments. For pricing not listed here, check the pricing page.
Common errors
- 401 Unauthorized – Your API key is missing, invalid, or inactive. Confirm the
FIKRA_API_KEYenvironment variable matches your scoped key. - 400 Bad Request – The model is not supported or the request format is invalid. Use a model from the list above.
- 429 Too Many Requests – You hit the rate limit: 30 requests/min for unverified keys and 100 requests/min for trusted keys. Slow down or request trusted access.
- 503 Service Unavailable – The upstream is busy. Retry the request with exponential backoff.