Introduction

KalimaLab is the most comprehensive Arabic words API for developers. It provides access to 477,000+ words, roots, patterns, and linguistic data through a simple REST API or TypeScript SDK.

What is KalimaLab?

KalimaLab is a REST API and TypeScript SDK that gives developers programmatic access to the Arabic language. Whether you are building a word game, an NLP pipeline, an educational app, or a content moderation system, KalimaLab provides the linguistic data you need.

Unlike general-purpose dictionary APIs, KalimaLab is designed Arabic-first. Every endpoint is built around Arabic morphology — roots (جذور), patterns (أوزان), part-of-speech tagging, and classical grammar — giving you the building blocks that Arabic language processing actually requires.

Key Features

477k+ Arabic Words

The largest publicly available Arabic dictionary — fully searchable, filterable, and morphologically annotated.

Root & Pattern Analysis

Query words by their trilateral or quadrilateral root, or by morphological pattern (أوزان).

Text Processing

Tokenize, normalize, transliterate, and compute readability scores for Arabic text.

Grammar Endpoints

Look up prepositions, conjunctions, and pronouns, and perform part-of-speech tagging.

Proverbs & Expressions

More than 10,000 classical Arabic proverbs with English and Modern Standard Arabic meanings.

TypeScript SDK

First-class TypeScript support with full type safety, automatic retries, and async pagination.

Built for

Word Games

Arabic Wordle, Scrabble helpers, crossword generators — filter by letter count, root, or pattern.

Education

Build Arabic language learning apps with vocabulary quizzes, root exploration, and grammar exercises.

NLP Pipelines

Enrich Arabic NLP datasets with morphological annotations, roots, and POS tags.

Content Moderation

Verify that user input is valid Arabic, detect script, and normalize text before processing.

Language Support

Arabic-first477k+ wordsModern Standard ArabicClassical Arabic

The KalimaLab dataset covers Modern Standard Arabic with extended classical coverage. All words include transliteration, English meanings, and morphological metadata. Response text preserves full Arabic diacritics (tashkeel) where available.

30-second example

Install the SDK, add your API key, and make your first request:

bash
npm install @kalimalab/sdk
index.ts
import { KalimaLab } from '@kalimalab/sdk'const client = new KalimaLab({ apiKey: process.env.KALIMALAB_API_KEY! })// Get a random Arabic wordconst word = await client.words.random()console.log(word.arabic)     // كَتَبَconsole.log(word.meaning_en) // to writeconsole.log(word.root)       // كتب

Free Tier

The free plan includes 500 requests/day — more than enough to explore the API and build a prototype. No credit card required.

Consistent Response Format

Every KalimaLab response follows the same envelope structure:

response.json
{  "data": { ... },  "error": null,  "meta": {    "requestId": "req_01j9abc...",    "responseTimeMs": 12,    "page": 1,    "total": 477432,    "totalPages": 23872  }}
dataThe requested resource(s). Always present on success.
errornull null on success, or an error object with code and message.
metaRequest metadata including pagination info and timing.

Get started in 5 minutes

Follow the quickstart guide to make your first API request in under 5 minutes.