# Languages API
> A clean reference for the world’s languages. Look up any language by its ISO 639-1 (two-letter) or ISO 639-2 (three-letter) code or by name, search by English or native name, list every language with an optional right-to-left filter, or group languages by family. Each entry includes the ISO codes, English and native names, language family, a right-to-left flag and a Wikipedia link. Built on the open ISO 639 dataset and served entirely in-memory, so responses are instant and the service is always available. Ideal for internationalization and localization, language pickers and selectors, content tagging and developer tooling.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/languages-api/..."
```

## Pricing
- **Free** (Free) — 5,000 calls/Mo, 3 req/s
- **Basic** ($4/Mo) — 100,000 calls/Mo, 10 req/s
- **Pro** ($10/Mo) — 1,000,000 calls/Mo, 25 req/s
- **Mega** ($28/Mo) — 6,000,000 calls/Mo, 60 req/s

## Endpoints

### Languages

#### `GET /v1/family` — Languages by family (or list families)

**Parameters:**
- `name` (query, optional, string) — Family name (omit to list all with counts) Example: `Indo-European`
- `limit` (query, optional, string) — 1-500 (default 200) Example: `200`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/languages-api/v1/family?name=Indo-European&limit=200"
```

**Response:**
```json
{
    "data": {
        "count": 75,
        "family": "Indo-European",
        "languages": [
            {
                "rtl": false,
                "code": "pa",
                "name": "(Eastern) Punjabi",
                "family": "Indo-European",
                "iso639_1": "pa",
                "iso639_2": "pan",
                "wiki_url": "https://en.wikipedia.org/wiki/Eastern_Punjabi_language",
                "native_name": "ਪੰਜਾਬੀ"
            },
            {
                "rtl": false,
                "code": "af",
                "name": "Afrikaans",
                "family": "Indo-European",
                "iso639_1": "af",
                "iso639_2": "afr",
                "wiki_url": "https://en.wikipedia.org/wiki/Afrikaans_language",
                "native_name": "Afrikaans"
            },
            {
                "rtl": false,
                "code": "sq",
                "name": "Albanian",
                "family": "Indo-European",
                "iso639_1": "sq",
                "iso639_2": "sqi",
                "wiki_url": "https://en.wikipedia.org/wiki/Albanian_language",
                "native_name": "Shqip"
            },
            {
                "rtl": false,
                "code": "an",
                "name": "Aragonese",
                "family": "Indo-European",
                "iso639_1": "an",
                "iso639_2": "arg",
                "wiki_url": "https://en.wikipedia.org/wiki/Aragonese_language",
  
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/language` — Language by ISO 639 code or name

**Parameters:**
- `code` (query, required, string) — ISO 639-1/639-2 code or name Example: `fr`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/languages-api/v1/language?code=fr"
```

**Response:**
```json
{
    "data": {
        "rtl": false,
        "code": "fr",
        "name": "French",
        "family": "Indo-European",
        "iso639_1": "fr",
        "iso639_2": "fra",
        "wiki_url": "https://en.wikipedia.org/wiki/French_language",
        "native_name": "français, langue française"
    },
    "meta": {
        "timestamp": "2026-05-30T18:16:49.293Z",
        "request_id": "ee2b23bf-bcb5-4203-bdf0-07c0fa4d45d9"
    },
    "status": "ok",
    "message": "Language retrieved",
    "success": true
}
```

#### `GET /v1/list` — List all languages

**Parameters:**
- `rtl` (query, optional, string) — Filter by right-to-left (true/false)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/languages-api/v1/list"
```

**Response:**
```json
{
    "data": {
        "total": 184,
        "languages": [
            {
                "rtl": false,
                "code": "pa",
                "name": "(Eastern) Punjabi",
                "family": "Indo-European",
                "iso639_1": "pa",
                "iso639_2": "pan",
                "wiki_url": "https://en.wikipedia.org/wiki/Eastern_Punjabi_language",
                "native_name": "ਪੰਜਾਬੀ"
            },
            {
                "rtl": false,
                "code": "ab",
                "name": "Abkhaz",
                "family": "Northwest Caucasian",
                "iso639_1": "ab",
                "iso639_2": "abk",
                "wiki_url": "https://en.wikipedia.org/wiki/Abkhaz_language",
                "native_name": "аҧсуа бызшәа, аҧсшәа"
            },
            {
                "rtl": false,
                "code": "aa",
                "name": "Afar",
                "family": "Afro-Asiatic",
                "iso639_1": "aa",
                "iso639_2": "aar",
                "wiki_url": "https://en.wikipedia.org/wiki/Afar_language",
                "native_name": "Afaraf"
            },
            {
                "rtl": false,
                "code": "af",
                "name": "Afrikaans",
                "family": "Indo-European",
                "iso639_1": "af",
                "iso639_2": "afr",
                "wiki_url": "https://en.wikipedia.org/wiki/Afrikaans_language",
                
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search by name or native name

**Parameters:**
- `q` (query, required, string) — Search term Example: `portu`
- `limit` (query, optional, string) — 1-184 (default 25) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/languages-api/v1/search?q=portu&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 1,
        "query": "portu",
        "languages": [
            {
                "rtl": false,
                "code": "pt",
                "name": "Portuguese",
                "family": "Indo-European",
                "iso639_1": "pt",
                "iso639_2": "por",
                "wiki_url": "https://en.wikipedia.org/wiki/Portuguese_language",
                "native_name": "Português"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-05-30T18:16:49.426Z",
        "request_id": "816cac60-2cbe-4ada-a148-df282638de5a"
    },
    "status": "ok",
    "message": "Search completed",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/languages-api
OpenAPI spec: https://www.oanor.com/api/languages-api/openapi.json
