Access 100,000+ past exam questions from JAMB/UTME, WAEC/WASSCE, NECO, Post-UTME, and University exams β via a single, blazing-fast REST API.
π Get Started Β· π Documentation Β· π¬ Community Β· π Report a Bug
Keywords:
JAMB past questions APIWAEC past questions APINECO past questions APIUTME questions APIPost-UTME questions APINigerian exam APIGST past questionsUniversity past questions NigeriaCovenant University past questionsUNILAG Post-UTME APIOAU Post-UTME APIFUTA Post-UTME APIUNIBEN Post-UTMELAUTECH past questionsNigeria EdTech APIpast questions JSON APIfree past questions API Nigeriaexam questions REST API
Building EdTech in Nigeria is not for the faint-hearted. After years of building StudentsDash β a platform helping Nigerian students prepare for JAMB, WAEC, NECO, and Post-UTME β founder Ogbu Chukwuemeka (Emmy) had quietly assembled one of Nigeria's most comprehensive past questions databases. Thousands of verified questions. Decades of exams. Expert-written solutions.
Then came the pivotal question:
"These questions are just sitting here. What if every developer in Nigeria could access them instantly?"
That thought became SdashAPI β Nigeria's most complete, developer-ready past questions API. Clean JSON. No scraping. No PDFs. Just one API call away.
π Read the full story β Β· π€ About the founder β
SdashAPI is the most comprehensive and developer-friendly Nigerian past questions API available. Whether you're building an EdTech app, a student revision platform, a quiz engine, or a learning management system β SdashAPI gives you instant, structured access to a growing bank of past exam questions, answers, and full worked solutions.
- β JAMB / UTME past questions (1990βpresent)
- β WAEC / WASSCE past questions (1990βpresent)
- β NECO past questions
- β Post-UTME past questions (multiple universities)
- β University exam questions (GST, GNS, course exams)
- β GCE and A-Level questions
- β Clean JSON responses β no scraping, no HTML parsing
- β CORS-enabled β works from browser, mobile, or server
- β Real-time answers + full worked solutions
- β Covers: UNILAG, OAU, UNIBEN, UNIABUJA, FUTA, LAUTECH, UNIZIK, UNIPORT, ABU, EKSU, FUOYE, EBSU and more
Create a free account at sdashapi.com and copy your AccessToken from the dashboard.
curl "https://sdashapi.com/api/v1/q?subject=chemistry&type=utme" \
-H "AccessToken: sdash_your_token_here"{
"status": 200,
"data": {
"id": 4821,
"question": "Which of the following is the chemical formula for table salt?",
"section": null,
"option": {
"a": "NaCl",
"b": "KCl",
"c": "CaCO3",
"d": "NaOH"
},
"answer": "a",
"solution": "NaCl is sodium chloride β one sodium atom bonded to one chlorine atom.",
"image": null,
"examtype": "UTME",
"examyear": "2022"
}
}That's it. No complex setup. No SDK required.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/q |
Fetch one or more past exam questions |
GET |
/api/v1/subjects |
List all available subjects |
GET |
/api/v1/exams |
List all exam types |
GET |
/api/v1/years |
List all available years |
POST |
/api/v1/report |
Report an incorrect or unclear question |
Full reference β sdashapi.com/docs
# Random chemistry question
GET /api/v1/q?subject=chemistry
# JAMB Biology 2019
GET /api/v1/q?subject=biology&type=utme&year=2019
# 10 random mixed questions
GET /api/v1/q?limit=10
# Specific question by ID
GET /api/v1/q?id=4821
# WAEC Mathematics questions
GET /api/v1/q?subject=mathematics&type=wassceAll requests require the AccessToken header:
AccessToken: sdash_your_token_here
const response = await fetch(
'https://sdashapi.com/api/v1/q?subject=biology&type=utme&limit=5',
{ headers: { 'AccessToken': 'sdash_your_token_here' } }
);
const data = await response.json();
console.log(data);import requests
resp = requests.get(
'https://sdashapi.com/api/v1/q',
params={'subject': 'biology', 'type': 'utme', 'limit': 5},
headers={'AccessToken': 'sdash_your_token_here'}
)
print(resp.json())$ch = curl_init('https://sdashapi.com/api/v1/q?subject=biology&type=utme&limit=5');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['AccessToken: sdash_your_token_here']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
print_r($data);const axios = require('axios');
const { data } = await axios.get('https://sdashapi.com/api/v1/q', {
params: { subject: 'chemistry', type: 'utme', year: 2022 },
headers: { AccessToken: 'sdash_your_token_here' }
});
console.log(data);final response = await http.get(
Uri.parse('https://sdashapi.com/api/v1/q?subject=mathematics&type=utme&limit=10'),
headers: {'AccessToken': 'sdash_your_token_here'},
);
final data = jsonDecode(response.body);More examples β docs/examples/
Every question object follows this structure:
| Field | Type | Description |
|---|---|---|
id |
integer |
Unique question ID |
question |
string |
The question text |
section |
string|null |
Shared passage/instruction (for comprehension sets) |
option |
object |
Options a, b, c, d (and optionally e) |
answer |
string |
Correct option key e.g. "a" |
solution |
string|null |
Full worked solution/explanation |
image |
string|null |
URL to associated image, if any |
examtype |
string |
Exam name e.g. "UTME", "WASSCE", "NECO" |
examyear |
string |
4-digit year as a string e.g. "2022" |
Note: When
limit=1(default),datais an object. Whenlimit > 1,datais an array.
| Subject | Slug |
|---|---|
| Biology | biology |
| Chemistry | chemistry |
| Physics | physics |
| Mathematics | mathematics |
| English Language | english |
| Economics | economics |
| Government | government |
| Geography | geography |
| Commerce | commerce |
| Accounting | accounting |
| Literature in English | englishlit |
| CRK | crk |
| IRK | irk |
| Civic Education | civiledu |
| History | history |
| Current Affairs | currentaffairs |
Get the full live list via GET /api/v1/subjects.
| Feature | SdashAPI | Others |
|---|---|---|
| JAMB/UTME past questions (1990βpresent) | β Full | |
| WAEC/WASSCE past questions | β Full | |
| NECO past questions | β Full | β Rarely |
| Post-UTME (multiple universities) | β Full | β No |
| University GST/GNS exam questions | β Full | β No |
| Worked solutions / explanations | β Yes | β Rarely |
| Clean, consistent JSON | β Yes | |
| CORS enabled (browser-safe) | β Yes | β Often not |
| Section/comprehension support | β Yes | β No |
| Option E support (5-option questions) | β Yes | β No |
| Active maintenance & updates | β Yes | β Abandoned |
| Community support forum | β Yes | β No |
Every request must include your AccessToken as an HTTP header:
-H "AccessToken: sdash_xxxxxxxxxxxxxxxxxxxx"For quick browser testing only, you can use a query parameter:
?token=sdash_xxxxxxxxxxxxxxxxxxxx
Get your token by creating a free account at sdashapi.com.
| Status | Meaning |
|---|---|
200 |
β Success |
400 |
Bad request β check your parameters |
401 |
Missing or invalid AccessToken |
403 |
Account suspended or plan expired |
404 |
No questions matched your filters, or unknown endpoint |
405 |
Wrong HTTP method |
429 |
Rate limit exceeded β upgrade your plan |
- JAMB / UTME questions (1990βpresent)
- WAEC / WASSCE questions (1990βpresent)
- NECO past questions
- Post-UTME questions (UNILAG, OAU, UNIBEN, UNIABUJA, FUTA, ABU, LAUTECH, UNIZIK + more)
- University course & GST/GNS exam questions
- GCE / O-Level questions
- Full worked solutions & explanations
- Image support for diagram questions
- Community forum
- Webhook notifications for new questions
- Official SDKs for JavaScript, Python, PHP, Dart
- GraphQL endpoint
- Question difficulty ratings
- Topic/chapter-level filtering
- Mock exam generator endpoint
SdashAPI was built by Ogbu Chukwuemeka (Emmy) β a Nigerian software developer and EdTech entrepreneur who has spent years building technology that bridges the gap between Nigerian students and academic success.
Emmy is the founder of StudentsDash, a student platform that powers the question bank behind SdashAPI. His mission: make quality exam preparation accessible to every Nigerian student, and give developers the tools to build the next generation of EdTech apps.
π Read Emmy's full biography β
π Read the full SdashAPI story β
We welcome contributions to improve the community, docs, and SDKs!
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License β see LICENSE for details.
The question content (past exam questions) is the intellectual property of their respective examination bodies (JAMB, WAEC, NECO) and is provided here for educational purposes.
- π Documentation: sdashapi.com/docs
- π¬ Community Forum: sdashapi.com/community
- π§ Email: support@sdashapi.com
nigeria past-questions jamb waec neco utme wassce post-utme university gst gns api rest-api json edtech education exam quiz nigerian-students javascript python php flutter dart unilag oau uniben futa abu lautech uniabuja unizik uniport eksu fuoye