Skip to main content
The LangDex API provides programmatic access to our universal linguistic database. Query languages, lexemes, translations, and linguistic features across 5,700+ languages.

Base URL

All API requests use the following base URL:
https://api.langdex.co/v1

Authentication

All requests require a Bearer token in the Authorization header:
curl "https://api.langdex.co/v1/languages" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get your API key from the LangDex Dashboard.

Response Format

All responses are JSON with a consistent structure:

Success Response

{
  "data": { ... },
  "meta": {
    "total": 1234,
    "limit": 50,
    "offset": 0
  }
}

Error Response

{
  "error": {
    "code": "invalid_request",
    "message": "Missing required parameter: lang",
    "details": { ... }
  }
}

HTTP Status Codes

CodeDescription
200Success
400Bad request - invalid parameters
401Unauthorized - invalid or missing API key
403Forbidden - insufficient permissions
404Not found
429Rate limit exceeded
500Internal server error

Rate Limits

Rate limits vary by plan:
PlanRequests/monthRate limit
Free10,00010 req/s
Pro100,00050 req/s
EnterpriseUnlimited200 req/s
Rate limit headers are included in all responses:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1640000000

Pagination

List endpoints support pagination via limit and offset:
GET /v1/lexemes?lang=jpn&limit=50&offset=100
ParameterTypeDefaultMaxDescription
limitinteger50100Number of results
offsetinteger0-Skip first N results

Filtering

Most endpoints support filtering:
GET /v1/lexemes?lang=jpn&pos=noun&source=kaikki
Common filters:
  • lang - ISO 639-3 language code
  • pos - Part of speech
  • source - Data source
Use include to fetch related data in a single request:
GET /v1/lexemes/123?include=senses,pronunciations,etymology
This reduces the number of API calls needed. Text search is available on most endpoints via the q parameter:
GET /v1/lexemes/search?q=water&lang=eng
Search supports:
  • Exact matches
  • Prefix matching
  • Fuzzy matching (with fuzzy=true)

Bulk Operations

For high-volume operations, use batch endpoints:
POST /v1/translations/batch
Content-Type: application/json

{
  "items": [
    {"text": "water", "source_lang": "eng"},
    {"text": "fire", "source_lang": "eng"}
  ],
  "target_lang": "jpn"
}

SDKs

Official SDKs are coming soon:

JavaScript

npm install @langdex/sdk

Python

pip install langdex

Go

go get langdex.co/sdk

API Endpoints