Pricing Docs Playground Use Cases Company

API Documentation

Reference for stored English vocabulary, lesson, and assessment endpoints. One API key, structured JSON responses.

Get Free API Key Check Your Vocabulary

Table of Contents

SDKs

Install the official SDK for your language:

npm install wordorb
pip install wordorb

Both SDKs work without an API key for basic usage. Add a key for higher rate limits.

// JavaScript
import { WordOrb } from 'wordorb'
const orb = new WordOrb()
const word = await orb.lookup('courage')
# Python
from wordorb import WordOrb
orb = WordOrb()
word = orb.lookup("courage")

Authentication

Most read endpoints work without an API key (200 calls/day per IP). For production use, get a free key at /pricing for 10,000 calls/day.

Two ways to authenticate

Header (recommended):

Authorization: Bearer wo_YOUR_API_KEY

Query parameter:

GET /api/word/courage?key=wo_YOUR_API_KEY

API keys start with wo_. One key works across all three products.

Rate Limits

Starter is $9/month with metered billing: 150,000 calls are included per UTC calendar month, then $0.0006 per additional call. This allowance resets on the first day of the month, separately from your subscription renewal. When metered billing is active, the displayed 5,000-call daily baseline does not block additional calls. See your dashboard for usage and the pricing page for other plans.

Free includes 10,000 calls/day, a 10-request/minute limit and up to 10 words per batch. Paid plans support up to 50 words per batch and remove the Free plan's 10-request/minute cap. The Starter included monthly volume is lower than Free's potential monthly volume; choose it for the features you need and review its overage rate. Daily limits reset at midnight UTC; Starter included usage resets monthly. A Retry-After header indicates when a limited request can be retried.

Free
10,000
calls / day
Starter
5,000
calls / day
Professional
50,000
calls / day
Scale
∞
unlimited

Check current usage with GET /api/keys/me.

Word Orb

Stored, AI-assisted records for English headwords. Translations span 47 language codes across a subset of the headwords; field and language coverage varies by word.

Evaluate coverage and quality. Records have not been independently human verified. Review definitions, IPA, and translations for your use case, and handle empty fields. Audio, age tones, and lesson connections have partial coverage. Corpus-backed frequency, examples, and collocations are currently unavailable. Use batch lookup to evaluate stored records and identify missing words.

Look up a word Try it →

GET /api/word/{word} Auth required

Returns a word record. Definition, IPA, etymology, translations, age tones, and audio availability vary by word.

ParameterTypeDescription
wordpath requiredEnglish word to look up (lowercase, a-z and hyphens)
contextquery optionalContext sentence for more precise definition
curl
JavaScript
Python
# Look up a word
curl -H "Authorization: Bearer wo_YOUR_KEY" \
  https://wordorb.ai/api/word/courage
// JavaScript (fetch)
const res = await fetch("https://wordorb.ai/api/word/courage", {
  headers: { "Authorization": "Bearer wo_YOUR_KEY" }
});
const word = await res.json();
console.log(word.def);    // definition
console.log(word.langs);  // available translations; may be empty
# Python (requests)
import requests

r = requests.get("https://wordorb.ai/api/word/courage",
    headers={"Authorization": "Bearer wo_YOUR_KEY"})
word = r.json()
print(word["def"])    # definition
print(word["langs"])  # available translations; may be empty

Response fields:

FieldTypeDescription
wordstringThe word
ipastringIPA pronunciation notation
posstringPart of speech (noun, verb, adj, etc.)
defstringDefinition (1-2 sentences)
etymstringEtymology (2-3 sentences)
langsarrayAvailable translation records with language codes; may be empty
tonesobjectAvailable age tones; coverage and populated entries vary
_sourcestringStorage or processing source reported with the response
_tierstringYour subscription tier

List all words

GET /api/words Auth required

Returns every word in the dictionary with IPA, part of speech, and lookup count.

curl -H "Authorization: Bearer wo_YOUR_KEY" https://wordorb.ai/api/words

Try a stored-only check on your own vocabulary before integrating. It shows missing records and fields; paying does not change content coverage.

Batch word lookup

POST /api/words/batch Auth required

Evaluate stored English vocabulary in one request. Inspect returned fields and per-word errors before choosing a plan. Free tier: max 10 words. Paid tiers: max 50 words.

# Evaluate stored words
curl -X POST -H "Authorization: Bearer wo_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"words":["courage","wisdom","resilience"]}' \
  https://wordorb.ai/api/words/batch
Body fieldTypeDescription
wordsarray requiredArray of words to look up (max 50)

Response: { requested, found, not_found, words: [...], errors: [...] }

Batch lookup returns existing records without generating missing words. Review found, not_found, and per-word errors, then inspect each record's populated fields. Batch records may omit enrichment available from other endpoints.

Lesson Orb

Structured lesson infrastructure. structured daily lessons across 19 lesson languages, 4 tracks, 3 age groups, and 10 teaching archetypes.

Get a lesson Try it →

GET /api/lesson Auth required

Returns a structured 5-phase lesson: hook, story, wonder, action, wisdom.

ParameterTypeDescription
dayquery requiredDay number 1-365
trackquery requiredlearn, grow, teach, or trivia
agequery optionalkid, adult (default), or elder
langquery optionalLanguage code (default: en). 19 languages available.
archetypequery optionalTeaching personality. 10 available: architect, diplomat, empath, explorer, macgyver, provider, rebel, scientist, strategist, survivor
curl
JavaScript
Python
curl -H "Authorization: Bearer wo_YOUR_KEY" \
  "https://wordorb.ai/api/lesson?day=47&track=learn&age=adult&archetype=explorer"
const res = await fetch(
  "https://wordorb.ai/api/lesson?day=47&track=learn&age=adult&archetype=explorer",
  { headers: { "Authorization": "Bearer wo_YOUR_KEY" } }
);
const lesson = await res.json();
console.log(lesson.phases.hook);    // opening hook
console.log(lesson.phases.wisdom);  // closing wisdom
r = requests.get("https://wordorb.ai/api/lesson",
    params={"day": 47, "track": "learn", "archetype": "explorer"},
    headers={"Authorization": "Bearer wo_YOUR_KEY"})
lesson = r.json()
# lesson["phases"]["hook"], ["story"], ["wonder"], ["action"], ["wisdom"]

Response fields:

FieldTypeDescription
dayintDay number
trackstringCurriculum track
titlestringLesson title
themestringLesson theme
age_groupstringkid, adult, or elder
archetypestringTeaching archetype used
phasesobject5 phases: hook, story, wonder, action, wisdom
archetypes_availablearrayArchetypes available for this lesson
languages_availablearrayLanguages available for this day/track

List lessons

GET /api/lessons Auth required

List all lessons for a given track, with pagination.

ParameterTypeDescription
trackquerylearn (default), grow, teach, trivia
langqueryLanguage code (default: en)
agequerykid, adult (default), elder
limitqueryResults per page (max 365)
offsetqueryPagination offset

Reference data

GET /api/tracks Public

Returns all tracks, phases, age groups, archetypes, and lesson counts. No auth required.

GET /api/archetypes Public

Returns all 10 teaching archetypes with style descriptions. No auth required.

Quiz Orb

Assessment infrastructure. 45,916 interactions across 6 question types: quiz, mc (multiple choice), tf (true/false), ab (comparison), open (open-ended), reflection.

Get quiz by day

GET /api/quiz Auth required

Returns all assessment questions for a specific day and track, aligned to the lesson content.

ParameterTypeDescription
dayquery requiredDay number 1-365
trackquery requiredlearn, grow, teach, or trivia
typequery optionalFilter by type: quiz, mc, tf, ab, open, reflection
curl -H "Authorization: Bearer wo_YOUR_KEY" \
  "https://wordorb.ai/api/quiz?day=47&track=learn"

Response fields (each interaction):

FieldTypeDescription
typestringQuestion type: quiz, mc, tf, ab, open, reflection
phasestringLesson phase this question aligns to
promptstringThe question text
choicesarray|nullAnswer choices (for mc, tf, ab types)
answerstringCorrect answer
explanationstringExplanation of the correct answer

Random questions

GET /api/quiz/random Auth required

Returns random assessment questions from any day.

ParameterTypeDescription
trackquerylearn (default), grow, teach, trivia
typequery optionalFilter by question type
countqueryNumber of questions (default: 5, max: 20)

Batch questions

GET /api/quiz/batch Auth required

Returns batch of questions with difficulty filtering.

ParameterTypeDescription
trackquerylearn (default), grow, teach, trivia
countqueryNumber of questions (default: 10, max: 50)
difficultyqueryeasy (mc/tf), hard (open/reflection), or mixed (default)

Knowledge Graph

Stored connections link a subset of English headwords to lesson content. Use the graph to check available word-to-lesson links; a headword may have no linked lessons or assessments.

Word → Lessons

GET /api/graph/word Auth required

Find all lessons that teach a specific word.

ParameterTypeDescription
wordquery requiredThe word to trace
curl -H "Authorization: Bearer wo_YOUR_KEY" \
  "https://wordorb.ai/api/graph/word?word=courage"

# Returns: { word, appears_in: 15, lessons: [{ day, track, phase, context, importance }...] }

Lesson → Words

GET /api/graph/lesson Auth required

Find all vocabulary words that appear in a specific lesson.

ParameterTypeDescription
dayquery requiredDay number 1-365
trackquerylearn (default), grow, teach, trivia

Account

Check usage

GET /api/keys/me Auth required

Returns your current tier, daily usage, and remaining calls.

curl -H "Authorization: Bearer wo_YOUR_KEY" https://wordorb.ai/api/keys/me

# Returns: { key, email, tier, daily_limit, calls_today, calls_total, remaining_today }

Sign up

POST /api/signup Public

Create a free API key. Returns immediately with the key and quickstart examples.

curl -X POST -H "Content-Type: application/json" \
  -d '{"email":"you@company.com"}' \
  https://wordorb.ai/api/signup

MCP Server

Word Orb exposes a Model Context Protocol server. One config line connects to Claude Desktop, ChatGPT, Cursor, Gemini, and any MCP-compatible AI client.

// Add to your MCP client config:
{
  "mcpServers": {
    "word-orb": {
      "url": "https://wordorb.ai/mcp"
    }
  }
}

The MCP server exposes all three products as tools that AI agents can discover and call automatically.

Error Codes

HTTPCodeDescription
400invalid_inputMissing or invalid parameter
401auth_requiredNo API key provided
401invalid_keyAPI key not found or deactivated
404not_foundWord, lesson, or quiz not found
429rate_limitedDaily limit reached. Check Retry-After header.
500generation_failedOn-demand word generation failed
503db_errorDatabase temporarily unavailable

All errors return JSON: { "error": "message", "code": "error_code" }

Start building

Free tier: 10,000 calls/day. No credit card. Instant API key.

Get Your Free API Key Try the Playground Quickstart

Ready to integrate?

Get API Access — $49/mo