> For the complete documentation index, see [llms.txt](https://docs.go-data.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.go-data.app/poisk.md).

# Поиск

Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`.

## Одиночный поиск по базам данных

> Выполняет поиск по всем базам данных с указанием типа данных.\
> \
> Учитывает тип данных (телефон, ФИО, email и т.д.) и применяет соответствующую обработку запроса.\
> Поддерживает дополнительные проверки через чекеры (СБП, телефонная книга, оператор и т.д.).\
> \
> Стоимость запроса: 1 запрос с requests\_balance.\
> Если результатов не найдено, запрос возвращается на баланс.\
> \
> В ответе возвращается \`\`request\_id\`\` — по нему можно повторно получить эти\
> результаты через GET /search/info/{request\_id}.

```json
{"openapi":"3.1.0","info":{"title":"GoData API","version":"1.0.0"},"tags":[{"name":"Поиск","description":"Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`."}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"NormalSearchRequest":{"properties":{"query":{"type":"string","maxLength":500,"minLength":1,"title":"Query","description":"Поисковый запрос"},"search_type":{"$ref":"#/components/schemas/SearchType","description":"Технический код типа данных для поиска"},"limit":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Максимальное количество результатов","default":500},"additional_sources":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Additional Sources","description":"Дополнительные источники обогащения, строго opt-in. Словарь {ключ_источника: bool}. Поддерживается ключ \"operator\" — оператор, регион и часовой пояс номера (доступен только при поиске по телефону). Неизвестные ключи игнорируются."}},"type":"object","required":["query","search_type"],"title":"NormalSearchRequest","description":"Схема запроса для normal-поиска с указанием типа данных."},"SearchType":{"type":"string","enum":["phone","email","nickname","full_name","full_name_birthdate","first_last_name","first_middle_name","first_last_name_birthdate","first_middle_name_birthdate","last_name_birthdate","first_name_birthdate","url_telegram","url_instagram","url_vk","url_facebook","url_twitter","domain","url","vk_id","tg_id","ipv4","ipv6","mac_address","btc_address","eth_address","passport_ru","passport_eu","inn_individual","inn_legal","snils","ogrn","ogrnip","kpp","car_plate","vin","credit_card","iban","bic_swift","coordinates","date","address","unknown"],"title":"SearchType","description":"Перечисление типов поисковых запросов.\n\nЗначения — короткие технические коды в snake_case. Человекочитаемые\nподписи (локализация) формируются на стороне клиента.\n\nСуффиксы стран/категорий (``_ru``/``_eu``, ``_individual``/``_legal``)\nиспользуются только там, где они несут смысловую дизамбигуацию\n(паспорт РФ vs ЕС, ИНН физлица vs юрлица). Для остальных РФ-специфичных\nидентификаторов канон — короткий код без суффикса.\n\nСовместимость со старыми кодами (``snils_ru``, ``passport``, ``inn`` и т.п.)\nобеспечивается картой алиасов ``_SEARCH_TYPE_ALIASES`` ниже."},"SearchInfoResponse":{"properties":{"request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Request Id","description":"Идентификатор запроса. Передайте его в GET /search/info/{request_id}, чтобы повторно получить эти результаты."},"query":{"type":"string","title":"Query","description":"Исходный поисковый запрос"},"query_type":{"type":"string","title":"Query Type","description":"Тип запроса, которым были получены данные (например, normal)"},"databases":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Databases","description":"Словарь баз данных с результатами (ключ - database_id)"},"records":{"items":{"$ref":"#/components/schemas/ClassifiedRecordItem"},"type":"array","title":"Records","description":"Список найденных записей с классифицированными полями"},"persons":{"items":{"$ref":"#/components/schemas/PersonInfo"},"type":"array","title":"Persons","description":"Список уникальных личностей с контактными данными"},"statistics":{"$ref":"#/components/schemas/SearchInfoStatistics","description":"Расширенная статистика поиска"},"information":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Information","description":"Дополнительная информация (оператор, СБП)"},"region_analysis":{"anyOf":[{"$ref":"#/components/schemas/RegionAnalysis"},{"type":"null"}],"description":"Вероятностная оценка региона личности по совокупности данных. Заполняется только для запросов поиска одной личности (ФИО+ДР, ИНН, СНИЛС, паспорт)."}},"type":"object","required":["query","query_type","databases","records","persons","statistics"],"title":"SearchInfoResponse","description":"Единый формат результата поиска.\n\nВозвращается синхронным POST /search/normal и GET /search/info/{request_id}."},"ClassifiedRecordItem":{"properties":{"database_id":{"type":"string","title":"Database Id","description":"ID базы данных"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Данные записи"},"classified_data":{"additionalProperties":true,"type":"object","title":"Classified Data","description":"Классифицированные поля (phones, emails, passports, passport_details, etc.)"}},"type":"object","required":["database_id","data","classified_data"],"title":"ClassifiedRecordItem","description":"Запись с классифицированными полями."},"PersonInfo":{"properties":{"full_name":{"type":"string","title":"Full Name","description":"Полное ФИО"},"birth_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birth Date","description":"Дата рождения в формате DD.MM.YYYY"},"contact_data":{"$ref":"#/components/schemas/PersonContactData","description":"Контактные данные"},"border_crossings":{"anyOf":[{"items":{"$ref":"#/components/schemas/BorderCrossing"},"type":"array"},{"type":"null"}],"title":"Border Crossings","description":"Пересечения границы"}},"type":"object","required":["full_name","contact_data"],"title":"PersonInfo","description":"Информация о личности."},"PersonContactData":{"properties":{"phone_numbers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Numbers","description":"Номера телефонов"},"emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Emails","description":"Email адреса"},"cars":{"anyOf":[{"items":{"$ref":"#/components/schemas/CarInfo"},"type":"array"},{"type":"null"}],"title":"Cars","description":"Автомобили"},"passport":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Passport","description":"Паспортные данные"},"inn":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Inn","description":"ИНН"},"snils":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Snils","description":"СНИЛС"},"addresses":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Addresses","description":"Адреса"}},"type":"object","title":"PersonContactData","description":"Контактные данные личности."},"CarInfo":{"properties":{"plate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plate","description":"Гос. номер"},"make":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Make","description":"Марка (Toyota, BMW…)"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Модель (Camry, X5…)"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","description":"Год выпуска"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","description":"Цвет"},"vin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vin","description":"VIN"},"body_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body Type","description":"Тип кузова"},"engine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine","description":"Объём двигателя, напр. «2.5»"},"power_hp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Power Hp","description":"Мощность, л.с."},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Регион регистрации"},"sts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sts","description":"Свидетельство о регистрации (СТС)"},"pts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pts","description":"Паспорт ТС (ПТС)"},"engine_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine Number","description":"Номер двигателя"},"price_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Min","description":"Оценочная стоимость — от (руб.)"},"price_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Max","description":"Оценочная стоимость — до (руб.)"}},"type":"object","title":"CarInfo","description":"Данные об автомобиле, собранные из записей."},"BorderCrossing":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date","description":"Дата пересечения"},"from_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Country","description":"Страна выезда"},"from_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From City","description":"Город выезда"},"to_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Country","description":"Страна въезда"},"to_checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Checkpoint","description":"Пункт пропуска"},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle","description":"Транспортное средство / рейс"},"transport_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transport Type","description":"Тип транспорта"}},"type":"object","title":"BorderCrossing","description":"Одно пересечение границы."},"SearchInfoStatistics":{"properties":{"total_records":{"type":"integer","title":"Total Records","description":"Общее количество найденных записей"},"total_databases":{"type":"integer","title":"Total Databases","description":"Общее количество баз данных с результатами"},"total_persons":{"type":"integer","title":"Total Persons","description":"Количество уникальных личностей"},"search_time_ms":{"type":"integer","title":"Search Time Ms","description":"Время выполнения поиска в миллисекундах"}},"type":"object","required":["total_records","total_databases","total_persons","search_time_ms"],"title":"SearchInfoStatistics","description":"Расширенная статистика поиска."},"RegionAnalysis":{"properties":{"primary":{"type":"string","title":"Primary","description":"Наиболее вероятный регион"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Наиболее вероятный населённый пункт (если определён)"},"confidence":{"type":"integer","title":"Confidence","description":"Уверенность (доля топ-региона), %"},"level":{"type":"string","title":"Level","description":"Качественный уровень: высокая/средняя/низкая"},"candidates":{"items":{"$ref":"#/components/schemas/RegionCandidate"},"type":"array","title":"Candidates","description":"Кандидаты-регионы (топ-5)"},"evidence":{"items":{"$ref":"#/components/schemas/RegionEvidence"},"type":"array","title":"Evidence","description":"Сигналы-обоснования"},"signals_count":{"type":"integer","title":"Signals Count","description":"Всего учтённых сигналов"}},"type":"object","required":["primary","confidence","level","signals_count"],"title":"RegionAnalysis","description":"Вероятностная оценка региона личности по совокупности факторов.\n\nЗаполняется только для запросов поиска одной личности (ФИО+ДР, ИНН,\nСНИЛС, паспорт). Не является официальными данными."},"RegionCandidate":{"properties":{"region":{"type":"string","title":"Region","description":"Название региона"},"percent":{"type":"integer","title":"Percent","description":"Доля сигналов за этот регион, %"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources","description":"Источники сигналов (Адрес ×3, ИНН, …)"}},"type":"object","required":["region","percent"],"title":"RegionCandidate","description":"Кандидат-регион в оценке региона личности."},"RegionEvidence":{"properties":{"source":{"type":"string","title":"Source","description":"Тип источника (Адрес, ИНН, Госномер, …)"},"detail":{"type":"string","title":"Detail","description":"Исходное значение сигнала"},"region":{"type":"string","title":"Region","description":"Регион, на который указывает сигнал"}},"type":"object","required":["source","detail","region"],"title":"RegionEvidence","description":"Один сигнал-обоснование оценки региона."},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Человекочитаемое сообщение об ошибке"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Стандартный ответ с ошибкой."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/search/normal":{"post":{"tags":["Поиск"],"summary":"Одиночный поиск по базам данных","description":"Выполняет поиск по всем базам данных с указанием типа данных.\n\nУчитывает тип данных (телефон, ФИО, email и т.д.) и применяет соответствующую обработку запроса.\nПоддерживает дополнительные проверки через чекеры (СБП, телефонная книга, оператор и т.д.).\n\nСтоимость запроса: 1 запрос с requests_balance.\nЕсли результатов не найдено, запрос возвращается на баланс.\n\nВ ответе возвращается ``request_id`` — по нему можно повторно получить эти\nрезультаты через GET /search/info/{request_id}.","operationId":"normal_search_search_normal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfoResponse"}}}},"401":{"description":"Не авторизован — отсутствует или недействителен API-ключ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Недостаточно запросов на балансе","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Получить результаты поиска по request\_id

> Получение результатов поиска по ID запроса.\
> \
> Не требует авторизации, только ID запроса.\
> Возвращает тот же формат, что и POST /search/normal.

```json
{"openapi":"3.1.0","info":{"title":"GoData API","version":"1.0.0"},"tags":[{"name":"Поиск","description":"Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`."}],"paths":{"/search/info/{request_id}":{"get":{"tags":["Поиск"],"summary":"Получить результаты поиска по request_id","description":"Получение результатов поиска по ID запроса.\n\nНе требует авторизации, только ID запроса.\nВозвращает тот же формат, что и POST /search/normal.","operationId":"get_search_info_search_info__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInfoResponse"}}}},"404":{"description":"Ресурс не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"SearchInfoResponse":{"properties":{"request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Request Id","description":"Идентификатор запроса. Передайте его в GET /search/info/{request_id}, чтобы повторно получить эти результаты."},"query":{"type":"string","title":"Query","description":"Исходный поисковый запрос"},"query_type":{"type":"string","title":"Query Type","description":"Тип запроса, которым были получены данные (например, normal)"},"databases":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Databases","description":"Словарь баз данных с результатами (ключ - database_id)"},"records":{"items":{"$ref":"#/components/schemas/ClassifiedRecordItem"},"type":"array","title":"Records","description":"Список найденных записей с классифицированными полями"},"persons":{"items":{"$ref":"#/components/schemas/PersonInfo"},"type":"array","title":"Persons","description":"Список уникальных личностей с контактными данными"},"statistics":{"$ref":"#/components/schemas/SearchInfoStatistics","description":"Расширенная статистика поиска"},"information":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Information","description":"Дополнительная информация (оператор, СБП)"},"region_analysis":{"anyOf":[{"$ref":"#/components/schemas/RegionAnalysis"},{"type":"null"}],"description":"Вероятностная оценка региона личности по совокупности данных. Заполняется только для запросов поиска одной личности (ФИО+ДР, ИНН, СНИЛС, паспорт)."}},"type":"object","required":["query","query_type","databases","records","persons","statistics"],"title":"SearchInfoResponse","description":"Единый формат результата поиска.\n\nВозвращается синхронным POST /search/normal и GET /search/info/{request_id}."},"ClassifiedRecordItem":{"properties":{"database_id":{"type":"string","title":"Database Id","description":"ID базы данных"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Данные записи"},"classified_data":{"additionalProperties":true,"type":"object","title":"Classified Data","description":"Классифицированные поля (phones, emails, passports, passport_details, etc.)"}},"type":"object","required":["database_id","data","classified_data"],"title":"ClassifiedRecordItem","description":"Запись с классифицированными полями."},"PersonInfo":{"properties":{"full_name":{"type":"string","title":"Full Name","description":"Полное ФИО"},"birth_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birth Date","description":"Дата рождения в формате DD.MM.YYYY"},"contact_data":{"$ref":"#/components/schemas/PersonContactData","description":"Контактные данные"},"border_crossings":{"anyOf":[{"items":{"$ref":"#/components/schemas/BorderCrossing"},"type":"array"},{"type":"null"}],"title":"Border Crossings","description":"Пересечения границы"}},"type":"object","required":["full_name","contact_data"],"title":"PersonInfo","description":"Информация о личности."},"PersonContactData":{"properties":{"phone_numbers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phone Numbers","description":"Номера телефонов"},"emails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Emails","description":"Email адреса"},"cars":{"anyOf":[{"items":{"$ref":"#/components/schemas/CarInfo"},"type":"array"},{"type":"null"}],"title":"Cars","description":"Автомобили"},"passport":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Passport","description":"Паспортные данные"},"inn":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Inn","description":"ИНН"},"snils":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Snils","description":"СНИЛС"},"addresses":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Addresses","description":"Адреса"}},"type":"object","title":"PersonContactData","description":"Контактные данные личности."},"CarInfo":{"properties":{"plate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plate","description":"Гос. номер"},"make":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Make","description":"Марка (Toyota, BMW…)"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Модель (Camry, X5…)"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","description":"Год выпуска"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","description":"Цвет"},"vin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vin","description":"VIN"},"body_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body Type","description":"Тип кузова"},"engine":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine","description":"Объём двигателя, напр. «2.5»"},"power_hp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Power Hp","description":"Мощность, л.с."},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Регион регистрации"},"sts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sts","description":"Свидетельство о регистрации (СТС)"},"pts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pts","description":"Паспорт ТС (ПТС)"},"engine_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine Number","description":"Номер двигателя"},"price_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Min","description":"Оценочная стоимость — от (руб.)"},"price_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Max","description":"Оценочная стоимость — до (руб.)"}},"type":"object","title":"CarInfo","description":"Данные об автомобиле, собранные из записей."},"BorderCrossing":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date","description":"Дата пересечения"},"from_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Country","description":"Страна выезда"},"from_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From City","description":"Город выезда"},"to_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Country","description":"Страна въезда"},"to_checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Checkpoint","description":"Пункт пропуска"},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle","description":"Транспортное средство / рейс"},"transport_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transport Type","description":"Тип транспорта"}},"type":"object","title":"BorderCrossing","description":"Одно пересечение границы."},"SearchInfoStatistics":{"properties":{"total_records":{"type":"integer","title":"Total Records","description":"Общее количество найденных записей"},"total_databases":{"type":"integer","title":"Total Databases","description":"Общее количество баз данных с результатами"},"total_persons":{"type":"integer","title":"Total Persons","description":"Количество уникальных личностей"},"search_time_ms":{"type":"integer","title":"Search Time Ms","description":"Время выполнения поиска в миллисекундах"}},"type":"object","required":["total_records","total_databases","total_persons","search_time_ms"],"title":"SearchInfoStatistics","description":"Расширенная статистика поиска."},"RegionAnalysis":{"properties":{"primary":{"type":"string","title":"Primary","description":"Наиболее вероятный регион"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Наиболее вероятный населённый пункт (если определён)"},"confidence":{"type":"integer","title":"Confidence","description":"Уверенность (доля топ-региона), %"},"level":{"type":"string","title":"Level","description":"Качественный уровень: высокая/средняя/низкая"},"candidates":{"items":{"$ref":"#/components/schemas/RegionCandidate"},"type":"array","title":"Candidates","description":"Кандидаты-регионы (топ-5)"},"evidence":{"items":{"$ref":"#/components/schemas/RegionEvidence"},"type":"array","title":"Evidence","description":"Сигналы-обоснования"},"signals_count":{"type":"integer","title":"Signals Count","description":"Всего учтённых сигналов"}},"type":"object","required":["primary","confidence","level","signals_count"],"title":"RegionAnalysis","description":"Вероятностная оценка региона личности по совокупности факторов.\n\nЗаполняется только для запросов поиска одной личности (ФИО+ДР, ИНН,\nСНИЛС, паспорт). Не является официальными данными."},"RegionCandidate":{"properties":{"region":{"type":"string","title":"Region","description":"Название региона"},"percent":{"type":"integer","title":"Percent","description":"Доля сигналов за этот регион, %"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources","description":"Источники сигналов (Адрес ×3, ИНН, …)"}},"type":"object","required":["region","percent"],"title":"RegionCandidate","description":"Кандидат-регион в оценке региона личности."},"RegionEvidence":{"properties":{"source":{"type":"string","title":"Source","description":"Тип источника (Адрес, ИНН, Госномер, …)"},"detail":{"type":"string","title":"Detail","description":"Исходное значение сигнала"},"region":{"type":"string","title":"Region","description":"Регион, на который указывает сигнал"}},"type":"object","required":["source","detail","region"],"title":"RegionEvidence","description":"Один сигнал-обоснование оценки региона."},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Человекочитаемое сообщение об ошибке"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Стандартный ответ с ошибкой."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Создать задачу массового поиска (JSON)

> Создание задания на массовый поиск из списка запросов.\
> \
> Параметры:\
> \- queries: список запросов (до 1000)\
> \- limit: максимальное количество результатов на запрос (опционально, по умолчанию 500)\
> \
> Баланс списывается сразу за все запросы.\
> Результаты доступны через эндпоинт /search/task/{task\_id}/result после завершения обработки.

```json
{"openapi":"3.1.0","info":{"title":"GoData API","version":"1.0.0"},"tags":[{"name":"Поиск","description":"Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`."}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"BatchSearchRequest":{"properties":{"queries":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":1000},{"type":"null"}],"title":"Queries","description":"Список поисковых запросов (до 1000)"},"limit":{"type":"integer","maximum":500,"minimum":1,"title":"Limit","description":"Максимальное количество результатов на запрос","default":500}},"type":"object","title":"BatchSearchRequest","description":"Схема запроса для создания массового поиска."},"BatchSearchResponse":{"properties":{"task_id":{"type":"string","format":"uuid","title":"Task Id","description":"ID созданной задачи"},"task_type":{"type":"string","title":"Task Type","description":"Тип задачи (batch)"},"total_queries":{"type":"integer","title":"Total Queries","description":"Общее количество поисковых запросов"},"status":{"type":"string","title":"Status","description":"Статус задачи (pending)"}},"type":"object","required":["task_id","task_type","total_queries","status"],"title":"BatchSearchResponse","description":"Ответ на создание массового поиска."},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Человекочитаемое сообщение об ошибке"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Стандартный ответ с ошибкой."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/search/batch":{"post":{"tags":["Поиск"],"summary":"Создать задачу массового поиска (JSON)","description":"Создание задания на массовый поиск из списка запросов.\n\nПараметры:\n- queries: список запросов (до 1000)\n- limit: максимальное количество результатов на запрос (опционально, по умолчанию 500)\n\nБаланс списывается сразу за все запросы.\nРезультаты доступны через эндпоинт /search/task/{task_id}/result после завершения обработки.","operationId":"create_batch_search_search_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSearchResponse"}}}},"401":{"description":"Не авторизован — отсутствует или недействителен API-ключ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Недостаточно запросов на балансе","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Статус задачи поиска

> Проверка статуса задания поиска.\
> \
> Возвращает текущий статус задания, количество обработанных запросов и найденных результатов.

```json
{"openapi":"3.1.0","info":{"title":"GoData API","version":"1.0.0"},"tags":[{"name":"Поиск","description":"Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`."}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"SearchTaskStatusResponse":{"properties":{"task_id":{"type":"string","format":"uuid","title":"Task Id","description":"ID задачи"},"status":{"type":"string","title":"Status","description":"Статус: pending, processing, completed, failed"},"task_type":{"type":"string","title":"Task Type","description":"Тип задачи: batch"},"total_queries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Queries","description":"Общее количество запросов в задаче"},"processed_queries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Processed Queries","description":"Обработано запросов"},"found_queries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Found Queries","description":"Найдено запросов с результатами"},"spent_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spent Requests","description":"Потрачено запросов из баланса"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message","description":"Сообщение об ошибке (если есть)"},"created_at":{"type":"string","title":"Created At","description":"Дата создания"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At","description":"Дата начала обработки"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At","description":"Дата завершения обработки"}},"type":"object","required":["task_id","status","task_type","created_at"],"title":"SearchTaskStatusResponse","description":"Ответ на запрос статуса задачи поиска."},"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Человекочитаемое сообщение об ошибке"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Стандартный ответ с ошибкой."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/search/task/{task_id}/status":{"get":{"tags":["Поиск"],"summary":"Статус задачи поиска","description":"Проверка статуса задания поиска.\n\nВозвращает текущий статус задания, количество обработанных запросов и найденных результатов.","operationId":"get_search_task_status_search_task__task_id__status_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchTaskStatusResponse"}}}},"401":{"description":"Не авторизован — отсутствует или недействителен API-ключ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Доступ запрещён — ресурс принадлежит другому пользователю","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Ресурс не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Скачать результаты задачи поиска (CSV)

> Получение результатов задания поиска.\
> \
> Возвращает CSV файл с результатами поиска. Доступен только после завершения обработки задания.

```json
{"openapi":"3.1.0","info":{"title":"GoData API","version":"1.0.0"},"tags":[{"name":"Поиск","description":"Поиск по базам данных. Поддерживает **одиночный синхронный поиск** (`POST /search/normal`) и **массовый асинхронный** (`POST /search/batch`, `POST /search/batch/file`). Результаты одиночного поиска кэшируются и доступны повторно по `request_id` через `GET /search/info/{request_id}`."}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"ErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Человекочитаемое сообщение об ошибке"}},"type":"object","required":["detail"],"title":"ErrorResponse","description":"Стандартный ответ с ошибкой."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/search/task/{task_id}/result":{"get":{"tags":["Поиск"],"summary":"Скачать результаты задачи поиска (CSV)","description":"Получение результатов задания поиска.\n\nВозвращает CSV файл с результатами поиска. Доступен только после завершения обработки задания.","operationId":"get_search_task_result_search_task__task_id__result_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}}],"responses":{"200":{"description":"CSV-файл с результатами поиска","content":{"application/json":{"schema":{}},"text/csv":{}}},"401":{"description":"Не авторизован — отсутствует или недействителен API-ключ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Доступ запрещён — ресурс принадлежит другому пользователю","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Ресурс не найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.go-data.app/poisk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
