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

Config format and all options

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.

PlanRequests per minute
Free60
Paid plans300

Full API reference (OpenAPI)