Link Indexing Bot API
Данное API позволяет отправлять ссылки на индексацию программно без взаимодействия с телеграм-ботом.
Для использования API вам потребуется создать API-ключ. Начните чат с ботом https://t.me/Link_Indexing_bot и введите команду /apikey для создания или обновления ключа. Не забудьте пополнить счет - при отправке ссылок на индексацию расходуются лимиты.
При отправке POST тело запроса может быть в JSON, FormData, URLEncodedForm. Если вы получаете ошибку об отсутствии API_KEY хотя он есть в теле, значит тело отправляется неверно и не может быть прочитано сервером.
Отправка на индексацию (Создать задачу)
Для создания задачи совершите POST запрос на URL:
https://link-indexing-bot.ru/api/tasks/new
Тело запроса
| Поле | Обязательный? | Описание |
|---|---|---|
| api_key | да | Ваш ключ для доступа к API |
| user_id | да | ID пользователя в телеграме (можно узнать командой /help в боте) |
| links | да | Список ссылок для индексации, каждая в новой строке (\n), макс. длина ссылки 2000 символов. |
| searchengine | да | Поисковая система: google, yandex или bing |
| se_type | да | Способ индексации: normal или hard |
| priority | нет | true или false (по умолчанию false). Приоритетный режим только для Yandex. Задачи обрабатываются в первую очередь. Цена x2. Лимит ссылок: normal - 4999, hard - 1000. При priority=true параметр searchengine игнорируется (автоматически yandex). |
Примеры запросов:
curl -X POST https://link-indexing-bot.ru/api/tasks/new \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"user_id": "666666666",
"links": "https://example.com\nhttps://example2.com",
"searchengine": "yandex",
"se_type": "normal"
}'
fetch('https://link-indexing-bot.ru/api/tasks/new', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
api_key: 'your_api_key',
user_id: '666666666',
links: 'https://example.com\nhttps://example2.com',
searchengine: 'yandex',
se_type: 'normal'
})
})
.then(response => response.json())
.then(data => console.log(data));
import requests
response = requests.post(
'https://link-indexing-bot.ru/api/tasks/new',
json={
'api_key': 'your_api_key',
'user_id': '666666666',
'links': 'https://example.com\nhttps://example2.com',
'searchengine': 'yandex',
'se_type': 'normal'
}
)
print(response.json())
$ch = curl_init('https://link-indexing-bot.ru/api/tasks/new');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'api_key' => 'your_api_key',
'user_id' => '666666666',
'links' => "https://example.com\nhttps://example2.com",
'searchengine' => 'yandex',
'se_type' => 'normal'
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Пример ответа сервера:
{
"status": 201,
"msg": "Задача успешно создана",
"data": {
"limits_used": 1,
"task_id": "32451",
"links_count": 2,
"not_valid_count": 0,
"not_valid_links": []
}
}
Пример приоритетного запроса (Yandex Priority):
curl -X POST https://link-indexing-bot.ru/api/tasks/new \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"user_id": "666666666",
"links": "https://example.com\nhttps://example2.com",
"searchengine": "yandex",
"se_type": "normal",
"priority": true
}'
fetch('https://link-indexing-bot.ru/api/tasks/new', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
api_key: 'your_api_key',
user_id: '666666666',
links: 'https://example.com\nhttps://example2.com',
searchengine: 'yandex',
se_type: 'normal',
priority: true
})
})
.then(response => response.json())
.then(data => console.log(data));
import requests
response = requests.post(
'https://link-indexing-bot.ru/api/tasks/new',
json={
'api_key': 'your_api_key',
'user_id': '666666666',
'links': 'https://example.com\nhttps://example2.com',
'searchengine': 'yandex',
'se_type': 'normal',
'priority': True
}
)
print(response.json())
$ch = curl_init('https://link-indexing-bot.ru/api/tasks/new');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'api_key' => 'your_api_key',
'user_id' => '666666666',
'links' => "https://example.com\nhttps://example2.com",
'searchengine' => 'yandex',
'se_type' => 'normal',
'priority' => true
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Пример ответа сервера:
{
"status": 201,
"msg": "Задача успешно создана",
"data": {
"limits_used": 2,
"task_id": "32452",
"links_count": 2,
"not_valid_count": 0,
"not_valid_links": []
}
}
Примечание: limits_used удвоен из-за приоритетного режима (x2). Базовая цена Yandex Normal = 0.5, с x2 = 1 лимит за ссылку.
Информация о задаче
Для просмотра статуса задачи совершите GET запрос на URL:
https://link-indexing-bot.ru/api/tasks/{id}
Вместо {id} укажите номер задачи, полученный при ее создании через /tasks/new
Тело запроса
| Поле | Обязательный? | Описание |
|---|---|---|
| api_key | да | Ваш ключ для доступа к API |
| user_id | да | ID пользователя в телеграме (можно узнать командой /help в боте) |
Пример ответа
{
"status": 200,
"msg": "",
"data": {
"id": "1074557",
"added": "2025-10-22 08:31:05",
"price": "1",
"user_id": "redacted",
"status": "complete",
"searchengine": "Yandex",
"se_type": "Normal",
"links_count": "1",
"notify_email": "0"
}
}
Возможные статусы
HTTP статус:
- 404 - Не найдена
- 403 - Неверные апи ключ или юзер айди
- 200 - Успех
Возможные data.status значения:
- complete
- active
- failed
Остаток на балансе
Для просмотра информации о юзере и остатке лимитов совершите GET запрос на URL:
https://link-indexing-bot.ru/api/users/{id}
Вместо {id} укажите ID пользователя в телеграме (можно узнать командой /help в боте)
Параметры запроса
| Поле | Обязательный? | Описание |
|---|---|---|
| api_key | да | Ваш ключ для доступа к API |
Примеры запросов:
curl "https://link-indexing-bot.ru/api/users/666666666?api_key=your_api_key"
fetch('https://link-indexing-bot.ru/api/users/666666666?api_key=your_api_key')
.then(response => response.json())
.then(data => console.log(data));
import requests
response = requests.get(
'https://link-indexing-bot.ru/api/users/666666666',
params={'api_key': 'your_api_key'}
)
print(response.json())
$user_id = '666666666';
$api_key = 'your_api_key';
$url = "https://link-indexing-bot.ru/api/users/{$user_id}?api_key={$api_key}";
$response = file_get_contents($url);
echo $response;
Пример ответа сервера:
{
"status": 200,
"msg": "",
"data": {
"user_id": "666666666",
"balance": "1250.50",
"balance_ref": "45.00"
}
}
Ошибки
При неправильно сформированном запросе сервер может ответить одной из ошибок:
| Код ошибки | Описание |
|---|---|
| 400 | Ошибка при создании задачи. Скорей всего неправильно оформленный запрос. |
| 403 |
Неверный или отсутствующий ключ API.
|
| 404 | Не найдена информация удовлетворяющая запросу (задача с таким ID не существует). |
| 503 | Скорей всего возникла ошибка на стороне сервера при отправке ссылок на индексацию. |
Пример ошибки
URL:
https://link-indexing-bot.ru/api/tasks/new
Тело запроса в JSON формате:
{
"api_key":"fef34frgad2f4th56heg4fsdfa3f4gthyf3wf3trfgs",
"user_id":"666666666",
"links":"https://google.com\nhttps://bing.com",
"se_type":"normal"
}
Ответ сервера:
{
"status":400,
"msg":"Task wasn't created: Invalid data provided",
"data":[]
}
В этом примере отсутствует обязательный параметр searchengine.