XOBDO API
A practical guide to XOBDO's available language and dictionary APIs
Getting Started
Call a specific endpoint file
The API is a collection of endpoints, not a generic /words or /search REST route. The examples below use https://xobdo.org as the base URL. Public lookup endpoints use GET requests and return UTF-8 JSON; response shapes vary by endpoint.
curl --get 'https://xobdo.org/api/dic.php' \
--data-urlencode 'w=নমস্কাৰ' \
--data-urlencode 'l=2'
Language IDs used by the Wikipedia wrapper are 1 for English, 2 for Assamese, and 22 for Bengali. Dictionary endpoints may accept other XOBDO language IDs.
Dictionary and Word Browsing
Look up entries or browse word lists
GET /api/dic.php
Search the dictionary for a word and return matching entries.
Parameters: w word or phrase; optional l language ID (defaults to 0).
curl --get 'https://xobdo.org/api/dic.php' \
--data-urlencode 'w=নমস্কাৰ' \
--data-urlencode 'l=2'
The JSON response contains xobdoapi metadata and a querywords array. Each result includes a query word and its matching entries.
GET /api/wordsalpha.php
Browse words alphabetically, with meanings grouped by word.
Parameters: start starting word or prefix; end optional ending word; l optional language ID; p optional part-of-speech ID; lim result limit (default 50).
curl --get 'https://xobdo.org/api/wordsalpha.php' \
--data-urlencode 'start=অ' \
--data-urlencode 'l=2' \
--data-urlencode 'lim=50'
The response includes success and data.words; each word includes its ID, part of speech, and a list of meanings.
GET /api/words_recent.php
Get a JSON array of recently added words. Optional limit controls the requested count (default 100).
https://xobdo.org/api/words_recent.php?limit=25
Language Tools
Phrase matching, transliteration, and reference extracts
GET /api/check-fj.php
Find similar phrases or idioms.
Parameters: fj phrase to check; language language ID (default 2); limit maximum matches (default 5).
curl --get 'https://xobdo.org/api/check-fj.php' \
--data-urlencode 'fj=...' \
--data-urlencode 'language=2' \
--data-urlencode 'limit=5'
The JSON result reports whether matches were found and returns similar_items.
GET /api/tlipi.php
Convert Assamese text using XOBDO's tLipi transliteration.
Parameter: pa text to transliterate.
curl --get 'https://xobdo.org/api/tlipi.php' \
--data-urlencode 'pa=অসমীয়া'
The JSON response contains the cleaned input, transliterated output, and success.
GET /api/dic-wiki.php
Fetch a Wikipedia extract for a word or phrase.
Parameters: w title to look up; lgid language ID (1 English, 2 Assamese, 22 Bengali). Other IDs fall back to English.
curl --get 'https://xobdo.org/api/dic-wiki.php' \
--data-urlencode 'w=অসম' \
--data-urlencode 'lgid=2'
A successful response includes title, extract, url, and source. Articles without an extract return success: false.
Flashcards
Retrieve available sets and their cards
GET /api/wordgames.php
Returns the available flashcard sets as a JSON array.
https://xobdo.org/api/wordgames.php
GET /api/wordgames_cards.php
Returns cards for a set. Optional set is the set ID (defaults to 1); card fields include clue, clue_pRoman, and answer.
https://xobdo.org/api/wordgames_cards.php?set=1
Lookup Lists
Fetch values used by dictionary and phrase forms
Use GET /api/get-list.php?type=TYPE. Supported types are LANG (languages), CTX (contexts), VRT (variants), POS (parts of speech), GEN (genders), RIC (idea relations), HAC (history actions), and FJCAT (phrase/idiom categories).
https://xobdo.org/api/get-list.php?type=LANG
The JSON response includes success, the requested type, data entries with id and value, and count.
Photo Contributions
Submit a photo attached to a dictionary idea
POST /api/submit-foto.php requires an authenticated XOBDO session and a multipart/form-data request. Send ideaID (numeric), photoCredit (at least two characters), and photo (JPEG, PNG, GIF, or WebP; maximum 3 MB).
curl -X POST 'https://xobdo.org/api/submit-foto.php' \
-b cookies.txt \
-F 'ideaID=12345' \
-F 'photoCredit=Contributor name' \
-F '[email protected]'
A successful response includes a submission ID and reports the submission as pending review. Requests without a signed-in session return HTTP 401; invalid fields or uploads return HTTP 400.
Using the API
Responses are endpoint-specific: some return a bare JSON array, while others wrap results in objects. Check each endpoint's fields rather than assuming one shared response schema. Use URL encoding for Assamese text and other non-ASCII query values, as shown in the cURL examples.
The API directory also contains internal, experimental, and legacy scripts that are not described here as supported integrations.
Questions or integration feedback: [email protected].