Read-only
Four GET endpoints. No writes, so an exposed token cannot damage a project’s content.
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.
| Environment | Base URL |
|---|---|
| Production | https://api-public.localeo.app/v1 |
| Development | https://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.
Most integrations follow the same three steps, and only the first two touch this API:
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.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.
404, identically to one that does not exist.