API — Getting started
A REST API on every plan, including Free. Manage projects, terms and translations, trigger AI translation, and pull localization files straight into your build.
Tokens
1. Create a token
Go to Settings → API tokens and create one. The token is shown once, so copy it immediately. You can scope a token to a single project, or leave it account-wide.
2. Authenticate
Send the token as a bearer header on every request:
Authorization: Bearer loc_…Examples
Export a language
$ curl -H "Authorization: Bearer $LOCALIZIFY_TOKEN" \ "https://localizify.com/api/v1/projects/123/export?provider=Angular%20XLIFF&langCode=uk" \ -o messages.uk.xlf
Push new terms
$ curl -X POST -H "Authorization: Bearer $LOCALIZIFY_TOKEN" \ -H "Content-Type: application/json" \ "https://localizify.com/api/v1/projects/123/terms" \ -d '{"terms":[{"key":"app.title","source":["My App"],"context":"Window title"}]}'
Translate with AI
$ curl -X POST -H "Authorization: Bearer $LOCALIZIFY_TOKEN" \ -H "Content-Type: application/json" \ "https://localizify.com/api/v1/projects/123/translate" \ -d '{"provider":"anthropic","langCodes":["uk","de"]}'
Uses your own provider key when you have added one under AI provider keys; in that case no AT characters are charged.
Pull every language in CI
# In CI: pull every language after translators finish for LANG in en uk de; do curl -sf -H "Authorization: Bearer $LOCALIZIFY_TOKEN" \ "https://localizify.com/api/v1/projects/123/export?provider=Angular%20XLIFF&langCode=$LANG" \ -o "src/locale/messages.$LANG.xlf" done
Command-line tool
The CLI wraps the same API for scripts and CI. It reads the token from LOCALIZIFY_TOKEN and the file layout from localizify.json.
# localizify.json lists the source file and one entry per language $ npx @localizify/cli push # upload new keys $ npx @localizify/cli translate # AI-translate what is still untranslated $ npx @localizify/cli pull # write the translated files
Connect AI assistants (MCP)
Localizify is a remote MCP server. Connect Claude Code, Cursor or any MCP client and ask it to list projects, add keys, translate them with AI, edit translations, or pull and push files. It uses the same API token, scopes and limits as the REST API.
Claude.ai and ChatGPT
Add a custom connector with the URL https://localizify.com/mcp. You will be asked to log in to Localizify and choose whether the assistant gets all your projects or just one. No token to copy. Disconnect any time by revoking it under Settings → API tokens.
Claude Code
$ claude mcp add --transport http localizify https://localizify.com/mcp \ --header "Authorization: Bearer $LOCALIZIFY_TOKEN"
Cursor and other clients
{ "mcpServers": { "localizify": { "url": "https://localizify.com/mcp", "headers": { "Authorization": "Bearer loc_…" } } } }
A token scoped to one project gives the assistant access to that project only.
Rate limits
Limits are per token. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; exceeding the limit returns 429 with Retry-After.
| Plan | Requests per minute |
|---|---|
| Free | 60 |
| Paid plans | 300 |