Skip to content
Command Palette
Search for a command to run...
QuizBase · Docs

Quickstart#

From signup to your first response in five steps. Total time: about 5 minutes.

1. Sign up#

Create a free account — no credit card required. The Free tier gives you the full API: every endpoint, all 50k+ questions, all 20+ languages, 500 requests/day, 10 burst/10s.

2. Generate your API key#

In the dashboard, open API keys and click Create key. Pick qb_pk_* for browser/mobile code (CORS-enabled) or qb_sk_* for server-side. Both share the same per-user quota.

3. Make your first request#

Pick your language. The key placeholder below is auto-filled once you sign in.

curl -H "X-API-Key: qb_pk_YOUR_KEY_HERE" \
     "https://quizbase.runriva.com/api/v1/questions/random?amount=1&lang=pl"

4. Inspect the response#

Every question ships with attributionlicense, author, source. Keep these in your cache layer; the CC-BY-SA chain requires them.

Use the TypeScript SDK#

If you’re on Node, Deno, Bun, or in a browser — skip the raw fetch and install the official typed client:

pnpm add @quizbase/client
import { createClient } from '@quizbase/client';

const client = createClient({ apiKey: process.env.QUIZBASE_API_KEY! });
const random = await client.questions.random({ amount: 5, lang: 'pl' });
console.log(random.data);

Typed responses, automatic retry on 429 / 5xx, RFC 9457 typed errors, and an onRequest telemetry hook out of the box. Full reference: /docs/sdks/typescript.

What to expect — performance#

The catalog is 1.4M+ approved questions, served from Postgres + Redis behind Cloudflare. Discovery endpoints respond in ~30ms (warm); /v1/questions and /v1/questions/:id around 100ms; /v1/questions/random around 160ms. Verified at 50 sustained RPS and 200 RPS burst with no degradation. SLO: p95 < 500ms, error rate < 1%.

Full numbers, methodology, and quarterly drift mechanism: /docs/performance. Each /docs/api/* page also lists a per-endpoint Performance section.

5. Next steps#