Skip to main content

Introducing the MirrorMingo Exam API

· 3 min read
MirrorMingo
MirrorMingo Team

Today we're opening up the engine behind MirrorMingo. The Exam API gives any developer programmatic access to the thing that's hardest to build in African edtech: a library of real, verified past-question papers and a timed mock-exam engine — JAMB, WAEC, NECO, IELTS, SAT and more.

Why we built it

Every team building a study app in Nigeria — and across Africa — hits the same wall. The questions.

Authentic past papers are scattered across PDFs, photocopies and link-rot. Re-keying them is slow and error-prone, and the tempting shortcut — asking an LLM to "generate JAMB questions" — produces plausible nonsense that quietly teaches students the wrong things.

We spent years assembling and verifying this content against official exam-board sources. Our one rule has never changed: we never fabricate a question. Now you can build on that same foundation instead of rebuilding it.

What you get

  • An exam registry — supported exams with official section specs, timing, question types and scoring rubrics.
  • Verified past papers — grouped by year, each with a stable paper_id.
  • A mock-exam engine — open a paper into a timed attempt, page through questions, submit answers, get scored feedback.
  • Verified source links — official exam-board and past-question references.

Hello, world

import { MirrorMingo } from "@mirrormingo/sdk";

const mm = new MirrorMingo({ apiKey: process.env.MIRRORMINGO_API_KEY });

const catalog = await mm.mockExams.listPapers("jamb");
const attempt = await mm.mockExams.open("jamb", {
paperId: catalog.years[0].papers[0].paper_id,
questionLimit: 10,
});

const result = await mm.mockExams.submit("jamb", {
attemptId: attempt.attempt_id,
answers: { "1": "C", "2": "A", "3": "D" },
});
console.log(result.feedback);

Six SDKs, one source of truth

We ship official SDKs for TypeScript/Node, Python, Java, PHP, Go and Dart. All six are generated from a single OpenAPI spec, so they never drift from the API. The TypeScript SDK is hand-crafted for the DX we wanted across our own apps.

Built for the agent era too

Because so much new learning software is being built by AI agents, we also ship a Model Context Protocol (MCP) server. Point Claude Desktop, Cursor or your own agent at it and it can pull real JAMB questions and mark answers — no glue code. More on that in the next post.

Pricing & access

Start free in the sandbox with non-billable test keys. Production keys are metered per request with a generous free tier. Create your first key at Account → Developer.

Get started

We can't wait to see what you build. Tell us at developers@mirrormingo.com.