Справочник по API (Endpoints)
В этом разделе представлено подробное описание всех доступных конечных точек API, их параметров и возвращаемых данных.
Адреса серверов (Base URL)
Все запросы следует отправлять на один из наших базовых URL. Полный список доступных серверов (основной, резервный и для ZennoPoster) вы можете найти на странице Сервера HydraAI API.
Авторизация
Авторизация
Для доступа к большинству конечных точек требуется авторизация. Передавайте ваш API ключ в заголовке Authorization по схеме Bearer.
Authorization: Bearer sk-hydra-ai-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Если вы используете какие-то библиотеки или программы, в большинстве случаев нужно указать только сам API-ключ sk-hydra-ai-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Для получения информации, как задается API-ключ в библиотеке или программе, которые вы используете, обратитесь к их документации.
Пользователи (Users)
Эндпоинты для управления информацией о пользователе и его балансе.
GET /users/profile
Возвращает информацию о профиле пользователя, включая текущий баланс, статистику использования и лимиты.
- Авторизация: Требуется
Параметры запроса
Отсутствуют.
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный ID вашего профиля. |
balance |
number | Текущий баланс в рублях. |
user_type |
string | Тип вашего аккаунта. |
last_used_at |
string | Дата и время последнего использования ключа (UTC). |
total_balance_added |
number | Общая сумма всех пополнений. |
free_requests |
integer | Количество оставшихся бесплатных запросов. |
request_count_last_hour |
number | Количество запросов за последний час. |
total_cost_request_last_hour |
number | Суммарная стоимость запросов за последний час. |
average_rpm |
number | Среднее количество запросов в минуту (RPM) за последний час. |
requests_per_minute |
number | Лимит запросов в минуту (RPM). |
Пример ответа
{
"id": "00000000-0000-0000-0000-000000000000",
"user_type": "Pack",
"last_used_at": "2025-08-11T16:56:33.906409Z",
"balance": 10877.975,
"total_balance_added": 49900,
"free_requests": 800,
"request_count_last_hour": 0,
"total_cost_request_last_hour": 0,
"average_rpm": 0,
"requests_per_minute": 500
}
POST /users/redeem
Активирует код пополнения для зачисления средств на баланс API ключа.
- Авторизация: Требуется
Важно
Попытки подбора кода пополнения приведут к автоматической и перманентной блокировке вашего аккаунта без возможности восстановления.
Параметры запроса (Тело)
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
code |
string | Да | Уникальный код пополнения, полученный в магазине. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный ID вашего профиля. |
balance |
number | Новый баланс в рублях после пополнения. |
add_balance |
number | Сумма, на которую был пополнен баланс. |
add_free_requests |
integer | Количество добавленных бесплатных запросов (если применимо). |
... |
... | Остальные поля аналогичны ответу /v1/users/profile. |
Пример ответа
{
"id": "00000000-0000-0000-0000-000000000000",
"user_type": "Pack",
"last_used_at": "2025-08-11T20:37:38.748390Z",
"balance": 10977.975,
"total_balance_added": 50000,
"free_requests": 900,
"add_balance": 100,
"add_free_requests": 100
}
GET /users/refill_logs
Возвращает пагинированный список истории пополнений баланса для аутентифицированного пользователя.
- Авторизация: Требуется
Параметры запроса (Query)
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
page |
integer | Нет | Номер страницы для пагинации. По умолчанию 1. |
page_size |
integer | Нет | Количество записей на странице. По умолчанию 20, максимум 100. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
total_count |
integer | Общее количество записей о пополнениях. |
total_pages |
integer | Общее количество доступных страниц. |
page |
integer | Номер текущей возвращенной страницы. |
page_size |
integer | Количество записей, запрошенное на одной странице. |
items |
array[object] | Массив объектов, содержащий историю пополнений. |
Структура объекта в массиве items
| Поле | Тип | Описание |
|---|---|---|
created_at |
string | Дата и время пополнения в формате UTC. |
refill_code_redeemed |
string | Код, который был активирован. |
balance_added |
number | Сумма, зачисленная на баланс в рублях. |
free_requests_added |
integer | Количество бесплатных запросов, добавленных при пополнении. |
Пример ответа
{
"total_count": 2,
"total_pages": 1,
"page": 1,
"page_size": 20,
"items": [
{
"created_at": "2025-07-10T14:25:00Z",
"refill_code_redeemed": "hydra-ai-ZZZZZZZZZZZZ-refill-code",
"balance_added": "1000.00",
"free_requests_added": 1000
},
{
"created_at": "2025-06-27T10:30:00Z",
"refill_code_redeemed": "hydra-ai-YYYYYYYYYYYY-refill-code",
"balance_added": "500.00",
"free_requests_added": 500
}
]
}
GET /users/stats
Возвращает агрегированную суточную статистику по использованию API для аутентифицированного пользователя за указанный период.
- Авторизация: Требуется
Примечание
Данные агрегируются за сутки по времени UTC. Максимальный период, за который можно запросить статистику, ограничен последними 30 днями.
Параметры запроса (Query)
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
start_date |
string | Нет | Дата начала периода в формате YYYY-MM-DD. Если не указана, по умолчанию устанавливается дата 30 дней назад. |
end_date |
string | Нет | Дата окончания периода в формате YYYY-MM-DD. Если не указана, по умолчанию используется текущая дата. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
period_start_date |
string | Начальная дата периода, за который предоставлена статистика. |
period_end_date |
string | Конечная дата периода, за который предоставлена статистика. |
total_requests |
integer | Общее количество запросов за весь указанный период. |
total_prompt_tokens |
integer | Общая сумма prompt_tokens за весь период. |
total_completion_tokens |
integer | Общая сумма completion_tokens за весь период. |
total_cost |
number | Общая стоимость всех запросов за период в рублях. |
total_free_requests |
integer | Общее количество бесплатных запросов, использованных за период. |
daily_stats |
array[object] | Массив объектов, содержащий подробную статистику по каждому дню. |
Структура объекта в массиве daily_stats
| Поле | Тип | Описание |
|---|---|---|
stat_date |
string | Дата, за которую предоставлена статистика (YYYY-MM-DD). |
request_count |
integer | Количество запросов за этот день. |
prompt_tokens |
integer | Сумма prompt_tokens за этот день. |
completion_tokens |
integer | Сумма completion_tokens за этот день. |
cost_request |
number | Стоимость запросов за этот день в рублях. |
free_requests |
integer | Количество бесплатных запросов, использованных за этот день. |
Пример ответа
{
"period_start_date": "2025-10-01",
"period_end_date": "2025-10-02",
"total_requests": 1150,
"total_prompt_tokens": 75000,
"total_completion_tokens": 220000,
"total_cost": "145.755",
"total_free_requests": 15,
"daily_stats": [
{
"stat_date": "2023-10-02",
"request_count": 150,
"prompt_tokens": 15000,
"completion_tokens": 70000,
"cost_request": "45.125",
"free_requests": 5
},
{
"stat_date": "2023-10-01",
"request_count": 1000,
"prompt_tokens": 60000,
"completion_tokens": 150000,
"cost_request": "100.630",
"free_requests": 10
}
]
}
GET /users/request_logs
Возвращает пагинированный список истории запросов к AI-моделям для аутентифицированного пользователя.
- Авторизация: Требуется
Важно
В список попадают только те запросы, которые были обработаны и отправлены непосредственно AI-модели (как успешные, так и неуспешные). Запросы, отклоненные из-за ошибок валидации, превышения лимитов или нехватки баланса, в этом логе не отображаются. Максимальный период, за который можно запросить статистику, ограничен последними 72 часами.
Параметры запроса (Query)
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
page |
integer | Нет | Номер страницы для пагинации. По умолчанию 1. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
total_count |
integer | Общее количество логов запросов. |
total_pages |
integer | Общее количество доступных страниц. |
page |
integer | Номер текущей возвращенной страницы. |
page_size |
integer | Количество записей на странице (зафиксировано: 300). |
items |
array[object] | Массив объектов, содержащий логи запросов. |
Структура объекта в массиве items
| Поле | Тип | Описание |
|---|---|---|
created_at |
string | Дата и время запроса в формате UTC. |
success |
boolean | true, если запрос был успешно обработан, иначе false. |
request_id |
string | Уникальный ID запроса. |
details |
string | null | Описание ошибки, если запрос завершился неудачей. null, если запрос успешен. |
user_ip |
string | IP-адрес, с которого был отправлен запрос. |
model_name |
string | ID использованной модели (например, gpt-4.1, glm-4.5). |
prompt_tokens |
integer | Количество токенов, отправленных в модель. |
completion_tokens |
integer | Количество токенов, полученных от модели. |
total_time |
number | Общее время обработки запроса в секундах. |
cost_request |
number | Стоимость запроса в рублях. |
is_free_request |
boolean | true, если для оплаты был использован бесплатный запрос, иначе false. |
Пример ответа
{
"total_count": 2,
"total_pages": 1,
"page": 1,
"page_size": 300,
"items": [
{
"created_at": "2025-08-11T16:56:32.905381Z",
"success": true,
"request_id": "chat-id-4c3265de-5dd8-48cd-8741-0ccf4ce19098",
"details": null,
"user_ip": "127.0.0.1",
"model_name": "gpt-4.1",
"prompt_tokens": 29,
"completion_tokens": 263,
"total_time": 23.392,
"cost_request": 0.081,
"is_free_request": false
},
{
"created_at": "2025-08-11T16:51:54.254152Z",
"success": true,
"request_id": "chat-id-5adf07e9-aa41-4642-af84-230301f0454e",
"details": null,
"user_ip": "127.0.0.1",
"model_name": "glm-4.5",
"prompt_tokens": 26,
"completion_tokens": 16,
"total_time": 8.783,
"cost_request": 0.001,
"is_free_request": false
}
]
}
PUT /users/regenerate_api_key
Создает и возвращает новый API-ключ, который заменяет текущий. Старый ключ после этого деактивируется.
- Авторизация: Требуется
Критически важно
- Не генерируйте ключ без необходимости. После выполнения этого запроса ваш старый API-ключ будет деактивирован. Вам потребуется обновить новый ключ во всех ваших приложениях и скриптах.
- Сохраните новый ключ! Новый API-ключ показывается только один раз в ответе на этот запрос. Если вы не сохраните его, вы потеряете программный доступ к API и восстановить его можно будет только через поддержку в течение 24 часов.
Возможна задержка
Из-за особенностей кэширования, новый ключ может начать работать не мгновенно, как и деактивироваться старый, а в течение нескольких минут.
Параметры запроса (Query)
Нет.
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
new_api_key |
string | Новый сгенерированный API-ключ. |
Структура объекта detail
| Поле | Тип | Описание |
|---|---|---|
error |
string | Код ошибки (например, key_generation_failed). |
message_ru |
string | Описание ошибки на русском языке. |
message_en |
string | Описание ошибки на английском языке. |
Пример ответа
{
"new_api_key": "sk-hydra-ai-a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
}
Модели (Models)
GET /models
Возвращает список всех доступных в API моделей, их характеристики и актуальные цены.
- Авторизация: Не требуется
Параметры запроса (Query)
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
type |
string | Нет | Фильтр по типу модели. Возможные значения: chat, vision, image, embedding. |
Структура ответа (200 OK)
Ответ содержит объект со свойством data, которое является массивом объектов моделей.
Структура объекта модели
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный идентификатор модели, который используется в запросах. |
name |
string | Человекочитаемое название модели. |
description |
string | Краткое описание возможностей модели. |
type |
string | Тип модели (chat, vision, image, embedding). |
context |
integer | Максимальный размер контекстного окна в токенах. |
active |
boolean | true, если модель в данный момент активна и доступна для использования. |
web_search |
boolean | null | true, если модель поддерживает поиск в интернете. false, если не поддерживает. null, если параметр неприменим. |
input_modalities |
array of strings | null | Список модальностей, которые модель принимает на вход (например, ["text", "image"]). |
output_modalities |
array of strings | null | Список модальностей, которые модель может генерировать в ответе (например, ["text", "image"]). |
supported_file_types |
array of strings | null | Список поддерживаемых расширений файлов для загрузки (например, ["jpg", "png", "pdf"]). |
max_image_count |
integer | null | Максимальное количество изображений, которое можно запросить за один раз (параметр n). Актуально для моделей типа image. |
max_file_count |
integer | null | Максимальное количество файлов, которые можно передать в одном запросе. Актуально для мультимодальных моделей. |
architecture |
string | null | Архитектура модели (например, MoE - Mixture of Experts). |
quantization |
string | null | Тип квантизации, используемый в модели (например, fp16, int8). |
pricing |
object | Объект с информацией о стоимости использования модели. |
owned_by |
string | Владелец или провайдер модели. |
Генерация контента (Creation)
Эндпоинты для генерации текста, изображений и векторов.
POST /chat/completions
Основной эндпоинт для генерации текста, поддерживающий мультимодальные запросы (текст + изображения) и вызов инструментов (function calling).
- Авторизация: Требуется
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
model |
string | Да | - | ID модели для генерации (например, gpt-4o-mini). |
messages |
array | Да | - | Массив объектов сообщений, формирующих диалог. См. структуру ниже. |
max_tokens |
integer | Нет | 0 |
Максимальное количество токенов в ответе. 0 означает без ограничений. |
temperature |
number | Нет | 0.7 |
"Креативность" ответа (от 0.0 до 2.0). |
stream |
boolean | Нет | false |
true для получения ответа в виде потока (server-sent events). |
tools |
array | Нет | - | Список инструментов (функций), которые модель может вызвать. Универсальная поддержка инструментов (Function Calling). |
top_p |
number | Нет | - | Ядерная выборка. Модель рассматривает токены с суммарной вероятностью top_p. |
top_k |
integer | Нет | - | Модель выбирает из k наиболее вероятных следующих токенов. |
frequency_penalty |
number | Нет | - | Штраф за частоту токенов (от -2.0 до 2.0). |
presence_penalty |
number | Нет | - | Штраф за наличие токенов в тексте (от -2.0 до 2.0). |
web_search |
boolean | Нет | - | true, если нужно выполнить поиск в интернете. |
Структура объекта messages
Каждый объект в массиве messages представляет одно сообщение в диалоге.
| Поле | Тип | Описание |
|---|---|---|
role |
string | Роль автора сообщения. Возможные значения: user, assistant, system, tool. |
content |
string / array | Содержимое сообщения. Может быть простой строкой или массивом для мультимодальных запросов. |
tool_calls |
array | (Только для role: assistant) Список вызовов инструментов, которые сделала модель. |
tool_call_id |
string | (Только для role: tool) ID вызова инструмента, на который отвечает это сообщение. |
Мультимодальный content
Для отправки изображений вместе с текстом (для vision моделей), поле content должно быть массивом объектов:
"content": [
{
"type": "text",
"text": "Что изображено на этой картинке?"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg"
}
}
]
url в image_url поддерживает как URL-адреса (https://...), так и Data URI в формате base64 (data:image/jpeg;base64,...).
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный идентификатор чат-сессии. |
object |
string | Тип объекта, обычно chat.completion. |
created |
integer | Unix-время создания ответа. |
model |
string | Модель, которая обработала запрос. |
choices |
array | Массив с вариантами ответов. Обычно содержит один элемент. |
usage |
object | Объект с информацией о токене и стоимости. |
Структура объекта choices
| Поле | Тип | Описание |
|---|---|---|
message |
object | Объект сообщения от ассистента. Содержит поля role и content. |
finish_reason |
string | Причина завершения генерации. Возможные значения: stop (естественное завершение), length (достигнут лимит max_tokens), tool_calls (модель вызвала инструмент). |
index |
integer | Индекс варианта ответа в массиве choices. |
Структура объекта usage
| Поле | Тип | Описание |
|---|---|---|
prompt_tokens |
integer | Количество токенов в вашем запросе (messages). |
prompt_tokens_details |
PromptTokensDetails | None | Детализация токенов в запросе. |
completion_tokens |
integer | Количество токенов в сгенерированном ответе. |
completion_tokens_details |
CompletionTokensDetails | None | Детализация токенов в ответе. |
total_tokens |
integer | Суммарное количество токенов. |
total_time |
float | Общее время генерации в секундах. |
cost_request |
number | Итоговая стоимость запроса в рублях. |
free_request |
bool | None | Был запрос бесплатным или нет. |
Пример запроса
{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "Ты — полезный ассистент."
},
{
"role": "user",
"content": "Что такое API?"
}
],
"temperature": 0.5
}
Пример ответа
{
"id": "chat-id-...",
"object": "chat.completion",
"created": 1716900000,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API (Application Programming Interface) — это программный интерфейс приложения..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 50,
"total_tokens": 70,
"cost_request": 0.005,
"total_time": 1.23,
"free_request": false
}
}
POST /images/generations
Эндпоинт для генерации изображений по текстовому описанию.
- Авторизация: Требуется
Время жизни URL
Сгенерированные изображения, передаваемые в формате url, доступны по ссылке только 24 часа, после чего удаляются с сервера.
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
model |
string | Да | - | ID модели для генерации (например, flux.1-schnell). |
prompt |
string | Да | - | Текстовое описание желаемого изображения (минимум 3 символа). |
negative_prompt |
string | Нет | - | Описание того, чего не должно быть на изображении. |
n |
integer | Нет | 1 |
Количество генерируемых изображений (от 1 до 4). |
response_format |
string | Нет | b64_json |
Формат ответа: url (ссылка на изображение) или b64_json (строка base64). |
size |
string | Нет | 1024x1024 |
Размер изображения (например, 1024x1024). Зависит от модели. |
style |
string | Нет | - | Стиль генерируемого изображения (например, cinematic, anime). Зависит от модели. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный идентификатор запроса. |
created |
integer | Unix-время создания ответа. |
data |
array | Массив с результатами генерации. |
usage |
object | Объект с информацией о стоимости и времени выполнения. |
Структура объекта data
| Поле | Тип | Описание |
|---|---|---|
b64_json |
string / null | Сгенерированное изображение в формате base64 (если response_format="b64_json"). |
url |
string / null | Ссылка на сгенерированное изображение (если response_format="url"). |
revised_prompt |
string / null | Промпт, который был изменен моделью для улучшения качества (если применимо). |
Пример запроса
{
"model": "flux.1-schnell",
"prompt": "Фото большого и пушистого кота в высоком качестве, RAW фото",
"n": 1,
"size": "1024x1024",
"response_format": "url"
}
Пример ответа
{
"id": "genimg-id-...",
"created": 1716900100,
"data": [
{
"revised_prompt": "A high-quality RAW photo of a large, fluffy cat.",
"url": "https://s2.hydraai.ru/..."
}
],
"usage": {
"total_time": 5.43,
"cost_request": 0.5,
"free_request": false
}
}
POST /embeddings
Эндпоинт для создания числовых представлений (векторов или эмбеддингов) для текста.
- Авторизация: Требуется
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
model |
string | Да | - | ID модели для создания эмбеддингов (например, text-embedding-ada). |
input |
string / array | Да | - | Текст или массив текстов для векторизации. Макс. 2048 элементов в массиве. |
dimensions |
integer | Нет | - | Желаемое количество измерений для векторов (поддерживается только в text-embedding-3-*). |
encoding_format |
string | Нет | float |
Формат возвращаемых векторов: float (массив чисел) или base64 (строка). |
user |
string | Нет | - | Уникальный идентификатор вашего конечного пользователя для отслеживания злоупотреблений. |
Структура ответа (200 OK)
| Поле | Тип | Описание |
|---|---|---|
id |
string | Уникальный идентификатор запроса. |
object |
string | Тип объекта, всегда list. |
created |
integer | Unix-время создания ответа. |
data |
array | Массив с результатами векторизации. |
model |
string | Модель, которая обработала запрос. |
usage |
object | Объект с информацией о токене и стоимости. |
Структура объекта data
| Поле | Тип | Описание |
|---|---|---|
object |
string | Тип объекта, всегда embedding. |
embedding |
array / string | Вектор эмбеддинга в виде массива чисел или строки base64. |
index |
integer | Индекс этого эмбеддинга в исходном массиве input. |
Пример запроса
{
"input": [
"HydraAI API — это мощно",
"Векторизация текста"
],
"model": "text-embedding-3-small",
"dimensions": 512
}
Пример ответа
{
"id": "embd-id-...",
"created": 1716900200,
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [ 0.001, -0.023, /* ... 512 more floats */ ],
"index": 0
},
{
"object": "embedding",
"embedding": [ -0.015, 0.008, /* ... 512 more floats */ ],
"index": 1
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 12,
"total_tokens": 12,
"total_time": 0.12,
"cost_request": 0.0001,
"free_request": false
}
}
Инструменты (Tools)
Наш API предоставляет мощный набор инструментов для работы с веб-контентом: поиск информации, новостей, изображений и прямое извлечение контента со страниц.
POST /search
Позволяет выполнять поиск в различных системах с опциональным извлечением полного контента найденных страниц и его очисткой.
- Авторизация: Требуется
Расчет стоимости
Стоимость запроса = 0.02 ₽ (за сам поиск) + (количество успешно обработанных crawl_results * 0.02 ₽).
- Пример 1: Запрос с
crawl_results=0. Стоимость = 0.02 ₽. - Пример 2: Запрос с
max_results=5иcrawl_results=2. Если контент успешно извлечен с 2 страниц, стоимость составит0.02 ₽ + (2 * 0.02 ₽) =0.06 ₽.
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
query |
string | Да | - | Ваш поисковый запрос (длина от 3 до 250 символов). |
search_service |
string | Нет | google |
Поисковая система. Доступные значения: google, bing, duckduckgo. |
max_results |
integer | Нет | 5 |
Количество результатов для возврата (от 1 до 10). |
crawl_results |
integer | Нет | 0 |
Количество результатов, с которых нужно извлечь полный контент (от 0 до 10). |
language |
string | Нет | - | Предпочтительный язык (например, ru, en). |
time_range |
string | Нет | - | Временной диапазон. Доступные значения: day, month, year. |
content_clearing |
boolean | Нет | true |
Очищать ли контент извлеченных страниц (при crawl_results > 0). |
Пример запроса
{
"query": "Что такое API?",
"search_service": "google",
"language": "ru",
"max_results": 3,
"crawl_results": 1,
"content_clearing": true
}
Структура ответа
Возвращает список найденных результатов. Каждый результат содержит title, link, snippet. Для страниц, где crawl_results был применен успешно, также будет поле content. В конце ответа находится объект usage с информацией о стоимости.
POST /search/news
Специализированный поиск по новостным источникам.
- Авторизация: Требуется
Расчет стоимости
Стоимость запроса = 0.02 ₽ (за поиск новостей) + (количество успешно обработанных crawl_results * 0.02 ₽).
- Пример: Запрос с
max_results=3иcrawl_results=1. Если контент успешно извлечен с 1 страницы, стоимость составит0.02 ₽ + (1 * 0.02 ₽) =0.04 ₽.
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
query |
string | Да | - | Запрос для поиска новостей (длина от 3 до 250 символов). |
search_service |
string | Нет | google |
Новостной сервис. Доступные значения: google, bing, duckduckgo. |
max_results |
integer | Нет | 5 |
Количество новостей для возврата (от 1 до 10). |
crawl_results |
integer | Нет | 0 |
Количество новостей, с которых нужно извлечь полный контент (от 0 до 10). |
language |
string | Нет | - | Предпочтительный язык новостей (например, ru, en). |
time_range |
string | Нет | - | Временной диапазон. Доступные значения: day, month, year. |
content_clearing |
boolean | Нет | true |
Очищать ли контент извлеченных новостей. |
Пример запроса
{
"query": "Технологические стартапы 2025",
"search_service": "google",
"max_results": 3,
"crawl_results": 1,
"language": "ru",
"time_range": "month"
}
Структура ответа
Возвращает список найденных новостей (аналогично обычному поиску) и информацию об использовании.
POST /search/images
Позволяет находить изображения по ключевым словам с различными фильтрами.
- Авторизация: Требуется
Расчет стоимости
Стоимость фиксирована и составляет 0.02 ₽ за каждый запрос, независимо от количества найденных изображений.
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
keywords |
string | Да | - | Ключевые слова для поиска (длина от 3 до 250 символов). |
safesearch |
string | Нет | moderate |
Уровень безопасного поиска. Возможные значения: on, moderate, off. |
max_results |
integer | Нет | 10 |
Максимальное количество результатов (от 1 до 100). |
timelimit |
string | Нет | - | Время публикации. Возможные значения: Day, Week, Month, Year. |
size |
string | Нет | - | Размер. Возможные значения: Small, Medium, Large, Wallpaper. |
color |
string | Нет | - | Цвет. Возможные значения: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White. |
type_image |
string | Нет | - | Тип. Возможные значения: photo, clipart, gif, transparent, line. |
layout |
string | Нет | - | Компоновка. Возможные значения: Square, Tall, Wide. |
Пример запроса
{
"keywords": "ночной город огни",
"safesearch": "moderate",
"max_results": 5,
"size": "Large",
"color": "Blue"
}
Структура ответа
Возвращает список найденных изображений. Каждый объект содержит title, image (URL на полное изображение), thumbnail (URL на превью), url (URL страницы-источника), height, width, source.
POST /crawl
Получает и (опционально) очищает основной контент веб-страницы по её URL.
- Авторизация: Требуется
Расчет стоимости
Стоимость фиксирована и составляет 0.02 ₽ за каждый успешный запрос на извлечение контента.
Параметры запроса (Тело)
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
url |
string | Да | - | URL-адрес страницы, с которой нужно получить контент. |
content_clearing |
boolean | Нет | true |
Очищать ли контент (удалять разметку, лишние переносы и т.д.). |
Пример запроса
{
"url": "https://example.com/some-article-to-read",
"content_clearing": true
}
Структура ответа
Возвращает объект results с извлеченным контентом (title, link, content) и объект usage со стоимостью. В случае ошибки извлечения поле results может быть null.