---
keywords:
  - lookup
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/tech-only/doc/dg/ru/llms.txt


# Метод lookup

Осуществляет поиск слова или фразы в словаре и возвращает автоматически сформированную словарную статью.

## Описание

```javascript
DicResult lookup(string key, string text, string lang, string ui, int flags);
```

## Входные параметры

Входные параметры могут передаваться либо с помощью HTTP GET-запроса (см. пример), либо с помощью HTTP POST-запроса, где параметры передаются в `body` HTTP-запроса.

**Пример запроса**:

XML-интерфейс:

```
https://dictionary.yandex.net/api/v1/dicservice/lookup?key=API-ключ&lang=en-ru&text=time
```

JSON-интерфейс:

```
https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=API-ключ&lang=en-ru&text=time
```

JSONP-интерфейс (для функции myCallback):

```
https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=API-ключ&lang=en-ru&text=time&callback=myCallback
```

Список входных параметров.

#|
||
**Параметр**
|
**Тип**
|
**Описание**
||
||
**Обязательные**
| >
| >
||

||
`key`
|
`string`
|
API-ключ. Получите бесплатный API-ключ на этой [странице](https://yandex.ru/dev/dictionary/keys/get/?service=dict).
||

||
`lang`
|
`string`
|
Направление перевода (например, "en-ru"). Задается в виде пары кодов языков, перечисленных через дефис. Например, "en-ru" задает перевод с английского на русский.

{% note tip %}

Сервис работает не только с переводными словарями. Например, вы можете указать направление "ru-ru" или "en-en" и получить все возможные значения искомого слова на русском или английском языке.

{% endnote %}
||
||
`text`
|
`string`
|
Слово или фраза, которые требуется найти в словаре.
||
||
**Необязательные**
| >
| >
||
||
`ui`
|
`string`
|
Язык интерфейса пользователя, на котором будут отображаться названия частей речи в словарной статье.

Возможные значения:

- `en` - английский;
- `ru` - русский;
- `uk` - украинский;
- `tr` - турецкий.
||
||
`flags`
|
`int`
|
Опции поиска (битовая маска флагов).

Возможные значения:

- `FAMILY = 0x0001` - применить семейный фильтр;
- `SHORT_POS = 0x0002` - отображать названия частей речи в краткой форме;
- `MORPHO = 0x0004` - включает поиск по форме слова; также этот флаг нужно указывать, если нужны переводы;
- `POS_FILTER = 0x0008` - включает фильтр, требующий соответствия частей речи искомого слова и перевода.
||

|#

## Возвращает

В XML-интерфейсе возвращает структуру `DicResult`, которая содержит словарную статью, автоматически сформированную по результатам поиска. Например:

```
<DicResult>
  <[head](*head)/>
  <[def](*def) pos="noun" ts="taɪm">
    <[text](*text)>time</text>
    <[tr](*tr) pos="существительное">
      <[text](*text)>время</text>
      <[syn](*syn)>
        <[text](*text)>раз</text>
      </syn>
      <[syn](*syn)>
        <[text](*text)>тайм</text>
      </syn>
      <[mean](*mean)>
        <[text](*text)>timing</text>
      </mean>
      <[mean](*mean)>
        <[text](*text)>fold</text>
      </mean>
      <[mean](*mean)>
         <[text](*text)>half</text>
      </mean>
      <[ex](*ex)>
         <[text](*text)>prehistoric time</text>
         <[tr](*tr)>
            <[text](*text)>доисторическое время</text>
         </tr>
      </ex>
      <[ex](*ex)>
         <[text](*text)>hundredth time</text>
         <[tr](*tr)>
            <[text](*text)>сотый раз</text>
         </tr>
      </ex>
      <[ex](*ex)>
         <[text](*text)>time-slot</text>
         <[tr](*tr)>
            <[text](*text)>тайм-слот</text>
         </tr>
      </ex>
    </tr>
  </def>
</DicResult>
```

#### Элементы XML-схемы ответа DicResult

#|

||
**Элемент**
|
**Описание**
||
||
`head`
|
Заголовок результата (не используется).
||
||
`def`
|
Массив словарных статей. В атрибуте `ts` может указываться транскрипция искомого слова.
||
||
`tr`
|
Массив переводов.
||
||
`syn`
|
Массив синонимов.
||
||
`mean`
|
Массив значений.
||
||
`ex`
|
Массив примеров.
||

|#

#### Атрибуты, используемые в элементах def, tr, syn, mean и ex

#|

||
**Атрибут**
|
**Описание**
||
||
`text`
|
Текст статьи, перевода или синонима (обязательный).
||
||
`num`
|
Число (для имен существительных). Возможные значения:

- `pl` - указывается для существительных во множественном числе.
||
||
`pos`
|
Часть речи (может отсутствовать).
||
||
`gen`
|
Род существительного для тех языков, где это актуально (может отсутствовать).
||

|#

#### Коды ошибок

#|

||
**Код**
|
**Значение**
|
**Описание**
||
||
`ERR_OK`
|
`200`
|
Операция выполнена успешно.
||

||
`ERR_KEY_INVALID`
|
`401`
|
Ключ API невалиден.
||

||
`ERR_KEY_BLOCKED`
|
`402`
|
Ключ API заблокирован.
||

||
`ERR_DAILY_REQ_LIMIT_EXCEEDED`
|
`403`
|
Превышено суточное ограничение на количество запросов.
||
||
`ERR_TEXT_TOO_LONG`
|
`413`
|
Превышен максимальный размер текста.
||
||
`ERR_LANG_NOT_SUPPORTED`
|
`501`
|
Заданное направление перевода не поддерживается.
||

|#

В JSON-интерфейсе вместо XML-элементов возвращаются JavaScript-объекты с теми же именами и семантикой:

```javascript
{ "head": {},
  "def": [
     { "text": "time", "pos": "noun",
       "tr": [
          { "text": "время", "pos": "существительное",
            "syn": [
               { "text": "раз" },
               { "text": "тайм" }
            ],
            "mean": [
               { "text": "timing" },
               { "text": "fold" },
               { "text": "half"}
            ],
            "ex" : [
               { "text": "prehistoric time",
                 "tr": [
                    { "text": "доисторическое время" }
                 ]
               },
               { "text": "hundredth time",
                 "tr": [
                    { "text": "сотый раз" }
                 ]
               },
               { "text": "time-slot",
                 "tr": [
                    { "text": "тайм-слот" }
                 ]
               }
            ]
          }
       ]
    }
  ]
}
```


В JSONP-интерфейсе те же самые JavaScript-объекты возвращаются в callback-функции (например, myCallback):

```javascript
myCallback({
  "head": {},
  "def": [
     { "text": "time", "pos": "noun",
       "tr": [
          { "text": "время", "pos": "существительное",
            "syn": [
               { "text": "раз" },
               { "text": "тайм" }
            ],
            "mean": [
               { "text": "timing" },
               { "text": "fold" },
               { "text": "half"}
            ],
            "ex" : [
               { "text": "prehistoric time",
                 "tr": [
                    { "text": "доисторическое время" }
                 ]
               },
               { "text": "hundredth time",
                 "tr": [
                    { "text": "сотый раз" }
                 ]
               },
               { "text": "time-slot",
                 "tr": [
                    { "text": "тайм-слот" }
                 ]
               }
            ]
          }
       ]
    }
  ]
})
```

[*head]: {% include notitle [head](../_includes/hints.md#head) %}

[*def]: {% include notitle [def](../_includes/hints.md#def) %}

[*text]: {% include notitle [text](../_includes/hints.md#text) %}

[*tr]: {% include notitle [tr](../_includes/hints.md#tr) %}

[*syn]: {% include notitle [syn](../_includes/hints.md#syn) %}

[*mean]: {% include notitle [mean](../_includes/hints.md#mean) %}

[*ex]: {% include notitle [ex](../_includes/hints.md#ex) %}
