WAEC API Sierra Leone
A WAEC API Sierra Leone is useful when your application needs Sierra Leone WASSCE questions as structured data rather than as documents students have to download and read manually.
For developers, the distinction matters. A PDF can show a question, but an API lets your software select, display, mark, analyse and reuse that question.
SdashAPI currently includes Sierra Leone in its multi-country WASSCE infrastructure, using the country code SL. SdashAPI
What does the API actually provide?
At its simplest, SdashAPI returns JSON containing fields such as:
{
"id": 5102,
"question": "Solve for x: 2x + 5 = 15",
"section": null,
"option": {
"a": "2",
"b": "5",
"c": "10",
"d": "20"
},
"answer": "b",
"solution": "Subtract 5 from both sides: 2x = 10. Divide by 2: x = 5.",
"image": null,
"examtype": "WASSCE",
"examyear": "2021",
"university": null
}
That structure comes from the current SdashAPI WASSCE documentation. SdashAPI
For a developer, this means you already have separate properties for the question, options, answer, solution and year.
You can concentrate on what your application does with them.
Requesting Sierra Leone specifically
This is where a Sierra Leone application should differ from a generic WAEC app.
SdashAPI currently identifies Sierra Leone as:
Country: Sierra Leone
Code: SL
Exams: WAEC / WASSCE
Its documented country-filtering system works with the V4 question endpoint. SdashAPI
A Sierra Leone WASSCE Mathematics request follows this pattern:
curl -X GET \
"https://sdashapi.com/api/v4/q?type=wassce&country=SL&subject=mathematics" \
-H "AccessToken: YOUR_ACCESS_TOKEN"
So the important part of your request is:
type=wassce
country=SL
subject=mathematics
You're no longer asking simply for "WAEC Mathematics."
You're asking for WASSCE Mathematics associated with Sierra Leone.
Ask SdashAPI what's available instead of guessing
Suppose you're creating a subject page.
You could manually write 20 subjects into your source code.
But SdashAPI currently exposes:
GET https://sdashapi.com/api/countries/SL/subjects
For available years:
GET https://sdashapi.com/api/countries/SL/years
And examinations:
GET https://sdashapi.com/api/countries/SL/exams
These endpoints are documented specifically for country-level discovery. SdashAPI
That gives you a much cleaner application flow:
Sierra Leone
↓
Get Available Exams
↓
Get Available Subjects
↓
Get Available Years
↓
Student Makes Selection
↓
Fetch Questions
It also prevents you from showing students a subject/year combination for which your data provider currently has no matching questions.
A small Node.js example
Your backend could do something like this:
async function getSierraLeoneWassce(subject) {
const params = new URLSearchParams({
type: "wassce",
country: "SL",
subject
});
const response = await fetch(
`https://sdashapi.com/api/v4/q?${params}`,
{
headers: {
Accept: "application/json",
AccessToken: process.env.SDASH_API_KEY
}
}
);
const result = await response.json();
if (result.status !== 200) {
throw new Error(result.message || "Unable to fetch questions");
}
return result.data;
}
The endpoint structure and AccessToken authentication here follow the current SdashAPI documentation. SdashAPI
For production apps, SdashAPI's JavaScript guide also recommends routing requests through your own backend rather than exposing the API key in frontend JavaScript. SdashAPI
Or use the official JavaScript/TypeScript SDK
There's another integration route that is easy to miss.
SdashAPI now documents an official Node.js/TypeScript SDK:
npm install @sdashapis/sdk
A basic implementation starts with:
import { SdashAPI } from "@sdashapis/sdk";
const api = new SdashAPI({
apiKey: process.env.SDASH_API_KEY
});
The SDK exposes methods including getQuestions(), getSubjects(), getExams(), getYears() and reportQuestion(). SdashAPI
There's also an official Python SDK documented as:
pip3 install sdashapis-sdk
So a Sierra Leone EdTech product does not have to be written in JavaScript to use the question infrastructure. SdashAPI
What would a useful Sierra Leone product look like?
Don't stop at this:
Question
A
B
C
D
Next
That's technically a CBT app, but it doesn't offer students much beyond digitising a question booklet.
You could instead build:
WASSCE Sierra Leone
Mathematics
↓
Choose Year
↓
Practice Questions
↓
See Score
↓
Review Mistakes
↓
Read Solutions
↓
Practise Again
Then save performance over time:
MATHEMATICS
Attempt 1 52%
Attempt 2 64%
Attempt 3 71%
Attempt 4 78%
The question API supplies the content.
The improvement loop is your product.
There's more data available than question + answer
SdashAPI's API versions currently have different levels of detail.
V1 provides the core question data.
V2 adds metadata such as:
Topic
Subtopic
Difficulty
Skill
Tags
Passage
V3 adds richer explanations, including summary, detailed reasoning, steps, why the correct answer is correct and why alternatives are wrong.
V4 adds the richer intelligence layer and multi-country WASSCE functionality. SdashAPI
That means a Sierra Leone product could eventually move from:
Here are 20 Mathematics questions.
to:
Your performance is weakest in Algebra. Here are more questions from that area.
That's a more interesting use of a question bank.
Let students report bad questions
Question banks aren't magically perfect.
Typos happen. An answer may need correction. An image might be missing.
SdashAPI currently provides a reporting endpoint:
POST https://sdashapi.com/api/v1/report
For example:
{
"question_id": 4821,
"report_type": "wrong_answer",
"message": "Please review the marked answer."
}
The documented report types include wrong answers, typos, missing images, incorrect explanations, duplicates, formatting issues, incorrect metadata and missing passages. SdashAPI
That's worth exposing in an education app as a small Report Question button.
Instead of students complaining in an app-store review, you get a question ID that can actually be investigated.
Don't promise every year just because the database is large
SdashAPI's current public coverage page reports 368,868+ questions overall. For WASSCE specifically, it reports 23 subjects, an overall 1988–2026 range, images and approximately 74% explanation coverage. Sierra Leone is one of the five supported WASSCE countries. SdashAPI
But those are overall WASSCE statistics.
They do not mean:
Every Sierra Leone subject
×
Every year from 1988–2026
=
Available
That's precisely why the country-specific endpoints are useful.
Use:
GET /api/countries/SL/subjects
GET /api/countries/SL/years
and build your interface around the data that's actually available. SdashAPI
API or your own database?
Both can make sense.
An API-first application looks like:
Student
↓
Your App
↓
Your Backend
↓
SdashAPI
This is convenient because you don't have to maintain the entire examination dataset yourself.
But perhaps you're building software for schools that must work with little or no internet.
Then you may prefer:
Licensed Question Dataset
↓
Your Own Database
↓
Local CBT Server
↓
Students
SdashAPI currently advertises bulk licensing in formats including JSON, CSV and SQL for teams that need the complete dataset offline. SdashAPI
Those are different licensing and technical models, so choose based on how your application actually needs to operate.
Build for Sierra Leone now without trapping yourself there
A nice thing about country-aware architecture is that you can launch in one market without rebuilding everything later.
Your internal model can be:
Country
↓
Exam
↓
Subject
↓
Year
↓
Question
Today:
SL → WASSCE → Mathematics
Later, where your product and dataset support it:
GH → WASSCE → Mathematics
LR → WASSCE → Mathematics
GM → WASSCE → Mathematics
NG → WASSCE → Mathematics
SdashAPI currently exposes SL, GH, LR, GM and NG as its five WASSCE country codes. SdashAPI
Start small
You don't need to build "the ultimate West African education platform" on day one.
Start with:
Sierra Leone
↓
WASSCE
↓
One Subject
↓
Past Questions
↓
Automatic Scoring
↓
Review
Then add timed mocks, progress history, explanations, topic practice and recommendations after the basic experience works.
SdashAPI currently provides free account creation and development access, so you can test requests before moving to a larger production setup. SdashAPI
Use the SdashAPI Documentation for the current API structure and SdashAPI Coverage before deciding exactly which Sierra Leone subjects and years your product will advertise.
A WAEC API Sierra Leone is most valuable when students never have to think about the API at all. They choose their WASSCE subject, practise, get marked, understand their mistakes and continue learning. The API should quietly handle the examination-data problem underneath that experience.