Dokumentacja API
Generator znaczników schema udostępnia dwa publiczne endpointy JSON. Oba są chronione 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 lub pobiera wynik z cache'u dla adresu URL.
Przesyła adres URL do analizy. Zwraca 200, jeśli świeży wynik jest w cache'u (do 24 godzin), lub 202, jeśli skan się uruchamia w tle. Wymaga prawidłowego tokena Turnstile (z formularza), darmowego klucza API lub wewnętrznego tokena uwierzytelniającego.
POST /api/scan — treść żądania
{
"url": "https://example.com",
"turnstileToken": "...", // if from web form
"forceRescan": false // optional
}
Odpowiedzi
| Status | Znaczenie |
|---|---|
200 |
Trafienie cache'u — wynik jest już świeży (do 24 h). Treść zawiera kompletny ScanRecord. |
202 |
Skan uruchomiony w tle — odpytuj GET /api/report/:domain.json aż zwróci 200. |
400 |
Zły lub nierozpoznawalny adres URL. |
429 |
Limit szybkości przekroczony. Czekaj retryAfterSeconds przed ponowną próbą. |
Przykład curl
curl -X POST https://schema.unomage.pl/api/scan \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"url":"https://example.com"}'
Zastąp YOUR_TOKEN swoim darmowym kluczem API (zaczyna się od usk_) z konta, lub pomiń nagłówek Authorization i dołącz prawidłowy turnstileToken, jeśli wywołujesz z kontekstu przeglądarki. Pomiń całkowicie oba pola tokena, aby używać anonimowych limitów (chronione Turnstile).
GET /api/report/:domain.json
Pobiera pełny raport dla domeny.
Zwraca kompletny rekord skanowania dla domeny. Jeśli domena nigdy nie była skanowana, zwraca 404. Wyniki z cache'u (do 24 godzin) nie liczą się do limitów.
Odpowiedzi
curl https://schema.unomage.pl/api/report/example.com.json
| Status | Znaczenie |
|---|---|
200 |
Full ScanRecord returned |
404 |
Domain never scanned |
Limity szybkości
- 8 nowych skanów na adres IP na godzinę (anonimowo / Turnstile)
- 3 nowe skany na domenę docelową na godzinę
- 60 nowych skanów na godzinę na jeden darmowy klucz API
Wyniki z cache'u (do 24 godzin) 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 usk_...), (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 usk_your_key_here
Dla agentów AI używających MCP pomiń całe uwierzytelnianie i zamiast tego wywołaj POST /mcp (nie wymaga tokena).