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
Developmenthttps://api-public-dev.localeo.app/v1

These docs describe the Development environment, and every URL on this site points at it. A project API token is issued against one deployment and authenticates only there.

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.

Step 1 is the one you can skip. Webhooks push a message to your server the moment a release is published, so a build or a cache refresh can start on the event instead of waiting for the next time you look.

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.