Back to Blog

WAEC API Ghana

If you are building a WASSCE app for Ghana, one detail matters from the beginning: do not treat every WAEC/WASSCE question as belonging to one generic question bank.

Ghana needs to be represented explicitly in your data model.

WAEC Ghana is actively administering WASSCE in Ghana in 2026, and its official site distinguishes WASSCE for School Candidates and Private Candidates. WAEC also remains a regional examination body involving Ghana, Nigeria, Sierra Leone, Liberia and The Gambia. WAEC Ghana

For developers, SdashAPI provides a practical way to request WASSCE question data specifically for Ghana rather than building and maintaining the entire question database manually.

The actual SdashAPI request for Ghana

This is where the integration gets interesting.

SdashAPI's current documentation provides a dedicated countries endpoint:

GET https://sdashapi.com/api/countries

The response identifies Ghana as:

{
  "code": "GH",
  "name": "Ghana",
  "exams": ["waec", "wassce"]
}

More importantly, the documented V4 question endpoint accepts the country parameter. SdashAPI

So a real Ghana WASSCE Mathematics request is:

curl -X GET "https://sdashapi.com/api/v4/q?type=wassce&country=GH&subject=mathematics" \
  -H "AccessToken: YOUR_ACCESS_TOKEN"

That country=GH is important.

It tells the API:

Exam       WASSCE
Country    Ghana
Subject    Mathematics

rather than simply asking for Mathematics questions from the broader WASSCE collection. SdashAPI

Don't guess which Ghana subjects are available

A common way to build an exam app is to hard-code something like:

const subjects = [
  "English",
  "Mathematics",
  "Biology",
  "Chemistry",
  "Physics"
];

That works until your question provider changes its coverage.

SdashAPI now documents a country-specific endpoint:

GET https://sdashapi.com/api/countries/GH/subjects

There is also:

GET https://sdashapi.com/api/countries/GH/years

And:

GET https://sdashapi.com/api/countries/GH/exams

These country-level endpoints are part of the current SdashAPI API structure. SdashAPI

So a better application flow is:

GET /api/countries/GH/subjects
             ↓
Show available subjects
             ↓
GET /api/countries/GH/years
             ↓
Show available years
             ↓
Student makes selection
             ↓
GET /api/v4/q?...&country=GH

Your interface reflects what is actually available instead of pretending every subject/year combination exists.

A simple Ghana WASSCE application

Imagine a student opens your app.

They see:

WASSCE Ghana

What would you like to practise?

Mathematics
English Language
Biology
Chemistry
Physics
Economics
...

They select Mathematics.

Then:

Choose a year

2026
2025
2024
2023
2022
...

Your backend builds the API request from those selections.

For example:

const country = "GH";
const subject = "mathematics";

const url =
  `https://sdashapi.com/api/v4/q` +
  `?type=wassce` +
  `&country=${country}` +
  `&subject=${subject}`;

const response = await fetch(url, {
  headers: {
    AccessToken: process.env.SDASH_API_KEY
  }
});

const result = await response.json();

SdashAPI's own JavaScript integration guide recommends keeping production API credentials on your backend instead of exposing the raw key in client-side JavaScript. SdashAPI

WAEC and WASSCE are related, but don't model them carelessly

You'll see both terms used online.

WAEC is the examination council, while WASSCE is the examination.

For a student-facing product, people may naturally search for phrases such as:

WAEC Ghana past questions
WAEC questions Ghana
WASSCE Ghana past questions
WASSCE Mathematics questions

Your interface can accommodate familiar terminology.

But internally, use consistent identifiers.

For example:

{
  "exam": "wassce",
  "country": "GH",
  "subject": "mathematics"
}

That makes your database easier to maintain.

Ghana is not an afterthought in SdashAPI's current structure

SdashAPI's current coverage page lists WASSCE country support for:

Nigeria         NG
Ghana           GH
Sierra Leone    SL
Liberia         LR
The Gambia      GM

It also lists WASSCE coverage across 23 subjects and indicates that images and explanations are available within the dataset, although coverage of explanations is not 100%. SdashAPI

This matters because an EdTech company starting in Ghana can design for Ghana first without creating a database architecture that prevents expansion later.

You could begin with:

Ghana
  ↓
WASSCE

and later support:

West Africa
   │
   ├── Ghana
   ├── Nigeria
   ├── Sierra Leone
   ├── Liberia
   └── The Gambia

using the same underlying API structure where coverage is available.

What should you build on top of the API?

The API is only the content layer.

A useful Ghana WASSCE product still needs its own learning experience.

For example, you could offer:

Past Questions

Mathematics → 2024 → Start Practice

Timed Mock

Mathematics
40 Questions
40 Minutes

Start Examination

Review Mode

Score: 31/40

9 questions need attention

Review Mistakes

Weak Topic Practice

Your weaker areas

Algebra
Probability
Geometry

The last feature becomes more interesting when richer question metadata is available.

SdashAPI's developer material also documents richer metadata and a V4 similar-question endpoint that can retrieve related questions from a question ID. SdashAPI

That opens up experiences beyond a traditional "Next Question" app.

You can also build AI study tools with the data

A WAEC API doesn't have to power only CBT software.

Structured questions can become part of an AI study product.

Imagine:

Student answers incorrectly
        ↓
Show explanation
        ↓
Identify concept
        ↓
Fetch related questions
        ↓
Student tries again

Instead of asking an AI model to invent every practice question, you can ground the learning experience in an examination question database and use AI around that data.

That distinction matters for educational products where developers want greater control over the underlying examination content.

Check coverage before promising something to users

Don't put this on your landing page:

Every Ghana WASSCE question from every subject and every year is available.

unless you have actually verified that.

SdashAPI publishes a coverage page, and the API provides country-specific subject and year endpoints. Its current public coverage page reports an overall WASSCE range of 1988–2026, but developers should still query Ghana-specific availability rather than assuming every year has identical country-level coverage. SdashAPI

That is a much safer product design.

If a combination has no questions, handle it normally:

No questions are currently available
for this subject and year.

Choose another year

SdashAPI documents 404 for requests where no questions match the supplied filters. SdashAPI

Ghana's WASSCE ecosystem is active

This isn't merely an old examination archive use case.

WAEC Ghana's official website currently carries 2026 WASSCE information and has already published notices relating to the 2026 examination cycle. In September 2026, it also published eligibility requirements for the 2027 WASSCE for School Candidates, including requirements around the three-year SHS programme and Continuous Assessment Scores. WAEC Ghana

For EdTech developers, that means WASSCE preparation remains an active product category rather than simply a historical past-question archive.

The opportunity is to build better ways for students to use the material: practice, mock exams, explanations, progress tracking, targeted revision and adaptive learning.

Start with the API before building a giant database

If you're testing an idea, you don't necessarily need to spend weeks collecting questions first.

A more practical sequence is:

Create your application
        ↓
Connect SdashAPI
        ↓
Use the development credits
        ↓
Test Ghana with country=GH
        ↓
Build one subject properly
        ↓
Add mock + practice modes
        ↓
Test with students
        ↓
Move to production

SdashAPI provides 2,000 free development credits, so the question-data integration can be tested before committing to a production plan.

You can use the SdashAPI documentation to work with the current endpoints, check SdashAPI coverage before deciding which subjects and years to expose, and use SdashAPI Pricing when you're ready for production.

For a Ghana-focused developer, the key idea behind a WAEC API Ghana is therefore not simply "get some WAEC questions." It is being able to request structured WASSCE data with Ghana explicitly identified as GH, discover Ghana-specific subjects and years programmatically, and then build your own learning experience on top of that infrastructure.

Avatar

How can we help?

We reply immediately

Hello! 👋 How can we help you today?