Getting Started with ZedTranslate
ZedTranslate is a stable, production-ready API for translating text between supported languages, with a strong focus on Zambian and local languages.
The API is designed to be:
- Simple to integrate
- Predictable in behavior
- Stable over time
- Provider-agnostic by design
"If you can make an HTTP request, you can use ZedTranslate."
Quick Start (3 Steps)
1️⃣ Get an API Key
To use the API, you need an API key.
- Create or log in to your developer account
- Generate an API key from the Developer Console
- Keep your key secret
Your API key is used to authenticate every request.
2️⃣ Make Your First Translation Request
Send a POST request to the translation endpoint.
POST https://api.zedtranslate.com/v1/translate
// Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
// Request Body
{
"source_language": "en",
"target_language": "bem",
"text": "Hello, how are you?"
}
3️⃣ Receive the Translation
{
"translated_text": "Muli shani?"
}
That’s it — no session setup, no extra configuration.
Supported Languages
ZedTranslate supports translation between all listed languages in any direction. Language codes use short, ISO-style identifiers such as:
en(English)bem(Bemba)tum(Tumbuka)ny(Nyanja)- ...and others (toi, loz, lun, kqn, lue)
Requests using unsupported language codes return a structured error.
What to Expect from Translations
ZedTranslate prioritizes meaning and natural expression over rigid wording. As a result:
- Translations may vary in phrasing
- The same input may produce slightly different output over time
- Multiple correct translations are possible
This behavior is normal and intentional. ZedTranslate does not guarantee exact wording or identical output for the same input across time.
Errors & Reliability
Every request returns either a valid translation or a structured error object.
{
"error": {
"code": "UNSUPPORTED_LANGUAGE",
"message": "The requested language pair is not supported."
}
}
Error messages are stable and provider-agnostic. Common codes include:
INVALID_REQUEST, UNSUPPORTED_LANGUAGE,
RATE_LIMITED, and
SERVICE_UNAVAILABLE.
Rate Limiting
To ensure fair usage and platform stability, requests may be rate-limited. Exceeding
limits
returns HTTP 429. Limits may evolve over time as usage grows.
Privacy & Data Handling
- Text is processed in real time to produce translations
- ZedTranslate does not sell user data
- No long-term storage of submitted text is guaranteed unless explicitly stated
Health & Status
You can check service availability using the health endpoint:
curl https://api.zedtranslate.com/v1/health
A public status page is also available to monitor uptime and incidents.
Getting Help
If you need help or have questions, reach out to our support team:
Support Email: support@zedtranslate.com
Responses are provided on a best-effort basis.
Versioning Promise
- API version
v1is stable and backward-compatible - Breaking changes will only appear in a new major version
- Deprecations will be announced in advance
One Last Thing
ZedTranslate is under active development. New languages and improvements are added over time — without breaking existing integrations.
✅ You’re ready to build
If you can send a request, you can use ZedTranslate.
ZedTranslate API Overview
ZedTranslate provides a high-performance, AI-powered translation engine optimized specifically for Zambian and local languages. Our API allows developers to integrate seamless, high-fidelity translation capabilities into their applications. New to ZedTranslate? Check out our Getting Started guide.
Base URL
https://api.zedtranslate.com
A public health endpoint is available at /v1/health to verify API
availability.
Translate Text
The primary endpoint for translating text between any supported language pairs.
/v1/translate
Request Example
{
"source_language": "en",
"target_language": "bem",
"text": "Hello, how are you?"
}
Response Example
{
"translated_text": "Muli shani?"
}
Authentication Overview
ZedTranslate uses two authentication mechanisms, depending on the endpoint:
| Auth Type | Used for |
|---|---|
API Key (X-API-Key) |
Machine-to-machine translation |
Firebase ID Token (Authorization: Bearer)
|
Dashboard & project management |
🩺 Health Check
/v1/health
Auth: None
Purpose: Verify API availability
Used for monitoring and uptime checks
{ "status": "ok" }
🌍 Translate Text
/v1/translate
Auth: API Key (X-API-Key header)
Example
curl -X POST https://api.zedtranslate.com/v1/translate \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "hello",
"source": "en",
"target": "bem"
}'
📁 Projects
/v1/projects/create
/v1/projects/...
Auth: Firebase ID Token
Purpose: Create and manage projects
Used by the dashboard
📊 Project Usage (Aggregated)
/v1/projects/{project_id}/usage
Auth: Firebase ID Token
Purpose: View total and daily usage
- Dashboard-only
- Read-only
🔑 Project Usage by API Key (Today)
/v1/projects/{project_id}/usage/keys
Auth: Firebase ID Token
Purpose: See which API keys are generating usage today
- Read-only
- No secrets exposed
⚠️ Important Note
Usage endpoints are informational only. ZedTranslate does not enforce hard rate limits or billing in v1.
Supported Languages
ZedTranslate currently supports the following languages. Our engine is continuously trained on local datasets to ensure high accuracy and cultural relevance.
| Language | Language Code | Notes |
|---|---|---|
| English | en |
High quality |
| Bemba | bem |
High quality |
| Nyanja | ny |
Actively improved |
| Tonga | toi |
Community validated |
| Lozi | loz |
Actively improved |
| Tumbuka | tum |
High quality |
| Lunda | lun |
Community validated |
| Kaonde | kqn |
Actively improved |
| Luvale | lue |
High quality |
Any supported source language can be translated into any supported target language. Requests using unsupported language codes will return an error response.
Input Validation Rules
To ensure consistent API performance and high-quality translation results, all requests must adhere to the following validation rules:
| Rule | Requirement |
|---|---|
| Encoding | Text must be encoded in **UTF-8**. |
| Maximum Length | Individual requests are subject to a character limit (refer to your tier). |
| Language Codes | Must use supported ISO-style codes. Codes are **case-insensitive**. |
| Content | Empty or whitespace-only requests will return an error. |
Errors & Status Codes
All error responses are returned as JSON objects. We recommend that clients rely on the
error.code property in addition to the HTTP status code for robust error
handling.
| HTTP Status | Error Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST |
Missing or malformed request body or validation failure. |
| 400 | UNSUPPORTED_LANGUAGE |
The requested language code is not supported. |
| 401 | UNAUTHORIZED |
Invalid, missing, or revoked API key. |
| 429 | RATE_LIMITED |
The project has exceeded its allocated rate limit. |
| 503 | SERVICE_UNAVAILABLE |
The service is temporarily unavailable due to maintenance. |
| 500 | INTERNAL_ERROR |
An unexpected server-side error occurred. |
Error Response Format
{
"error": {
"code": "UNSUPPORTED_LANGUAGE",
"message": "The requested language pair is not supported."
}
}
Rate Limiting
To ensure fair usage and platform stability, API requests may be rate-limited. When
limits are
exceeded, the API returns HTTP 429 (Too Many Requests).
Developers should implement retry logic with exponential backoff to handle rate-limited responses gracefully.
Service Scope & Guarantees
ZedTranslate is committed to providing a robust and reliable translation infrastructure. Our service scope includes:
- Stable Public API: We provide a consistent interface for all supported language pairs.
- Predictable Responses: Every request returns either a valid translation or a structured error object.
- Continuous Improvement: Our underlying translation engine evolves to improve accuracy while maintaining API stability.
- Quality Focus: Output quality and interface reliability are prioritized over internal implementation details.
What Is Not Guaranteed
While we strive for excellence, the following are explicitly not guaranteed:
- Exact Wording Consistency: Results for the same input may vary as the engine improves.
- Identical Results Over Time: We do not guarantee fixed outputs for any given string.
- Maintenance Availability: The service may be briefly unavailable during scheduled maintenance windows.
- Malformed Input Support: We do not guarantee successful processing of unsupported or malformed language codes.
Privacy & Data Handling
We take developer and user privacy seriously. Our data handling practices are built on transparency and security:
- Real-Time Processing: Translation data is processed in real-time to generate results.
- No Data Monetization: We do not sell user-submitted text or personal data to third parties.
- Temporary Processing: Text content is held only as long as necessary to complete the translation request.
- Data Retention: We do not provide long-term storage guarantees for submitted text unless explicitly stated in a service agreement.
API Versioning Promise
We understand the importance of stability for production environments. Our versioning policy ensures predictable updates:
- Stability: API version
v1is considered stable and backward-compatible. - Major Versions: Breaking changes are only introduced in new major
versions
(e.g.,
v2). - Deprecation Notice: We provide advance notice via developer accounts before deprecating any stable versions.
Changelog Policy
This policy explains how ZedTranslate communicates changes to the API and service behavior. It is designed to provide transparency while preserving stability for production applications.
What We Announce
- New API versions or endpoints
- Breaking changes that affect request or response formats
- Deprecation timelines for stable API versions
- Security-related updates that require developer action
What We Do Not Announce
- Internal implementation changes
- Improvements to translation quality or fluency
- Changes to underlying infrastructure or engines
- Minor performance optimizations or bug fixes
Translation Output Changes
Changes in translation wording, phrasing, or style are considered normal behavior and are not treated as breaking changes, provided the meaning of the original text is preserved.
Breaking Changes
Breaking changes are introduced only in new major API versions (for example, v2). Existing stable versions remain backward-compatible throughout their supported lifetime.
Advance Notice
When a breaking change or deprecation is planned, advance notice will be provided through the developer documentation or official communication channels.
Acceptable Use
By using the ZedTranslate API, you agree to adhere to our acceptable use guidelines:
- Responsible Use: Do not use the API for illegal purposes or to facilitate abuse.
- System Integrity: Do not attempt to reverse-engineer, disrupt, or overload the API infrastructure.
- Compliance: Ensure your use of the API complies with local and international laws.
Support & Contact
Our team is here to help you get the most out of ZedTranslate. If you encounter issues or have technical questions, please reach out:
Email: support@zedtranslate.com
We provide best-effort response times for all developer inquiries.
FAQ
❓ Why do translations sometimes differ?
ZedTranslate uses advanced language processing to generate natural and context-aware translations. As a result, translations may sometimes differ due to the following factors:
- 🔹 Natural Language Variability Languages often have multiple correct ways to express the same idea. ZedTranslate may choose different phrasing that is still accurate and natural in the target language.
- 🔹 Context Interpretation Short or ambiguous text can be interpreted in more than one valid way. Without additional context, different translations may be equally correct.
- 🔹 Language Evolution Languages change over time, and translation quality improves as ZedTranslate evolves. This can result in slightly different outputs for the same input at different times.
- 🔹 Input Quality Spelling, punctuation, and sentence structure in the source text can affect how the text is interpreted and translated.
- 🔹 Continuous Improvements ZedTranslate is actively improved to enhance accuracy, fluency, and coverage. These improvements may result in changes to translation output.
❓ Is a different translation an error?
Not necessarily. If the translated text accurately conveys the meaning of the original, variations in wording are considered normal and acceptable.
❓ Does ZedTranslate guarantee identical translations?
No. ZedTranslate does not guarantee identical translations for the same input across time. The focus is on correctness and natural expression rather than exact repetition.
❓ How can I get more consistent translations?
To improve consistency:
- Provide complete sentences and clear context
- Avoid ambiguous or fragmented input
- Use consistent terminology in your source text
ZedTranslate is under active development, with continuous improvements to our linguistic models and developer tools.