---
title: "Available Languages API"
url: "https://adaptocms.com/docs/available-languages-api/"
source: adaptocms.com
---

# Available Languages API

This endpoint returns the list of languages that have content available in your tenant. Use it to determine which locales are active and to build language selectors.

## Endpoint

Method

Endpoint

Description

`GET`

`/v1/available-languages`

Get available content languages

* * *

## Get Available Languages

```
GET /v1/available-languages
```

### Query Parameters

Parameter

Type

Required

Description

`tenant_id`

string

**Yes**

The tenant ID to query languages for

**Note:** Unlike other public endpoints that infer the tenant from the API key, this endpoint requires an explicit `tenant_id` query parameter.

### Example Request

```
curl -X GET "https://public-api.adaptocms.com/v1/available-languages?tenant_id=YOUR_TENANT_ID" \
  -H "x-api-key: YOUR_API_KEY"
```

### Example Response

```
["en", "fr", "de", "es"]
```

The response is a simple JSON array of ISO 639-1 language codes.

### Use Case: Language Selector

```
// Fetch available languages and build a selector
const languages = await fetch(
  `${BASE_URL}/v1/available-languages?tenant_id=${TENANT_ID}`,
  { headers: { 'x-api-key': API_KEY } }
).then(r => r.json());

// Map language codes to display names
const languageNames = {
  en: 'English',
  fr: 'Français',
  de: 'Deutsch',
  es: 'Español',
  it: 'Italiano',
  pt: 'Português',
  nl: 'Nederlands',
  ja: '日本語',
  zh: '中文',
  ko: '한국어'
};

const selector = languages.map(code => ({
  code,
  label: languageNames[code] || code
}));
```

### Use Case: Astro i18n Routing

```
// astro.config.mjs
import { defineConfig } from 'astro/config';

// Fetch available languages at build time
const languages = await fetch(
  `https://public-api.adaptocms.com/v1/available-languages?tenant_id=${process.env.ADAPTO_TENANT_ID}`,
  { headers: { 'x-api-key': process.env.ADAPTO_API_KEY } }
).then(r => r.json());

export default defineConfig({
  i18n: {
    defaultLocale: languages[0] || 'en',
    locales: languages
  }
});
```
