IndexBooster API Документація

Публічний API дозволяє по запиту додавати URL-адреси для індексації сторінок, створювати проекти, отримувати список проектів/URL та перевіряти баланс кредитів.

Базова URL-адреса: https://app.indexbooster.net/api
Авторизація: кожен запит повинен містити заголовок X-API-Key з вашим API-ключем.


Авторизація

Згенеруйте свій API-ключ у кабінеті користувача: ВхідAPI IndexBooster. Потім додайте цей заголовок у запити:

X-API-Key: YOUR_API_KEY

Порада: якщо викликати POST /v1/submit-url без вказання назви проекту, буде автоматично створений проект з ім'ям API


Швидкий старт

cURL — додати URL до стандартного проекту API
curl -X POST "https://app.indexbooster.net/api/v1/submit-url" \
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/", "https://example.com/page-1"]
  }'
cURL — створити проект і додати URL
curl -X POST "https://app.indexbooster.net/api/v1/projects/create" \
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "name": "My API Project",
    "description": "Created via API",
    "urls": ["https://example.com/","https://example.com/page-1"]
  }'
cURL — додати URL до існуючого проекту з id=123
curl -X POST "https://app.indexbooster.net/api/v1/projects/123/submit-url" \
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/new-page"]
  }'
cURL — перевірити залишок балансу кредитів
curl -X GET "https://app.indexbooster.net/api/v1/credits" 
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json"
Python (requests)
import requests

API_BASE = "https://app.indexbooster.net/api"
API_KEY = "YOUR_API_KEY"
headers = {"X-API-Key": API_KEY, "Content-Type": "application/json"}

# Додати URL до стандартного проекту API
r = requests.post(f"{API_BASE}/v1/submit-url", json={
  "urls": ["https://example.com/", "https://example.com/page-1"]
}, headers=headers)
print("submit default:", r.status_code, r.json())

# Створити проект і додати URL
r = requests.post(f"{API_BASE}/v1/projects/create", json={
  "name": "My API Project",
  "description": "Created from script",
  "urls": ["https://example.com/a","https://example.com/b"]
}, headers=headers)
print("create project:", r.status_code, r.json())

# Додати URL до існуючого проекту з id=123
r = requests.post(f"{API_BASE}/v1/projects/123/submit-url", json={"urls": ["https://example.com/new"]}, headers=headers)
print("add to project:", r.status_code, r.json())

# Перевірити залишок балансу кредитів
r = requests.get(f"{API_BASE}/v1/credits", headers=headers)
print("credits:", r.status_code, r.json())
Node.js (fetch)
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));

const API_BASE = "https://app.indexbooster.net/api";
const API_KEY = "YOUR_API_KEY";
const headers = { "X-API-Key": API_KEY, "Content-Type": "application/json" };

(async () => {
  // Стандартний API проект
  let res = await fetch(API_BASE + "/v1/submit-url", {
    method: "POST", headers, body: JSON.stringify({ urls: ["https://example.com/"] })
  });
  console.log("submit default:", await res.json());

  // Створити новий проект
  res = await fetch(API_BASE + "/v1/projects/create", {
    method: "POST", headers, body: JSON.stringify({
      name: "My API Project",
      description: "Created via Node",
      urls: ["https://example.com/x","https://example.com/y"]
    })
  });
  console.log("create project:", await res.json());
})();

Ендпоінти

Метод Шлях Опис Примітки
POST /v1/submit-url Додає URL до вашого стандартного проекту API (створюється автоматично при першому використанні). До 2000 URL за запит; 1 кредит за кожен новий URL; URL у статусі “Request in progress” пропускаються.
POST /v1/projects/create Створює іменований проект і одразу додає URL. Назва проекту унікальна для кожного користувача.
POST /v1/projects/<project_id>/submit-url Додає URL до існуючого проекту. Ті ж правила, що й для /v1/submit-url.
GET /v1/projects Повертає список ваших проектів. Поля: id, name, description, created_at, updated_at (ISO).
GET /v1/projects/<project_id>/urls Повертає список URL проекту зі статусом індексації. Поля: indexable, indexing_status, snippet_info.
GET /v1/credits Повертає залишок кредитів. JSON: { "credits": number }.

Правила та відповіді

  • Список URL: до 2000 URL за запит; повинні починатися з http:// або https://; кореневі URL нормалізуються з кінцевим слешем (https://site.com/).
  • Кредити: 1 кредит списується за кожен новий URL. URL у статусі “Request in progress” повторно не списуються.
  • Успішна відповідь (200): містить лічильники (submitted, deducted_credits) та список записів із id, url. Для /v1/submit-url також повертається project_id.
  • Стандартний проект API: виклик /v1/submit-url використовує ваш особистий проект API (створюється автоматично).

Коди помилок

КодПричинаДія
400Невірні даніПеревірте JSON, формат URL та ліміти.
403Невірний/вимкнений ключ або недостатньо кредитівПеревірте X-API-Key, активуйте API, поповніть кредити.
404Проект не знайденоПереконайтеся, що project_id належить вам.
429Перевищено лімітЗменште частоту; зачекайте на відновлення.

Ліміти запитів

100 запитів на хвилину на один API-ключ. При перевищенні повертається 429 Too Many Requests.

Поширенні запитання по API IndexBooster

Як отримати API-ключ?

Увійдіть в IndexBooster → перейдіть у розділ API. Увімкніть доступ і згенеруйте ключ. За потреби ви можете його перегенерувати.

Що таке “Стандартний API-проект”?

Це ваш особистий проект із назвою API, який створюється автоматично під час першого виклику POST /v1/submit-url і використовується за замовчуванням для наступних викликів цього ендпоінта.

Скільки URL я можу надіслати за один раз?

До 2000 URL за один запит. Якщо ліміт перевищено, сервер повертає помилку 400.

Як уникнути повторного списання кредитів за дублікати?

Ми автоматично пропускаємо URL, які вже мають статус “Request in progress” — кредити повторно за них не списуються.