
API trivia dla nauczycieli
Fiszki, scenariusze lekcji, eksport do Anki/Quizlet na materiały dla klasy.
TL;DR
- Gotowe do użycia w klasie quizy i fiszki z darmowej bazy pytań - ponad milion pytań po angielsku i polsku.
- Ścieżki no-code nie wymagają kodowania: pobierz CSV dla Quizlet, wygeneruj talie fiszek Anki, zaimportuj do Google Forms.
- Dla nauczycieli obeznanych z technologią: pojedynczy plik HTML, który otworzysz w dowolnej przeglądarce, wkleisz do swojego Wordpressa albo wrzucisz do Moodle / Canvas jako aktywność quizową.
- Darmowy dla nauczycieli i małych klas - 500 pytań/dzień, bez karty kredytowej, bez odliczania trialu. Licencja z atrybucją (CC BY-SA 4.0), użycie komercyjne dozwolone, w tym płatne kursy.
Po co to powstało
Uczysz w klasie, prowadzisz bootcamp, budujesz edtech albo uczysz dzieci w domu. Potrzebujesz pytań quizowych - na rozgrzewki, exit ticket, fiszki, ćwiczenia językowe, rodzinny wieczór gier, powtórki przed kolokwium. Nie chcesz pisać pięćdziesięciu dobrych pytań ręcznie w noc przed lekcją i nie chcesz polegać na ChatGPT przy kluczu odpowiedzi (wiesz, jak to się kończy, gdy uczeń wyłapie błędny fakt).
Dzisiejsze opcje są kiepskie. Pisanie pytań ręcznie zajmuje godziny i szybko wypala. ChatGPT czy Claude halucynuje z pełnym przekonaniem - dobre na inspirację, niebezpieczne, gdy dziecko zrobi zrzut ekranu z błędną odpowiedzią. Wykupienie Kahoot pro / Quizizz pro to realne pieniądze za coś, co powinno być darmowym zasobem. Pakiety pytań w Kahoot bywają płytkie i dostępne tylko po angielsku. Książkowe kompendia nie da się przeszukiwać ani filtrować po temacie.
QuizBase to darmowa baza pytań zaprojektowana dla nauczycieli i deweloperów - ponad milion wyselekcjonowanych pytań po angielsku i polsku, z atrybucją źródła per pytanie, dzięki czemu możesz pokazać uczniom, skąd pochodzi dany fakt. Trzy sposoby użycia: (1) ścieżki no-code (pobierz CSV dla Quizlet, wygeneruj Anki .apkg, zaimportuj do Google Forms), (2) jednoplikowy quiz HTML, który wkleisz gdziekolwiek, (3) API dla deweloperów, jeśli budujesz edtech. Wszystkie trzy są darmowe w tierze dla małej klasy (500 zapytań/dzień, bez karty).
Co zbudujesz
Działający quiz, którego użyjesz w klasie już dziś. Główny przewodnik to jednoplikowy quiz HTML - otwierasz go w dowolnej przeglądarce (Chrome, Safari, Firefox, nawet na Chromebooku), albo wklejasz HTML na stronę Wordpress / Squarespace / Webflow, albo wrzucasz do Moodle / Canvas jako aktywność HTML. Bez kroku budowania, bez npm install, bez serwera. Dane przychodzą z quizbase.runriva.com przez internet - działa na szkolnym Wi-Fi.
Dla ścieżek bez kodowania sekcja z wariantami stacku poniżej ma instrukcje krok po kroku dla: generowania talii Anki .apkg (najpopularniejsze na świecie fiszki z powtórkami rozłożonymi w czasie), masowego importu do Quizlet przez CSV oraz wklejania pytań do Google Forms (ścieżka no-code, którą wielu nauczycieli woli). Każda ścieżka to 5-10 minut klikania, bez programowania.
Dla budujących aplikacje edtech i wtyczki do LMS: REST API stojące za tym wszystkim jest takie samo - `GET /api/v1/questions/random`. Jeden endpoint, jeden nagłówek, odpowiedź JSON. Referencja API dla deweloperów jest pod `/docs/api/questions`. Ten sam klucz działa dla osadzenia HTML, pobrania CSV i REST API.
Stack - jeden plik HTML + JavaScript, bez instalacji
Główny stack to **HTML + JavaScript w jednym pliku**, bo jest najbardziej uniwersalny - każdy nauczyciel, który potrafi zapisać plik `.txt`, potrafi zapisać plik `.html`. Otwierasz go w przeglądarce - działa. Wysyłasz sobie mailem - działa. Wgrywasz na szkolnego Wordpressa - działa. Wklejasz do edytora HTML w Moodle jako aktywność quizową - działa. Bez narzędzi, bez terminala, bez deweloperów.
Jeśli w ogóle nie czujesz się komfortowo z dotykaniem HTML, **warianty no-code** poniżej dają trzy ścieżki: pobierz CSV, wygeneruj talię Anki, wklej pytania do Google Forms. Każda to 5-10 minut klikania, bez programowania. Polecamy HTML/JS jako ścieżkę główną, bo jest najbardziej elastyczna (kontrolujesz wygląd, język, punktację), ale jeśli no-code lepiej pasuje do twojego sposobu pracy - idź prosto tam.
- Jeden plik HTML + JavaScript - otwierasz w dowolnej przeglądarce, wklejasz do Wordpress / LMS / bloga. Bez kroku budowania, bez instalacji, bez serwera.
- Darmowy plan - 500 pytań quizowych dziennie na konto nauczyciela. Bez karty kredytowej, bez odliczania trialu. Zaprojektowany pod skalę klasy.
- Wielojęzyczność - angielski i polski dziś, z tym samym parametrem
?lang=gotowym, by udostępnić więcej języków z istniejącego datasetu w zależności od zapotrzebowania. - Atrybucja per pytanie - każde pytanie zawiera
source,author,license, dzięki czemu pokażesz uczniom, skąd pochodzi dany fakt, a użycie komercyjne (płatne kursy) jest jednoznaczne. - Opcja offline - dump BY-SA pod
/datadaje pliki JSON, które zapiszesz na dysku dla klas bez niezawodnego internetu.
Zbuduj quiz klasowy krok po kroku
Sześć kroków, piętnaście minut. Pierwsze cztery dają ci działający quiz na komputerze; ostatnie dwa są opcjonalne (filtr po kategorii, dodanie przełącznika języka). Każdy krok to jeden akapit plus kod lub instrukcje, których potrzebujesz. Bez wcześniejszego doświadczenia w kodowaniu - jeśli umiesz zapisać plik `.txt`, dasz radę.
Krok 1
Załóż darmowe konto nauczyciela i wygeneruj kluczZarejestruj się na quizbase.runriva.com/pricing - wybierz darmowy plan (bez karty, 500 pytań/dzień, każdy endpoint odblokowany). Po rejestracji w panelu jest przycisk "Create key". Wybierz **klucz publishable** (prefiks `qb_pk_…`, etykieta scope w panelu `publishable`) - są zaprojektowane do osadzania w HTML i innego użycia po stronie klienta. Skopiuj go raz (pokazany w postaci jawnej dokładnie raz, ze względów bezpieczeństwa), a potem odłóż na bok do następnego kroku.
Klucz powinien wyglądać tak qb_pk_<your_32_alphanumeric_publishable_key>Krok 2
Utwórz plik quiz.html na swoim komputerzeOtwórz dowolny edytor tekstu - TextEdit na Macu (najpierw Format → Make Plain Text), Notatnik na Windowsie, gedit na Linuksie. Utwórz nowy plik. Zapisz go jako `quiz.html` na pulpicie. Upewnij się, że rozszerzenie pliku to `.html`, a nie `.html.txt` (Windows domyślnie ukrywa rozszerzenia; sprawdź Opcje folderów → Widok → odznacz "Ukryj rozszerzenia").
Lokalizacja pliku nie ma znaczenia - pulpit, Dokumenty, gdziekolwiek ~/Desktop/quiz.html ~/Documents/classroom/quiz.html C:\Users\teacher\Desktop\quiz.htmlKrok 3
Wklej HTML i dodaj swój kluczWklej poniższy HTML do swojego pliku `quiz.html`. Znajdź linijkę z `qb_pk_your_key_here` i zastąp ją kluczem skopiowanym w kroku 1. Zapisz plik. To wszystko - quiz już działa. Kliknij dwukrotnie `quiz.html`, by otworzyć go w domyślnej przeglądarce. Powinno pojawić się pytanie z czterema przyciskami.
quiz.html - wklej to, zastąp klucz, zapisz <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Classroom Quiz</title> <style> body { font-family: system-ui, sans-serif; max-width: 640px; margin: 2rem auto; padding: 0 1rem; } button { display: block; width: 100%; padding: 0.8rem; margin: 0.5rem 0; font-size: 1rem; border: 1px solid #ccc; background: #f5f5f5; cursor: pointer; border-radius: 6px; } button:hover { background: #e8e8e8; } button:disabled { cursor: default; } .correct { background: #c8f7c5 !important; border-color: #4caf50; } .wrong { background: #f7c5c5 !important; border-color: #d32f2f; } </style> </head> <body> <h1 id="q">Loading…</h1> <div id="choices"></div> <p id="feedback"></p> <button id="next" style="margin-top: 1.5rem; background: #1976d2; color: white;">Next question</button> <script> const KEY = 'qb_pk_your_key_here'; const API = 'https://quizbase.runriva.com/api/v1/questions/random?lang=en&limit=1'; async function loadQuestion() { const r = await fetch(API, { headers: { 'X-API-Key': KEY } }); const { data } = await r.json(); const q = data[0]; const choices = [q.correctAnswer, ...q.incorrectAnswers].sort(() => Math.random() - 0.5); document.getElementById('q').textContent = q.text; document.getElementById('feedback').textContent = ''; const div = document.getElementById('choices'); div.innerHTML = ''; choices.forEach((c) => { const btn = document.createElement('button'); btn.textContent = c; btn.onclick = () => { document.querySelectorAll('#choices button').forEach((b) => (b.disabled = true)); const correct = c === q.correctAnswer; btn.classList.add(correct ? 'correct' : 'wrong'); document.getElementById('feedback').textContent = correct ? '✓ Correct!' : '✗ Wrong — the answer was: ' + q.correctAnswer; }; div.appendChild(btn); }); } document.getElementById('next').onclick = loadQuestion; loadQuestion(); </script> </body> </html>Krok 4
Użyj go w klasieMasz trzy sposoby, by wykorzystać to na lekcji. (1) **Otwórz plik lokalnie** - kliknij dwukrotnie `quiz.html` na komputerze w sali, wyświetl na projektorze. Działa offline, jeśli masz dump BY-SA w `assets/` (zobacz § Eksport masowy offline). (2) **Wgraj na stronę szkoły / Wordpressa** - wklej HTML do bloku custom HTML na stronie Wordpress albo wgraj plik na serwer szkoły i podlinkuj. (3) **Osadź w LMS** - Moodle ma aktywność "Page", która przyjmuje HTML; Canvas ma "Pages → HTML editor"; w obu wkleisz całą zawartość `<body>` jako aktywność quizową w lekcji.
Trzy ścieżki klasowe 1. LOCAL FILE Double-click quiz.html → opens in browser → display on projector 2. WORDPRESS / SCHOOL WEBSITE Page editor → Custom HTML block → paste the whole <body> content 3. MOODLE / CANVAS / GOOGLE SITES Moodle: Activity → Page → HTML source → paste Canvas: Pages → New → HTML editor → paste Google Sites: Insert → Embed → Embed code → pasteKrok 5
Filtruj po kategorii i trudności (opcjonalnie)Domyślnie quiz pobiera losowe pytania z dowolnej kategorii. Dla skupionej lekcji - dział biologii, powtórka historii, konkurs geograficzny - przefiltruj do jednej kategorii. Znajdź linijkę `API = '...'` i dodaj parametry filtra. Lista kategorii jest pod `GET /api/v1/categories` - popularne slugi: `history`, `science-and-nature`, `geography`, `sports`, `animals`, `art`, `general-knowledge`. Poziomy trudności: `trivial`, `easy`, `medium`, `hard`, `expert` - kalibrowane przez LLM, więc poziom odzwierciedla, jak trudny jest faktyczny wybór (nie tylko temat). W klasach z dziećmi połącz `?difficulty=trivial` lub `easy` z bezpieczną treściowo kategorią, by unikać polityki / tematów dla dorosłych; dodaj `?quality=high`, by pominąć nieocenione rekordy.
Zastąp linijkę API przefiltrowanym URL-em // History trivia, easy difficulty, English: const API = 'https://quizbase.runriva.com/api/v1/questions/random?category=history&difficulty=easy&lang=en&limit=1'; // Animals, easy, for younger kids: const API = 'https://quizbase.runriva.com/api/v1/questions/random?category=animals&difficulty=easy&lang=en&limit=1'; // Science review, medium, Polish-language class: const API = 'https://quizbase.runriva.com/api/v1/questions/random?category=science-and-nature&difficulty=medium&lang=pl&limit=1';Krok 6
Dodaj przełącznik języka dla lekcji językowych (opcjonalnie)Nauczyciele języków to uwielbiają. To samo kanoniczne pytanie może być serwowane w wielu językach pod stabilnym id - dziś w pełni obsługiwane są angielski i polski, a więcej języków na życzenie. Zastąp statyczny URL API funkcją, która korzysta z wyboru języka. Aktualna, miarodajna lista z liczbą pytań na język jest pod `/api/v1/languages`.
Zastąp blok <script> <div style="margin-bottom: 1rem;"> <label>Language: <select id="lang"> <option value="en">English</option> <option value="pl">Polski</option> </select> </label> </div> <!-- (rest of the body unchanged) --> <script> const KEY = 'qb_pk_your_key_here'; async function loadQuestion() { const lang = document.getElementById('lang').value; const API = 'https://quizbase.runriva.com/api/v1/questions/random?lang=' + lang + '&limit=1'; // (rest of loadQuestion unchanged) } document.getElementById('lang').onchange = loadQuestion; document.getElementById('next').onclick = loadQuestion; loadQuestion(); </script>
Kompletny quiz klasowy - jeden plik HTML
Pełny quiz z wyborem języka, filtrem kategorii, licznikiem wyników i stopką atrybucji CC BY-SA. Zapisz jako `quiz.html`, zastąp klucz API, kliknij dwukrotnie, by otworzyć w dowolnej przeglądarce. Albo wgraj na szkolnego Wordpressa / do LMS jako stronę HTML.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Classroom Quiz — Powered by QuizBase</title>
<style>
body { font-family: system-ui, sans-serif; max-width: 720px; margin: 2rem auto; padding: 0 1rem; line-height: 1.5; }
header { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.5rem; }
h1 { font-size: 1.5rem; margin: 0; flex: 1; }
select, button { font-size: 1rem; }
.question { font-size: 1.3rem; font-weight: 600; margin: 1.5rem 0 1rem; }
.choices button { display: block; width: 100%; padding: 0.9rem; margin: 0.5rem 0; font-size: 1rem; border: 1px solid #ccc; background: #f5f5f5; cursor: pointer; border-radius: 6px; text-align: left; }
.choices button:hover { background: #e8e8e8; }
.choices button:disabled { cursor: default; }
.choices .correct { background: #c8f7c5 !important; border-color: #4caf50; }
.choices .wrong { background: #f7c5c5 !important; border-color: #d32f2f; }
.feedback { font-size: 1.1rem; margin: 1rem 0; }
.next { margin-top: 1rem; padding: 0.75rem 1.5rem; background: #1976d2; color: white; border: 0; border-radius: 6px; cursor: pointer; font-size: 1rem; }
.score { font-weight: 600; color: #555; }
.attribution { font-size: 0.8rem; color: #777; margin-top: 2rem; border-top: 1px solid #eee; padding-top: 1rem; }
</style>
</head>
<body>
<header>
<h1>Classroom Quiz</h1>
<label>Lang:
<select id="lang">
<option value="en">English</option>
<option value="pl">Polski</option>
</select>
</label>
<label>Category:
<select id="cat">
<option value="">Any</option>
<option value="history">History</option>
<option value="science-and-nature">Science</option>
<option value="geography">Geography</option>
<option value="animals">Animals</option>
<option value="sports">Sports</option>
</select>
</label>
<span class="score" id="score">0 / 0</span>
</header>
<div class="question" id="q">Loading…</div>
<div class="choices" id="choices"></div>
<p class="feedback" id="feedback"></p>
<button class="next" id="next">Next question</button>
<p class="attribution">Questions from <a href="https://quizbase.runriva.com">QuizBase</a>, CC BY-SA 4.0. Per-question source available in API response.</p>
<script>
const KEY = 'qb_pk_your_key_here';
let right = 0, total = 0;
async function loadQuestion() {
const lang = document.getElementById('lang').value;
const cat = document.getElementById('cat').value;
const params = new URLSearchParams({ lang, limit: '1' });
if (cat) params.set('category', cat);
const r = await fetch('https://quizbase.runriva.com/api/v1/questions/random?' + params, {
headers: { 'X-API-Key': KEY }
});
const { data } = await r.json();
const q = data[0];
const choices = [q.correctAnswer, ...q.incorrectAnswers].sort(() => Math.random() - 0.5);
document.getElementById('q').textContent = q.text;
document.getElementById('feedback').textContent = '';
const div = document.getElementById('choices');
div.innerHTML = '';
choices.forEach((c) => {
const btn = document.createElement('button');
btn.textContent = c;
btn.onclick = () => {
document.querySelectorAll('.choices button').forEach((b) => (b.disabled = true));
const correct = c === q.correctAnswer;
btn.classList.add(correct ? 'correct' : 'wrong');
document.getElementById('feedback').textContent = correct
? '✓ Correct!'
: '✗ Wrong — the answer was: ' + q.correctAnswer;
total++;
if (correct) right++;
document.getElementById('score').textContent = right + ' / ' + total;
};
div.appendChild(btn);
});
}
document.getElementById('lang').onchange = loadQuestion;
document.getElementById('cat').onchange = loadQuestion;
document.getElementById('next').onclick = loadQuestion;
loadQuestion();
</script>
</body>
</html>Pobierz darmowy klucz nauczycielski na /pricing - bez karty kredytowej.
Niech AI pomoże - ChatGPT, Cursor, Copilot
Nie musisz pisać kodu samodzielnie. Trzy prompty poniżej - jeden dla ChatGPT lub Claude.ai (planowanie lekcji, bez kodu), jeden dla Cursor (własny HTML), jeden dla GitHub Copilot (nauka kodowania w trakcie budowania). Każdy jest samodzielny: wklej, uzupełnij swój przedmiot i grupę wiekową, odbierz dopasowany wynik.
ChatGPT / Claude.ai (planowanie lekcji, bez kodu)
Nawet jeśli nie piszesz kodu, możesz wkleić ten prompt do ChatGPT lub Claude.ai (plan darmowy lub Pro) i dostać w odpowiedzi: które kategorie pasują do twojego przedmiotu, przykładowe scenariusze lekcji, konfiguracje filtrów dostosowane do wieku oraz przyjazny dla rodziców opis tego, skąd pochodzą pytania. AI czyta naszą dokumentację pod /llms-full.txt przed burzą mózgów.
Jak użyć: Otwórz ChatGPT lub Claude.ai → wklej prompt poniżej → uzupełnij swój przedmiot i grupę wiekową → naciśnij Enter.
I am a teacher and I want to use QuizBase as the question pool for my classroom quizzes.
QuizBase is at https://quizbase.runriva.com. Free tier (500 questions per day, no credit card) at /pricing.
Their full docs (every category, every parameter, every language) live as a single document at:
https://quizbase.runriva.com/llms-full.txt
I teach [TELL THE AI YOUR SUBJECT — biology / history / Spanish / 4th grade / etc.] for [TELL THE AI THE AGE GROUP — middle school / high school / adult learners / etc.].
Read the docs and brainstorm with me. Specifically:
1. Which categories and filters would work best for my subject and age group? Show me actual API URLs I could put in the HTML quiz from /use-cases/educators.
2. Suggest five lesson plans built around the quiz — bell ringer, exit ticket, midterm review, language drill, vocabulary game.
3. Recommend a safe-for-classroom configuration: which categories to AVOID for my age group, which difficulty to start with.
4. Help me write a parent-friendly description of where the questions come from (attribution, license, content moderation), so I can include it in a syllabus email.Cursor (dla nauczycieli obeznanych z technologią budujących własne osadzenie)
Jeśli czujesz się komfortowo z HTML i chcesz własny design pasujący do brandingu twojej szkoły, Cursor napisze całe quiz.html za ciebie w niecałe dwie minuty. Otwórz folder, naciśnij Cmd+I (Ctrl+I), wklej prompt, zaakceptuj edycję, zapisz plik.
Jak użyć: Otwórz folder w Cursor → Cmd+I (Ctrl+I) → wklej prompt → Enter → przejrzyj proponowaną edycję → Accept → zapisz jako quiz.html.
I want to build a classroom quiz tool using the QuizBase API.
Stack: Single HTML file (no build step), vanilla JavaScript, no frameworks. Teachers will paste it into a Wordpress page or Moodle activity.
API call:
GET https://quizbase.runriva.com/api/v1/questions/random?category=<slug>&difficulty=easy&lang=en&limit=1
Header: X-API-Key: <publishable key, prefix qb_pk_>
Response shape:
{
"data": [{
"id": "uuid",
"text": "What is...?",
"correctAnswer": "Answer",
"incorrectAnswers": ["Wrong 1", "Wrong 2", "Wrong 3"]
}]
}
Requirements:
1. Single HTML file — no npm, no build, no server.
2. Dropdown for category (history / science-and-nature / geography / animals / sports) and language (en / pl — the languages QuizBase currently supports).
3. Difficulty defaults to easy (kid-safe).
4. Score tracker (correct / total).
5. Big readable buttons for classroom projector use (font-size 1rem+, full-width, padding 0.9rem).
6. Per-question attribution footer (link to quizbase.runriva.com, mention CC BY-SA 4.0).
7. Mobile-friendly so kids can answer on their phones.
Output: one quiz.html file with inline CSS and inline JavaScript. No external dependencies.GitHub Copilot (sterowany komentarzem, dla nauczycieli uczących się kodować)
Copilot jest sterowany komentarzem - napisz specyfikację jako komentarz na górze pliku, zostaw szkielet, naciśnij Tab. Copilot uzupełnia JavaScript linijka po linijce. Najlepszy dla nauczycieli, którzy w czasie kółka programistycznego uczą się razem z uczniami; widzisz każdą decyzję AI.
Jak użyć: Wklej blok komentarza + szkielet poniżej do nowego quiz.html w VS Code z Copilotem → ustaw kursor wewnątrz pustego body → naciśnij Tab → akceptuj podpowiedzi Tabem.
<!--
Classroom quiz powered by QuizBase API.
API: GET https://quizbase.runriva.com/api/v1/questions/random?lang=en&limit=1
Auth: X-API-Key header (publishable key, prefix qb_pk_)
Response: { data: [{ id, text, correctAnswer, incorrectAnswers: string[] }] }
Requirements:
- Single HTML file, vanilla JS, no build
- Category and language dropdowns
- Big buttons for classroom projector
- Score tracker
- CC BY-SA attribution footer
-->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Classroom Quiz</title>
</head>
<body>
<!-- Place cursor here and press Tab — Copilot will fill in -->
</body>
</html>MCP - prawie nigdy nieistotne w użyciu klasowym (pomiń, jeśli jesteś nauczycielem)
MCP (Model Context Protocol) to spoiwo po stronie deweloperskiej, które łączy asystentów AI takich jak Claude.ai z zewnętrznymi źródłami danych. Nauczyciele prawie nigdy nie muszą o tym myśleć - quiz HTML i ścieżki no-code powyżej pokrywają praktycznie każdy przypadek użycia w klasie. Jeden wyjątek to sytuacja, gdy chcesz trwały projekt Claude.ai, który pobiera treść QuizBase na żądanie dla ciebie i twoich uczniów.
- Nauczyciele prawie nigdy nie potrzebują MCP. Quiz HTML powyżej i ścieżki no-code poniżej pokrywają ~98% przypadków użycia w klasie. MCP jest dla budujących agentów AI - botów Slack, projektów Claude.ai, custom GPT w ChatGPT. Jeśli chcesz codzienny projekt trivia w Claude.ai, z którego korzystacie razem z uczniami, zobacz stronę AI Agent Builders.
Projekt Claude.ai - codzienna trivia klasowa (jedyna ścieżka MCP warta poznania dla nauczycieli)
To rzadki przypadek, gdy MCP jest przyjazne nauczycielom - podpinasz QuizBase do projektu Claude.ai raz, zapisujesz konfigurację i od tej pory ty i twoi uczniowie możecie poprosić Claude o szybki quiz w dowolnej chwili, bez ponownego instruowania datasetu. Konfiguracja przez Settings → Connectors → Add custom connector (interfejs, bez pliku JSON). Pełny przewodnik na stronie AI Agent Builders.
Name: QuizBase
URL: https://quizbase.runriva.com/mcp
Auth: Bearer token
Token: qb_pk_your_key_hereWypróbuj: W projekcie Claude.ai: "Daj mi pięć pytań z biologii odpowiednich dla starszych klas szkoły podstawowej na jutrzejszy exit ticket. Łatwa trudność. Pomiń wszystko kontrowersyjne. Sformatuj jako materiał do druku." Claude wywołuje quizbase_random z twoimi filtrami i tworzy kartę pracy.
Albo: poproś swoje AI, by zaplanowało lekcje za ciebie
Twoje AI ma dobre pomysły, jak użyć QuizBase w klasie - przeczytało więcej o dydaktyce, niż ty masz na to czasu. Pełna dokumentacja jest jednym dokumentem pod `https://quizbase.runriva.com/llms-full.txt` (jedno pobranie, bez scrapowania). Wklej prompt poniżej do ChatGPT, Claude.ai lub Gemini. Przeczyta naszą dokumentację, zapyta o twój przedmiot i grupę wiekową, a potem zaproponuje konfiguracje filtrów i aktywności lekcyjne dostosowane do twojej klasy.
I am a teacher and I want to use QuizBase as the question pool for my classroom.
QuizBase is at https://quizbase.runriva.com. Free tier (500 questions per day, no credit card).
Their full documentation (every category, every language, every parameter) is one fetchable document:
https://quizbase.runriva.com/llms-full.txt
I teach [TELL THE AI YOUR SUBJECT AND AGE GROUP — e.g. 6th grade science, AP US History, adult ESL].
Read the docs and brainstorm with me:
1. Which categories and filters would best serve my class? Give me specific URLs I can paste into an HTML quiz.
2. Suggest five lesson activities that use the quiz — warm-up, exit ticket, language drill, midterm review, group competition.
3. Help me identify safe-for-classroom configurations for my age group: which categories to avoid, which difficulty to start with, content moderation considerations.
4. Recommend a no-code path versus a tech path: would I be better off generating Anki flashcards, importing a Quizlet CSV, embedding the HTML quiz, or using Google Forms? Match the recommendation to my comfort level (which you can ask me about).Taka jest intencja projektu: otwarte dane, otwarta dokumentacja i AI, które pomaga ci dostosować się do uczniów, zamiast zmuszać cię do dostosowania się do narzędzia. Jeśli coś zbudujesz - scenariusz lekcji, szablon karty pracy, ogólnoszkolną tradycję quizową - napisz do nas. Strona /about ma dane kontaktowe; pokazujemy historie nauczycieli.
Zobacz to w akcji

Ścieżki no-code - Anki, Quizlet, Google Forms
Osadzenie HTML to ścieżka główna, bo jest najbardziej elastyczna. Jeśli wolisz klikać niż edytować HTML, trzy ścieżki no-code poniżej pokrywają to samo w znanych narzędziach. Wybierz tę, która pasuje do twojego dotychczasowego sposobu pracy w klasie.
Fiszki Anki .apkg (Python + genanki)
Kiedy użyć: Chcesz fiszek z powtórkami rozłożonymi w czasie, które uczniowie poćwiczą w domu. Anki to złoty standard poważnej nauki (studenci medycyny, prawa, uczący się języków), format .apkg to pojedynczy plik, który uczeń pobiera raz, a `genanki` to biblioteka Pythona budująca .apkg z dowolnego źródła danych. ~30 linii Pythona, by zamienić kategorię QuizBase w talię Anki.
# pip install genanki requests
import genanki, requests, random
KEY = 'qb_pk_your_key_here'
URL = 'https://quizbase.runriva.com/api/v1/questions?category=history&lang=en&limit=50'
model = genanki.Model(
random.randint(1 << 30, 1 << 31),
'QuizBase Card',
fields=[{'name': 'Question'}, {'name': 'Answer'}],
templates=[{
'name': 'Card 1',
'qfmt': '{{Question}}',
'afmt': '{{FrontSide}}<hr>{{Answer}}'
}]
)
deck = genanki.Deck(
random.randint(1 << 30, 1 << 31),
'QuizBase History (50 questions)'
)
r = requests.get(URL, headers={'X-API-Key': KEY})
for q in r.json()['data']:
deck.add_note(genanki.Note(model=model, fields=[q['text'], q['correctAnswer']]))
genanki.Package(deck).write_to_file('history-50.apkg')
print('Wrote history-50.apkg — share with students.')Masowy import do Quizlet (CSV - bez kodu poza kopiuj/wklej)
Kiedy użyć: Chcesz zestaw nauki Quizlet dla swojej klasy - fiszki, gra match, tryb test, gravity, tryb learn. Quizlet obsługuje masowy import rozdzielany tabulatorami: wklejasz dwie kolumny (termin + definicja), a on tworzy zestaw. Skrypt poniżej tworzy TSV, który wklejasz do okna importu Quizlet.
Question text<TAB>Answer text
What is the capital of France?<TAB>Paris
Who painted the Mona Lisa?<TAB>Leonardo da Vinci
What is the chemical symbol for water?<TAB>H2O
(50 more rows fetched from QuizBase /api/v1/questions, see Python gen script below)Google Forms (ścieżka no-code - tylko klikanie)
Kiedy użyć: Nigdy nie pisałeś/aś kodu i wolisz klikać w znanych narzędziach. Google Forms obsługuje quizy wielokrotnego wyboru z automatycznym ocenianiem, wartościami punktowymi i informacją zwrotną przy każdej odpowiedzi. Ręcznie kopiujesz 10-20 pytań z quizu HTML QuizBase (albo z odpowiedzi API, jeśli umiesz czytać JSON) do Google Forms. ~15 minut na quiz klasowy, ale formularz sam sprawdza odpowiedzi, a integracja z Google Classroom jest bezproblemowa.
1. Open the HTML quiz from this page on your screen
2. Open Google Forms → Blank quiz template
3. For each QuizBase question:
a. Add a multiple-choice question to the form
b. Type/paste the question text from the HTML quiz
c. Add the four answer choices (correct + 3 incorrect)
d. In "Answer key" mode, mark the correct choice and assign 1 point
4. Settings → "Make this a quiz" → enable auto-grading
5. Share with students via link or assign through Google Classroom
6. Responses auto-grade, you see the score breakdown per studentPułapki - rzeczy, które wychodzą w prawdziwych klasach
Sześć kwestii, na które nauczyciele faktycznie natrafiają, z konkretną poprawką na każdą.
Filtry mojej szkoły blokują "niezaufane" strony - czy quizbase.runriva.com się przebije?
Większość szkolnych filtrów przepuszcza zapytania API po HTTPS do publicznych domen. Jeśli twój filtr jest restrykcyjny, poproś administratora IT o dodanie
quizbase.runriva.comdo białej listy - przekaż, że API to treść edukacyjna tylko do odczytu (HTTPS, bez wbudowanych reklam, bez pikseli śledzących, na licencji z atrybucją). Dla sieci szkolnych całkowicie odciętych od internetu lub bardzo restrykcyjnych użyj dumpa BY-SA offline pod/data- spakuj folder plików JSON na pendrive, bez internetu.Niektóre pytania są zbyt trudne / zbyt łatwe / nieodpowiednie dla wieku mojej klasy.
Pomagają trzy filtry. (1)
?difficulty=easyfiltruje do łatwiejszych pytań. (2)?category=animals,sports,geographyjest generalnie bezpieczniejsze dla młodszych dzieci;?category=politics,celebritiesjest bardziej dla dorosłych. (3)?topics_any=pozwala przefiltrować do konkretnych wyselekcjonowanych topików -?topics_any=american-history,world-historyna lekcję historii,?topics_any=cellular-biology,human-anatomyna biologię. Przeglądaj topiki pod/api/v1/topics.Moi uczniowie wysyłają odpowiedzi spoza lekcji - "oszukują", googlując.
Do sprawdzianów liczących się do oceny nie używaj publicznego narzędzia quizowego - dziennik LMS twojej szkoły (Canvas, Moodle, PowerSchool) ma porządne mechanizmy integralności testów (lockdown browser, ograniczenia IP, limity czasu). Quiz HTML QuizBase jest zaprojektowany do **ćwiczeń i zaangażowania bez presji oceny** - rozgrzewki, exit ticket, powtórki w stylu teleturnieju. Przy tych zastosowaniach googlowanie przez uczniów nie jest problemem; celem jest oswojenie z materiałem i zapamiętywanie, a nie pilnowanie oceny.
Darmowy plan to 500 pytań/dzień - a moja szkoła ma 30 klas.
500 pytań/dzień jest na **konto** QuizBase, nie na nauczyciela ani na ucznia. Jeśli obsługujesz cały okręg szkolny, są trzy opcje: (1) każdy nauczyciel zakłada własne konto na darmowym planie (5 nauczycieli × 500 = 2 500/dzień, bez karty). (2) dla szkolnych sieci odciętych od internetu lub mocno filtrowanych spakuj dump BY-SA (publikujemy go, by spełnić obowiązki share-alike wobec źródeł) i serwuj z serwera szkoły - przydatne, gdy ograniczeniem jest sam dostęp do sieci, nie jako sposób na obejście limitu darmowego planu. (3) przejdź na plan płatny (Indie pod /pricing, 10 000 pytań/dzień) dla całego okręgu na żywym API ze świeżością, MCP i dostępem do SDK - rekomendowana ścieżka dla okręgów działających tylko online.
Nie czuję się komfortowo z HTML - którą ścieżkę no-code wybrać?
Dopasuj do swojego komfortu: (1) **Google Forms** - najlepiej znane nauczycielom, autograding, integracja z Classroom, ale pytania wklejasz ręcznie (~15 min na quiz). (2) **import CSV do Quizlet** - pięciominutowy masowy import, gdy masz już CSV, plus tryby gier Quizlet. (3) **Anki .apkg** - do poważnej nauki, ale wymaga małego skryptu w Pythonie (5-10 linii, twój obeznany z techniką kolega albo uczeń-pomocnik może go uruchomić za ciebie). Zacznij od Google Forms; przejdź na Quizlet, gdy zechcesz trybów gier; przejdź na Anki, gdy masz uczniów uczących się poważnie poza lekcjami.
Moi uczniowie widzą wciąż te same pytania.
Domyślnie
GET /api/v1/questions/randomlosuje z pełnej puli - powtarzane wywołania w końcu się pokrywają. By wymusić różnorodność: (1) zapisuj id pytań po każdej sesji i wykluczaj je z wywołań w następnej sesji przez?exclude=id1,id2,...(do 100 id na zapytanie). (2) poszerz filtr - usuń?category=i?difficulty=, by zmaksymalizować pulę. (3) użyjGET /api/v1/questionsz paginacją kursorem zamiast losowania - przechodzisz przez całą pulę po kolei, nigdy się nie powtarzając. Paginacja to cięższy stan po stronie klienta, ale eliminuje skargi na powtórki.
Najczęściej zadawane pytania
- Czy to bezpieczne dla dzieci? Zgodność z COPPA / RODO / FERPA?
- QuizBase nie zbiera danych o rozwiązujących quiz - po stronie ucznia nie ma konta, nie ma plików cookie śledzących rozwiązujących, nie ma analityki. Nauczyciel (ty) ma konto z adresem e-mail; to konto jest zgodne z RODO. Quiz HTML z tej strony działa w całości w przeglądarce ucznia, jedyne przesyłane dane to zapytanie API z IP nauczyciela (lub przez sieć szkolną jako proxy). W kontekście FERPA dla amerykańskich szkół K-12 pasuje to do modelu "zasobu edukacyjnego bez przesyłania danych osobowych ucznia". Dla całych kategorii treści wrażliwych (polityka, rozrywka dla dorosłych) użyj `?difficulty=easy` i białej listy kategorii (`animals`, `sports`, `science-and-nature`, `geography`).
- Czy mogę edytować lub poprawić pytania, jeśli znajdę błąd?
- Hostowany dataset jest tylko do odczytu po stronie API - każde konto widzi te same pytania. Możesz: (1) **zgłosić problem** przez endpoint `/api/v1/report` albo przycisk "Report" w panelu - segregujemy zgłoszenia i poprawiamy u źródła. (2) **sforkować dataset** - dump BY-SA pod `/data` jest na licencji CC BY-SA 4.0, możesz go pobrać, zedytować lokalną kopię, hostować własną wersję. (3) **nadpisać inline** w swoim HTML - pobierz z QuizBase, a potem sprawdź id pytań względem osobistej listy wykluczeń lub zamian, zanim pokażesz uczniowi.
- Jak dokładne są tłumaczenia? Czy mogę użyć tego do poważnej nauki języka?
- Tłumaczenia są generowane maszynowo i wyselekcjonowane - jakość jest dobra dla treści quizowych (pytania faktograficzne tłumaczą się czysto), mniej niezawodna dla subtelnych treści kulturowych lub idiomatycznych. Polecamy: (1) **ćwiczenia ze słownictwa i gramatyki** - tłumaczenia są niezawodne dla terminów i krótkich odpowiedzi. (2) **treści faktograficzne** (nauka, matematyka, geografia) - tłumaczenia są niezawodne. (3) **trivia kulturowa lub literacka** - przejrzyj przed użyciem w klasie, przy sprawdzianach liczących się do oceny zalecana weryfikacja przez native speakera. Jeśli znajdziesz złe tłumaczenie, użyj endpointu zgłoszeń.
- Czy mogę użyć tego w płatnym kursie (Udemy, płatny Patreon, Skillshare)?
- Tak. API ma licencję komercyjną zgodną z twoim tierem subskrypcji (darmowy plan pozwala na użycie komercyjne do 500 zapytań/dzień). Sam dataset jest na CC BY-SA 4.0 - Attribution-ShareAlike - co jest **kompatybilne z użyciem komercyjnym, w tym płatnymi kursami**, o ile (a) podasz QuizBase jako źródło pytań i (b) udostępnisz wszelkie materiały pochodne na tych samych warunkach CC BY-SA 4.0. Większość platform płatnych kursów to akceptuje; jeśli twoja platforma wymaga wyłącznej licencji na treść, wygeneruj pytania samodzielnie albo użyj innego źródła.
- Czy mogę zrobić masowy eksport do użytku offline w klasie?
- Tak. Dump BY-SA pod `/data` daje pliki JSON (jeden na język na kategorię) - publikujemy go ponownie od czasu do czasu, by spełnić obowiązki share-alike wobec źródeł. Pobierz potrzebny wycinek, zapisz na pendrivie lub serwerze szkoły, a twój quiz HTML może czytać z tych plików JSON zamiast z żywego API. Przydatne dla: klas z niepewnym Wi-Fi, pracowni komputerowych ze ścisłymi filtrami sieci wychodzącej, szkół z paranoicznymi działami IT. Dump ma w całości około 200 MB - wycinek jednego języka to 10-30 MB.
- Jak sprawić, by quiz działał na telefonach uczniów / Chromebookach / iPadach?
- Quiz HTML jest responsywny od ręki - `max-width: 720px; margin: 2rem auto` centruje go na dowolnym ekranie, a przyciski układają się pionowo na wąskich telefonach. Bez specjalnego kroku budowania. Wgraj plik na stronę szkoły / Wordpressa / Google Sites, podaj uczniom URL, a oni otworzą go na dowolnym urządzeniu. Testowane na iOS Safari, Android Chrome, Chrome OS, Windows Edge.
- Czy to działa w Moodle? Canvas? Blackboard? Google Classroom?
- Tak dla wszystkich czterech. **Moodle**: utwórz aktywność Page, przełącz na źródło HTML, wklej zawartość `<body>`. **Canvas**: Pages → New → przycisk edytora HTML, wklej. **Blackboard**: Items → Build content → Item → źródło HTML, wklej. **Google Classroom**: utwórz zadanie z dołączonym linkiem do Google Site lub strony Wordpress hostującej HTML. Wszystkie cztery traktują osadzenie jako samodzielną aktywność, do której uczniowie wchodzą podczas lekcji.
- Czy jest wtyczka do Moodle / Canvas LTI / integracja z Quizlet?
- Dziś brak dedykowanej wtyczki. Ścieżka osadzenia HTML pokrywa większość przypadków LMS bez niej (wklejasz raz, działa zawsze). Jeśli porządna wtyczka LMS byłaby dla ciebie wartościowa, napisz do nas przez stronę /about - zapotrzebowanie po stronie szkół napędza to, co budujemy dalej. Dla Quizlet ścieżka importu CSV jest na tyle bezproblemowa, że dedykowana integracja nie była zgłaszana.
- Jak mam podać QuizBase jako źródło w materiałach klasowych?
- Atrybucja może być tak prosta jak: "Pytania trivia z QuizBase (quizbase.runriva.com), CC BY-SA 4.0." Umieść ją na dole karty pracy, na stronie z programem nauczania, we wstępie kursu w LMS albo w stopce quizu HTML (przykładowy kompletny quiz zawiera linijkę z atrybucją). Dla talii Anki generowanych programowo dodaj atrybucję w polu opisu talii. Odpowiedź API per pytanie zawiera też `attribution.source` (źródłowy dataset, np. OpenTDB lub OpenTriviaQA) - dołączanie ich dla wysokiej precyzji zgodności jest mile widziane, ale niewymagane.
- Gdzie szukać pomocy, jeśli coś się zepsuje albo znajdę błędne pytanie?
- Dokumentacja pod quizbase.runriva.com/docs zawiera quickstart i pełną referencję. Przy błędach API lub platformy użyj przycisku "Report a problem" w panelu albo napisz do nas przez stronę /about. Przy błędnej treści pytania (zła odpowiedź, złe tłumaczenie, obraźliwy tekst) użyj `POST /api/v1/report` lub przycisku Report w panelu. Strona statusu pod /status, jeśli podejrzewasz awarię. Średni czas odpowiedzi to poniżej 48 godzin w tygodniu - czytamy każdy e-mail od nauczyciela osobiście, bo jesteśmy małym zespołem i wiemy, jak mało masz czasu na przygotowania.
Dziesięć zastosowań w klasie - wybierz jedno, wypróbuj w przyszłym tygodniu
Masz narzędzie quizowe. Oto dziesięć konkretnych zastosowań w klasie, każde na tyle różne, by pasować do innego stylu nauczania lub poziomu klasy. Połowa nie wymaga przygotowań poza wstępnym ustawieniem HTML; druga połowa to projekty na weekend, które procentują przez cały rok.
1. Codzienny exit-ticket quiz na projektorze
Trzy pytania na projektorze przez ostatnie 90 sekund lekcji - uczniowie odpowiadają na papierowej karteczce, a ty odczytujesz wynik dnia na początku kolejnej lekcji. Zero przygotowań po twojej stronie po wstępnym ustawieniu HTML.
2. Współdzielona talia Anki dla twoich uczniów Artykuł →
Wygeneruj talię Anki .apkg dla działu (historia, biologia, słownictwo), udostępnij uczniom do domowej nauki z powtórkami rozłożonymi w czasie. Anki jest darmowe, popularne wśród studentów medycyny / prawa / studiów magisterskich, a dystrybucja współdzielonej talii to zwykłe wysłanie pliku.
3. Masowy import do Quizlet - zestaw klasowy w pięć minut
Pobierz CSV z pytaniami w swojej kategorii, wklej do funkcji importu Quizlet i masz zestaw klasowy w pięć minut. Dalej pałeczkę przejmuje grywalizacja Quizlet (match, gravity, tryb test).
4. Rotacja w nauce języków - to samo pytanie, dwa języki
Uruchom quiz najpierw po angielsku, potem po polsku - ta sama pula pytań. Uczniowie widzą, jak słownictwo z "animals" tłumaczy się między językami, a ty nie przygotowujesz równoległych materiałów.
5. Piątkowy teleturniej (tryb drużynowy)
Podziel klasę na drużyny, wyświetl quiz, drużyny odpowiadają na zmianę. Zwycięska drużyna dostaje nagrodę (zwolnienie z pracy domowej, dodatkowe punkty, pączki). Buduje zaangażowanie i powtórkę bez dodatkowych przygotowań.
6. Moduł quizowy w LMS - aktywność Moodle lub Canvas Artykuł →
Wklej HTML do aktywności "Page" w Moodle albo na stronę Canvas (edytor HTML). Uczniowie wchodzą przez twój LMS, wynik widzą na własnym urządzeniu do samokontroli. Używaj jako ćwiczenia bez oceny między formalnymi sprawdzianami.
7. Rozgrzewka na dzień dobry - jedno pytanie na początku lekcji
Jedno pytanie na tablicy, gdy uczniowie wchodzą. Zapisują odpowiedź na karteczce, ty zbierasz, na koniec odsłaniasz. Mini-rytuał, który zajmuje dwie minuty i sygnalizuje "lekcja zaczyna się teraz".
8. Awaryjny scenariusz lekcji dla nauczyciela na zastępstwie
Samodzielny `quiz.html` leży na pendrivie w teczce z planami zastępstw. Jeśli masz niespodziewaną nieobecność, zastępujący otwiera plik na projektorze, a dzieci mają produktywną, zgodną z programem lekcję na całą godzinę.
9. Pokazowa aktywność na wywiadówce
Na wywiadówce rodzice rozwiązują quiz na iPadach w twojej sali. Pretekst do rozmowy: "oto czego uczy się wasze dziecko, oto pytanie z tego działu, spróbujcie pobić jego wynik." Zapadające w pamięć, minimalnym nakładem pracy.
10. Pozalekcyjne kółko trivia - cotygodniowy turniej z tabelą wyników Artykuł →
Prowadź cotygodniowe pozalekcyjne kółko trivia z rotującymi kategoriami. Uczniowie zapisują się jako drużyny, ty prowadzisz tabelę wyników we współdzielonym Arkuszu Google. Niski koszt ustawienia, wysokie zaangażowanie uczniów, buduje szkolny rytuał. Wariant na Discorda - połącz to z tutorialem bota Slack/Discord, by mieć zautomatyzowaną tabelę wyników.
11. Klasa w Roblox - trivia jako wirtualna wycieczka Artykuł →
Zbuduj doświadczenie w Roblox Studio, w którym uczniowie stają na ponumerowanych platformach, by głosować w pytaniach quizowych. Nauczyciel steruje przechodzeniem dalej z miejsca moderatora, a punkty zdobywa drużyna, która pierwsza odpowie poprawnie. Katalog Roblox Education przyjmuje takie projekty do darmowego odkrywania. Całą ciężką robotę wykonuje API HttpService.
Gotowy na lekcję w przyszłym tygodniu?
Darmowy dla małych klas, bez karty kredytowej. 500 zapytań API dziennie na konto nauczyciela (angielski i polski), użycie komercyjne dozwolone, łącznie z płatnymi kursami.
Co robić dalej
Masz działający quiz klasowy. Oto dokąd stąd pójść - każdy link to konkretny następny krok, a nie mgliste "przejrzyj naszą dokumentację".
- Pobierz dump pytań BY-SA do użytku offline →
Pliki JSON na język na kategorię, odświeżane w miarę potrzeb wraz z aktualizacją datasetu. Zapisz na pendrivie lub serwerze szkoły dla klas bez niezawodnego internetu. Na licencji CC BY-SA 4.0.
- Pełna referencja API (gdy przerośniesz osadzenie HTML) →
Każdy filtr, każdy parametr. Przydatne, gdy chcesz własne narzędzie quizowe dla swojego okręgu albo wtyczkę do Moodle / Canvas.
- AI Agent Builders - dla nauczycieli obeznanych z technologią budujących projekty Claude.ai →
Jeśli chcesz trwały projekt Claude.ai, w którym ty i twoi uczniowie możecie prosić o codzienne quizy, strona AI Agent Builders to przewodnik MCP-first.
- Cennik - darmowy dla małych klas, płatny dla okręgów →
Darmowy plan (500 pytań/dzień) pokrywa większość nauczycieli. Plan Indie (10 000/dzień) dla użytku w okręgu szkolnym. Plan Pro (100 000/dzień) dla dostawców edtech budujących na QuizBase.