Back to Blog

WAEC questions JSON API

A WAEC questions JSON API allows developers to retrieve WASSCE questions in a structured format that can be used directly in CBT apps, exam-preparation websites, school platforms and other EdTech products.

Instead of manually converting past-question PDFs into database records, an API can return the question, options, answer, explanation, year, subject and other available information as JSON.

SdashAPI provides structured WASSCE examination data that developers can integrate into their applications.

What does a WAEC question look like in JSON?

A simplified response might look like this:

{
  "id": 52941,
  "question": "Which of the following statements is correct?",
  "option": {
    "a": "Option A",
    "b": "Option B",
    "c": "Option C",
    "d": "Option D"
  },
  "answer": "c",
  "solution": "Explanation of why option C is correct.",
  "examtype": "WASSCE",
  "examyear": "2024",
  "image": null
}

Because every part of the question has its own field, your software can easily display and process the data.

Why JSON instead of WAEC past-question PDFs?

PDFs are useful when a student simply wants to read questions.

They are less convenient when you're building software.

Your application needs to know:

What is the question?

What are the options?

Which answer is correct?

What subject is this?

What year is it from?

Does it require an image?

Is there an explanation?

With structured JSON, these values can already be separated.

That means less time manually extracting and reorganising examination content.

Fetching WASSCE questions by subject

Suppose you're building a CBT application and a student selects:

WASSCE
Biology
40 Questions

Your backend can request Biology questions from the API and use the returned JSON to create the examination session.

The same process can work for another subject:

WASSCE
Mathematics
40 Questions

Your frontend doesn't need an entirely different question system for each subject.

Fetching questions by year

You can also build year-based practice.

For example:

WAEC/WASSCE Biology

2024
2023
2022
2021
2020

When a student chooses a year, your backend requests questions matching that selection.

Conceptually:

examtype = wassce
subject = biology
year = 2023

The exact request syntax should follow the current SdashAPI Documentation.

Turning JSON into a CBT interface

Once the JSON arrives, your application can display it however you want.

For example:

function QuestionCard({ question }) {
    return (
        <div>
            <h3>{question.question}</h3>

            {Object.entries(question.option).map(([key, value]) => (
                <button key={key}>
                    {key.toUpperCase()}. {value}
                </button>
            ))}
        </div>
    );
}

You can then add:

  • Previous and Next buttons
  • Timer
  • Question navigation
  • Flag for review
  • Automatic scoring
  • Explanations
  • Results

The API provides the question data. Your application provides the examination experience.

Answers and explanations

If the response contains the correct answer, your application can automatically mark a student's attempt.

After submission, you might display:

Your Answer: B
Correct Answer: D

Explanation:
[Detailed explanation]

This is especially useful for exam-preparation applications because students can learn from mistakes instead of simply seeing their scores.

Images and diagrams

Some WASSCE questions depend on diagrams, graphs, maps, tables or other visual material.

A JSON record can contain an image field:

{
  "question": "Study the diagram and answer the question.",
  "image": "https://example.com/question-image.jpg"
}

Your application checks whether an image exists and displays it when necessary.

For mobile apps, allowing students to enlarge detailed diagrams can improve usability.

Handling passages

Passage-based questions also need proper structure.

Your application might display:

[ READ PASSAGE ]

Question 4 of 6

According to the passage...

A. ...
B. ...
C. ...
D. ...

Structured passage data makes it easier to keep several related questions connected to the text students need to answer them.

WAEC and WASSCE terminology

Developers commonly search for a "WAEC API," but it helps to distinguish the terms.

WAEC is the West African Examinations Council, while WASSCE is the examination.

For your application, you might display:

WAEC / WASSCE

while internally using something like:

{
  "examtype": "WASSCE"
}

This keeps your interface familiar to students while maintaining a cleaner data structure.

Building for more than Nigeria

WASSCE is relevant across several West African countries.

If you're developing a regional exam-preparation platform, your architecture should be able to distinguish country-specific data where supported.

For example:

{
  "examtype": "WASSCE",
  "country": "Ghana",
  "subject": "Mathematics",
  "year": "2024"
}

This can make it easier to expand your product across Nigeria, Ghana, Sierra Leone, Liberia and The Gambia without redesigning the entire database later.

Check currently available country and examination data through SdashAPI Coverage.

Using SdashAPI for WASSCE JSON data

A typical integration can look like:

Student
   ↓
Your CBT App
   ↓
Your Backend
   ↓
SdashAPI
   ↓
WASSCE JSON Data

Your backend requests the required examination data and sends the necessary information to your frontend.

This architecture also helps you keep production API credentials away from public frontend code.

Start with 2,000 free credits

SdashAPI provides developers with 2,000 free credits for development and testing.

You can use them to test:

  • Fetching WASSCE questions
  • JSON parsing
  • Subject filtering
  • Year filtering
  • Country filtering where supported
  • Images and diagrams
  • Passages
  • Answers
  • Explanations
  • CBT scoring

This allows you to build and test the integration before choosing a production plan.

You can create an account through SdashAPI.

Development and production API keys

It's useful to keep development and production separate.

During development:

Your Test App
     ↓
Development API Key
     ↓
SdashAPI

When your application is ready:

Production App
     ↓
Your Backend
     ↓
Production API Key
     ↓
SdashAPI

You can then choose a suitable production option from SdashAPI Pricing.

WAEC JSON API vs bulk JSON dataset

These are not necessarily the same thing.

With an API:

Your App → Backend → API → JSON Response

Your application requests the questions it needs.

With a bulk dataset:

Licensed JSON Dataset → Your Database → Your App

you maintain the question database yourself.

Bulk JSON may be more suitable for applications requiring extensive offline access or direct control of their own examination database.

For such requirements, developers can use SdashAPI Contact to discuss the project.

Check coverage before building

Before advertising a particular WASSCE subject, year or country, confirm that the data you require is available.

The SdashAPI Coverage Page can help with this.

Your application can also dynamically display only available options rather than hard-coding every possible year.

Is SdashAPI an official WAEC API?

No. SdashAPI is an independent examination-data platform for developers and is not an official API operated by the West African Examinations Council.

Applications using the data should also avoid presenting themselves as official WAEC products unless they have the appropriate official status.

Getting started

The process can be simple:

Create SdashAPI account
        ↓
Get 2,000 free credits
        ↓
Generate development API key
        ↓
Request WASSCE questions
        ↓
Receive structured JSON
        ↓
Build and test your application
        ↓
Generate production API key
        ↓
Choose a production plan
        ↓
Launch

You can start from SdashAPI, follow the SdashAPI Documentation, check available examination data through SdashAPI Coverage, and review production options on SdashAPI Pricing.

A WAEC questions JSON API is useful when you need WASSCE questions as software-ready data rather than documents. It lets you spend less time manually organising question banks and more time building the CBT, revision and learning features your users actually need.

Avatar

How can we help?

We reply immediately

Hello! 👋 How can we help you today?