v1 end of life: raw.datafornerds.io will be retired on November 1, 2026. Migration guide →

Language Codes

Endpoint

GET https://api.datafornerds.io/v2/microsoft/language-codes.json

Office language codes from the MS-OE376 specification. Maps Locale IDs (LCIDs) to BCP 47 language tags. Contains 223 entries.

Schema

Field Type Description Example
LanguageCode string Locale ID (LCID) as a decimal string 1033
Description string Human-readable language and region name English - United States
BCP47 string BCP 47 language tag en-US

Example response

{
  "metadata": {
    "provider": "DataForNerds",
    "apiVersion": "v2",
    "dataset": "language-codes",
    "recordCount": 223,
    "sourceUrls": [
      "https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a"
    ],
    "lastModified": "2026-05-25T06:15:30.0000000Z",
    "lastCollected": "2026-05-25T06:15:30.0000000Z"
  },
  "data": [
    { "LanguageCode": "1025", "Description": "Arabic - Saudi Arabia", "BCP47": "ar-SA" },
    { "LanguageCode": "1033", "Description": "English - United States", "BCP47": "en-US" },
    { "LanguageCode": "1036", "Description": "French - France", "BCP47": "fr-FR" }
  ]
}

Code examples

$response = Invoke-RestMethod 'https://api.datafornerds.io/v2/microsoft/language-codes.json'
$response.data | Where-Object { $_.BCP47 -like 'en-*' } | Format-Table
import requests

data = requests.get("https://api.datafornerds.io/v2/microsoft/language-codes.json").json()["data"]
lcid_map = {r["LanguageCode"]: r["BCP47"] for r in data}
print(lcid_map["1033"])  # en-US
const { data } = await fetch('https://api.datafornerds.io/v2/microsoft/language-codes.json')
  .then(r => r.json());
const lookup = Object.fromEntries(data.map(r => [r.LanguageCode, r.BCP47]));
console.log(lookup['1033']); // en-US
using var client = new HttpClient();
var json = await client.GetStringAsync("https://api.datafornerds.io/v2/microsoft/language-codes.json");
var doc = JsonDocument.Parse(json);
var map = doc.RootElement.GetProperty("data").EnumerateArray()
    .ToDictionary(r => r.GetProperty("LanguageCode").GetString()!,
                  r => r.GetProperty("BCP47").GetString()!);
Console.WriteLine(map["1033"]); // en-US
curl -s https://api.datafornerds.io/v2/microsoft/language-codes.json \
  | jq '.data[] | select(.BCP47 | startswith("en-"))'
resp, _ := http.Get("https://api.datafornerds.io/v2/microsoft/language-codes.json")
defer resp.Body.Close()
var result struct {
    Data []struct { LanguageCode, BCP47 string } `json:"data"`
}
json.NewDecoder(resp.Body).Decode(&result)
for _, r := range result.Data {
    if r.BCP47 == "en-US" { fmt.Println(r.LanguageCode) }
}

JSON Schema

/v2/microsoft/schemas/language-codes.schema.json