Shobdo Logo

Search Words

The Search API allows you to query our entire database of dictionaries simultaneously. It features intelligent typo-tolerance, fuzzy matching, and robust filtering capabilities to ensure you find the right word even with imperfect input.

GET /api/v1/api/search

Query Parameters

ParameterTypeRequiredDescription
qstringYesThe search query string.
langstringNoFilter by language. Use an ISO 639-1 code (e.g., en, fr) or a language pair (e.g., en-fr).
sourcestringNoFilter by a specific dictionary ID. Use the dictionaryId value from search results.
matchTypestringNoMatch strategy. One of: exact, prefix (default), contains.
posstringNoFilter by part of speech (e.g., noun, verb).
hasAudiobooleanNoOnly return results that have pronunciation audio (true).
limitintegerNoMax results to return. Default: 20, Max: 100.
offsetintegerNoNumber of results to skip for pagination. Default: 0.

Match Types

Prefix Match (prefix) — Default

Returns results where the word starts with the query. Example: q=bat matches "bat", "batter", "battery".

Exact Match (exact)

Only returns results where the word exactly matches the query. Example: q=bat matches "bat" but not "batter".

Contains Match (contains)

Returns results where the word contains the query anywhere. Example: q=bat matches "bat", "combat", "acrobat".

Example Request

cURL
curl -X GET "https://api.shobdo.me/api/v1/api/search?q=hello&lang=en&limit=5" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
JavaScript
const response = await fetch("https://api.shobdo.me/api/v1/api/search?q=hello&lang=en&limit=5", {
  headers: { "Authorization": "Bearer YOUR_API_KEY" }
});
const data = await response.json();
Python
import requests
 
response = requests.get(
    "https://api.shobdo.me/api/v1/api/search",
    params={"q": "hello", "lang": "en", "limit": 5},
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)
data = response.json()

Example Response

{
  "ok": true,
  "data": [
    {
      "id": "42",
      "word": "hello",
      "preview": "Used as a greeting or to begin a phone conversation.",
      "sourceLang": "en",
      "targetLang": null,
      "dictionaryId": "...",
      "dictionaryName": "...",
      "partOfSpeech": "exclamation",
      "phonetic": "/həˈləʊ/",
      "hasAudio": true
    }
  ],
  "meta": {
    "total": 12,
    "limit": 5,
    "offset": 0,
    "took_ms": 38
  }
}

Result Object

FieldTypeDescription
idstringUnique entry identifier. Use with the Entry endpoint.
wordstringThe matched headword.
previewstringA short text preview of the definition.
sourceLangstringISO 639-1 source language code.
targetLangstring | nullISO 639-1 target language code (null for monolingual).
dictionaryIdstringThe dictionary this result came from.
dictionaryNamestringHuman-readable dictionary name.
partOfSpeechstring | undefinedPart of speech (noun, verb, etc.).
phoneticstring | undefinedIPA pronunciation.
hasAudiobooleanWhether this entry has a pronunciation audio clip.

Assistant

Hi! I'm the Shobdo Assistant.
Ask me anything about the documentation.