# Localization API

Max Prilutskiy·Updated about 2 months ago·1 min read

Translate content in a single request. POST key-value data, get translations back — your [localization engine](/content/en/docs/platform/engines/index.html) applies [glossary](/content/en/docs/platform/glossaries/index.html), [brand voice](/content/en/docs/platform/brand-voices/index.html), [instructions](/content/en/docs/platform/instructions/index.html), and [per-locale model selection](/content/en/docs/platform/llm-models/index.html) on every call.

Use [`localize`](/content/en/docs/api/localize/index.html) to translate. Use [`recognize`](/content/en/docs/api/recognize/index.html) to detect a language.

## [Base URL\#](/content/en/docs/api#base-url/index.html)

```
https://api.lingo.dev
```

## [Authentication\#](/content/en/docs/api#authentication/index.html)

All API requests require an API key passed in the `X-API-Key` header.

```
X-API-Key: your_api_key
```

API keys are scoped to an organization. Each key has access to all localization engines within that organization. Generate keys in the [API Keys](/content/en/docs/platform/api-keys/index.html) section of the dashboard.

Key visibility

API keys are shown only once at creation. Store them securely - they cannot be retrieved after the initial display.

## [Error codes\#](/content/en/docs/api#error-codes/index.html)

Errors are returned as JSON with a `message` field describing what went wrong.

```
{
  "message": "Invalid API key"
}
```

| Status                   | Meaning                                                                                   |
|--------------------------|-------------------------------------------------------------------------------------------|
| `400 Bad Request`       | Request validation failed (missing fields, invalid locale, etc.)                         |
| `401 Unauthorized`       | Missing or invalid `X-API-Key` header                                                   |
| `402 Payment Required`   | Organization has hit its credit limit                                                    |
| `403 Forbidden`          | API key does not have access to the requested resource                                   |
| `404 Not Found`          | Resource (engine, job, etc.) does not exist                                             |
| `429 Too Many Requests`  | Organization has hit its daily token quota — upgrade the plan to raise the limit         |
| `500 Internal Server Error` | Unexpected failure — database error, or the translation call failed across all configured models |

## [Endpoints\#](/content/en/docs/api#endpoints/index.html)

[Localize\
\
Translate key-value pairs from one locale to another](/content/en/docs/api/localize/index.html) [Recognize\
\
Detect the language of arbitrary text](/content/en/docs/api/recognize/index.html)

## [Next Steps\#](/content/en/docs/api#next-steps/index.html)

[API Keys\
\
Generate and manage API keys for your organization](/content/en/docs/platform/api-keys/index.html) [LLM Models\
\
Configure per-locale model selection and fallback chains](/content/en/docs/platform/llm-models/index.html) [Glossaries\
\
Map source terms to exact translations per locale](/content/en/docs/platform/glossaries/index.html)
