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.