Dokumentacja API

Generator llms.txt udostępnia dwa publiczne endpointy JSON. POST /api/scan jest chroniony przez Turnstile (wyzwanie Cloudflare) na publicznym formularzu lub darmowym, samodzielnie zakładanym kluczem API dla bezpośrednich wywołań. Nie jest wymagana rejestracja, aby używać formularza; możesz zarejestrować się na darmowy klucz API, aby uzyskać wyższe limity.

Endpointy

POST /api/scan

Uruchamia skan całego serwisu lub pobiera wynik z cache'u dla domeny.

Przesyła domenę do skanowania całego serwisu. Zwraca 200, jeśli świeży wynik jest w cache'u (do 7 dni), lub 202, jeśli skan uruchamia się w tle — skany mogą trwać chwilę (do 200 podstron), więc odpytuj GET /api/report/:domain.json po wynik. Wymaga prawidłowego tokena Turnstile (z formularza), darmowego klucza API lub wewnętrznego tokena uwierzytelniającego.

POST /api/scan — treść żądania

{
  "domain": "example.com",
  "turnstileToken": "...",  // if from web form
  "forceRescan": false        // optional
}

Odpowiedzi

StatusZnaczenie
200Trafienie cache'u — wynik jest już świeży (do 7 dni). Treść zawiera pełny rekord skanowania.
202Skan uruchomiony w tle — odpytuj GET /api/report/:domain.json aż status zostanie ustawiony.
400Zła lub nierozpoznawalna domena.
429Limit szybkości przekroczony. Czekaj retryAfterSeconds przed ponowną próbą.

Przykład curl

curl -X POST https://llmstxt.unomage.pl/api/scan \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"domain":"example.com"}'

Zastąp YOUR_TOKEN swoim darmowym kluczem API (zaczyna się od ultk_) z konta, lub pomiń nagłówek Authorization i dołącz prawidłowy turnstileToken, jeśli wywołujesz z kontekstu przeglądarki.

GET /api/report/:domain.json

Pobiera pełny wynik dla domeny.

Zwraca kompletny rekord skanowania dla domeny, w tym llmsTxt, llmsFullTxt oraz diff względem istniejącego pliku. Jeśli domena nigdy nie była skanowana, zwraca 404.

curl https://llmstxt.unomage.pl/api/report/example.com.json

Limity szybkości

Wyniki z cache'u (do 7 dni na domenę) są zwracane natychmiast i nie liczą się do żadnego limitu.

Uwierzytelnianie

Trzy metody uwierzytelnienia żądania do POST /api/scan: (1) token Turnstile z formularza (tylko przeglądarka), (2) darmowy, samodzielnie założony klucz API (Bearer ultk_...), (3) wewnętrzny token uwierzytelniający. GET /api/report/:domain.json nie wymaga uwierzytelniania.

Darmowy klucz API (samodzielny)

Nie masz klucza API? Załóż darmowe konto pod adresem /account/signup aby wygenerować swój z wyższym limitem.

Authorization: Bearer ultk_your_key_here