Skip to content

Localeo public API

The public API answers two questions about a Localeo project: what has it published, and where do I download it.

It is deliberately small. Every endpoint is a GET, and nothing here creates or changes data. Authoring — editing keys, translating, reviewing, cutting a release — happens in the Localeo dashboard. This API is what your application, build pipeline, or CDN sync job talks to.

Read-only

Four GET endpoints. No writes, so an exposed token cannot damage a project’s content.

Scoped to one project

A token belongs to a single project, so requests never carry a project ID.

Published only

Draft releases are invisible. What you can read is what your users could already receive.

CDN-backed

Translation bundles are served as static files from the CDN, not through this API.

Base URLs

EnvironmentBase URL
Productionhttps://api-public.localeo.app/v1
Developmenthttps://api-public-dev.localeo.app/v1

Development is a genuinely separate deployment with its own database, projects and tokens. A production token will not authenticate against it.

The shape of an integration

Most integrations follow the same three steps, and only the first two touch this API:

  1. Find the release you want. GET /releases lists published releases newest-first; GET /releases/{release_id} returns one, together with a download URL for each language that release shipped, in each format.
  2. Read the download URLs. They point at the CDN, not at this API.
  3. Fetch the bundle. A plain unauthenticated GET. This is the request you make on every deploy — or on every app start, if you resolve translations at runtime.

Step 3 is the one that runs at scale, and it never touches the API, so rate limits apply to discovery rather than to delivery.

What this API does not do

  • It does not write. There is no way to create a project, edit a translation, or publish a release through it.
  • It does not expose drafts. An unpublished release responds 404, identically to one that does not exist.
  • It does not serve translation content. The endpoints return metadata and URLs. The translated strings live in the bundle files on the CDN.