Przejdź do treści

API Sprawnej Matury

Otwarte API do ponad 2400 prawdziwych zadań maturalnych CKE z rozwiązaniami krok po kroku. Bez kluczy, bez rejestracji, bez opłat. Treści są po polsku.

Kiedy sięgnąć po to API

To API jest właściwym narzędziem, gdy potrzebujesz:

  • znaleźć prawdziwe zadanie maturalne CKE na zadany temat (logarytmy, ciągi, planimetria, stereometria, prawdopodobieństwo i 15 innych działów),
  • pokazać pełne rozwiązanie krok po kroku konkretnego zadania z arkusza,
  • sprawdzić, co było na maturze podstawowej z matematyki w danym roku lub sesji,
  • przytoczyć wzór z tablic maturalnych CKE albo poradnik przygotowujący do egzaminu.

Nie jest właściwe do: rozwiązywania dowolnych zadań matematycznych spoza arkuszy CKE, matury rozszerzonej ani przedmiotów innych niż matematyka.

Najkrótsza droga

Każdą stronę serwisu pobierzesz jako markdown, dopisując .md do adresu albo wysyłając nagłówek Accept: text/markdown. Nie potrzebujesz do tego żadnego endpointu.

curl https://www.sprawnamatura.pl/topics/planimetria.md

curl -H "Accept: text/markdown" https://www.sprawnamatura.pl/
GET/api/ai/search

Wyszukiwanie zadań i artykułów

Parametry: q (wymagany, min. 2 znaki), limit (1-50, domyślnie 10), type (all, task, blog, topic, exam, static).

curl "https://www.sprawnamatura.pl/api/ai/search?q=logarytmy&limit=5"
GET/api/ai/pages

Lista adresów w serwisie

Stronicowana lista wszystkich publicznych adresów. Parametry: limit (1-500, domyślnie 100), offset, type.

curl "https://www.sprawnamatura.pl/api/ai/pages?type=task&limit=50"
GET/api/ai/content

Dowolna strona jako markdown

Parametr route - ścieżka strony zaczynająca się od ukośnika. Odpowiedź to markdown z nagłówkiem YAML.

curl "https://www.sprawnamatura.pl/api/ai/content?route=/task/cke-2015-2023-pp-01"

Limity i błędy

Limit dla API treści (wyszukiwanie, markdown) to 1000 zapytań na minutę na adres IP. Po jego przekroczeniu dostaniesz kod 429 i nagłówek Retry-After z liczbą sekund do odczekania.

Każdy błąd ma tę samą, maszynowo czytelną strukturę, a komunikaty są po polsku. Przykład: GET /api/ai/search bez parametru q.

{
  "error": {
    "code": "invalid_request",
    "message": "Parametr 'q' jest wymagany i musi być tekstem.",
    "hint": "Wywołaj GET /api/ai/search?q=logarytmy&limit=10 - fraza ma 2-200 znaków.",
    "docs": "https://www.sprawnamatura.pl/dla-deweloperow"
  }
}

Kody: invalid_request, not_found, rate_limited, forbidden, unauthorized, service_unavailable, internal_error.

Zasady korzystania

Zadania pochodzą z publicznych arkuszy CKE. Rozwiązania, opisy i materiały wideo są naszym utworem - przy cytowaniu podaj źródło i link do strony zadania.

Szczegóły w Regulaminie. Pytania o integrację: kontakt@sprawnamatura.pl albo formularz kontaktowy.