Back to Blog
CBT question bank API

CBT question bank API

A CBT question bank API gives developers structured examination questions that can be fetched directly into a CBT app, school examination platform, quiz system or exam-preparation website.

Instead of manually storing thousands of questions yourself, your application can request the questions it needs based on factors such as examination, subject, year or number of questions.

For developers working with Nigerian and West African examinations, SdashAPI provides question data for examinations including UTME, WASSCE, NECO and Post-UTME.

How does a CBT question bank API work?

The basic idea is simple:

Student chooses an exam
        ↓
Your app sends a request
        ↓
Question API
        ↓
Structured questions returned
        ↓
CBT session begins

For example, your application might need:

Exam: UTME
Subject: Biology
Year: 2024
Questions: 40

Instead of searching a large local database manually, your backend requests the matching data from the API.

What should the API return?

A useful CBT question response should contain enough information for your software to understand the question.

A simplified example:

{
  "id": 48291,
  "question": "Which of the following is correct?",
  "option": {
    "a": "Option A",
    "b": "Option B",
    "c": "Option C",
    "d": "Option D"
  },
  "answer": "b",
  "solution": "Explanation of the correct answer.",
  "examtype": "UTME",
  "examyear": "2024"
}

Depending on the question and API version, richer data can also include information such as:

  • Topic
  • Subtopic
  • Difficulty
  • Passage
  • Images or diagrams
  • Tags
  • Detailed explanations

These additional fields can help you build much more than a simple quiz.

One API can support different CBT modes

A structured question bank can power several parts of your application.

For example:

Past Question Practice

UTME → Biology → 2024

Random Practice

WASSCE → Mathematics → 20 Random Questions

Topic Practice

Biology → Genetics → 15 Questions

Mock Examination

40 Questions
30 Minutes
Answers hidden until submission

You don't need a different question system for every mode. Your application changes how the same structured data is selected and presented.

API question bank vs building your own database

You can certainly build your own question bank.

However, you become responsible for collecting and maintaining:

Questions
Options
Answers
Explanations
Subjects
Years
Passages
Images
Topics
Corrections

You also need to keep the structure consistent.

With an API, the architecture can instead be:

CBT App
   ↓
Your Backend
   ↓
Question Bank API

This lets your team focus more heavily on the application itself.

Why use a backend?

For production applications, it is usually better to place your own backend between the frontend and the question API.

React Native / Flutter / Web
             ↓
        Your Backend
             ↓
          SdashAPI

Your backend can handle:

  • API credentials
  • User authentication
  • Subscriptions
  • Usage limits
  • Question-session creation
  • Scoring
  • Analytics

It also prevents you from unnecessarily exposing production API credentials in frontend code.

Prepare the CBT session before starting the timer

If a student requests 40 questions, it is usually better to prepare the required session first rather than requesting another question every time they press Next.

Request questions
      ↓
Prepare session
      ↓
Questions ready
      ↓
Start timer
      ↓
Student begins

This gives students a smoother experience and reduces problems caused by temporary network interruptions.

Use question IDs

Every question should ideally have a stable identifier.

For example:

{
  "question_id": 48291,
  "selected_answer": "d"
}

Question IDs make it easier to build:

  • Bookmarks
  • Questions I Got Wrong
  • Question reporting
  • Attempt history
  • Performance analytics
  • Revision lists

You can reference the question instead of repeatedly storing the entire record.

Explanations matter for practice apps

If you're building an educational CBT platform rather than only an examination simulator, explanations are valuable.

Instead of:

Incorrect.
Correct Answer: B

you can provide:

Your Answer: D
Correct Answer: B

Explanation:
[Why B is correct]

This helps students understand the concept behind the answer.

Images and passages should also be supported

Real examination questions are not always plain text.

Your CBT system should be prepared for:

  • Comprehension passages
  • Diagrams
  • Graphs
  • Tables
  • Maps
  • Scientific illustrations
  • Mathematical content

If the API returns an image reference, your application should render it only for the relevant question.

For long passages, consider keeping the passage accessible while students navigate between its related questions.

Using SdashAPI as a CBT question bank API

SdashAPI provides structured examination data that developers can integrate into CBT and EdTech products.

A typical setup is:

Your CBT Platform
       ↓
Your Backend
       ↓
SdashAPI
       ↓
UTME / WASSCE / NECO / Post-UTME Data

This is useful if you're building one application that needs to support several examinations without maintaining separate question infrastructures for each one.

Available examination data can be reviewed through SdashAPI Coverage.

Start with 2,000 free credits

Developers can start with 2,000 free SdashAPI credits for development and testing.

You can use them to test things such as:

  • API integration
  • Question fetching
  • Subject filtering
  • Year filtering
  • JSON parsing
  • Answers
  • Explanations
  • Images
  • Passages
  • CBT scoring

This means you can first confirm that the API works for your application before moving to production.

Use the SdashAPI Documentation when implementing your integration.

Development and production

Keep your development environment separate from your live application.

Development API Key
       ↓
Build and Test
       ↓
Application Ready
       ↓
Production API Key
       ↓
Launch

When you're ready for real users, you can review available API plans and Pay As You Go options through SdashAPI Pricing.

What about offline CBT apps?

If your CBT app needs extensive offline access, normal API requests may not be enough.

You may instead need an architecture involving permitted caching or a licensed bulk dataset stored in your own database.

For example:

Licensed Dataset
       ↓
Local Database
       ↓
Offline CBT App

This is different from normal API usage, so developers with bulk or specialised offline requirements can discuss their project through SdashAPI Contact.

Choosing a CBT question bank API

Before integrating any provider, check:

  • Examination coverage
  • Subject coverage
  • Available years
  • Question quality
  • Answer availability
  • Explanation quality
  • Image and passage support
  • Filtering options
  • Stable question IDs
  • API documentation
  • Pricing and usage limits
  • Commercial-use terms

Don't choose an API based only on the advertised number of questions. The structure and usability of the data are just as important.

Getting started

A straightforward process is:

Create an account
      ↓
Get development credentials
      ↓
Fetch a few questions
      ↓
Build your question screen
      ↓
Add navigation and scoring
      ↓
Test images and passages
      ↓
Build practice/mock modes
      ↓
Generate production credentials
      ↓
Launch

Developers can start with SdashAPI, follow the API documentation, check examination coverage, and review production pricing.

A good CBT question bank API should solve the data problem without deciding how your product should work. The API supplies structured examination content; you remain in control of the CBT interface, scoring system, subscriptions, analytics and overall student experience.

Avatar

How can we help?

We reply immediately

Hello! 👋 How can we help you today?