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.