EduGate API Documentation
One API for Uganda's higher education data. Authenticate with a Bearer token, call any endpoint, get structured JSON back.
Fast
Edge-cached, < 200ms p50.
Secure
Bearer-token auth, per-key rate limits.
Predictable
Nested JSON that LLMs and humans parse reliably.
Authentication
Create an API key in your dashboard and pass it via Authorization: Bearer … or the x-api-key header.
Base URL
https://edugate-api.vercel.app/api/v1Rate limits
| Plan | Per minute | Per month |
|---|---|---|
| Free | 100 | 1,000 |
| Starter | 500 | 10,000 |
| Pro | 2,000 | 100,000 |
| Enterprise | Custom | Unlimited |
List institutions
GET /institutionsEvery accredited university, college, technical, vocational, and nursing school in Uganda. Filter by region, type, ownership, or accreditation.
curl "https://edugate-api.vercel.app/api/v1/institutions" \ -H "Authorization: Bearer edg_your_api_key"
{
"id": "UG-UNIV-001",
"name": "Makerere University",
"type": "university",
"ownership": "public",
"year_established": 1922,
"campuses": [
{ "name": "Main Campus", "region": "Central", "district": "Kampala" }
],
"rankings": { "national": 1, "global": 450 }
}List courses
GET /coursesMaster course catalog across all institutions. Includes tuition, intakes, career paths, study mode, and NCHE accreditation status.
curl "https://edugate-api.vercel.app/api/v1/courses" \ -H "Authorization: Bearer edg_your_api_key"
{
"id": "CRS-MAK-101",
"name": "Bachelor of Science in Computer Science",
"duration_years": 3,
"institution": { "name": "Makerere University" },
"tuition": { "local_per_year": "1,200,000 UGX" },
"admission_requirements": {
"a_level_combinations": ["PCM", "PMC"],
"minimum_principal_passes": 2
},
"career_paths": ["Software Developer", "Data Scientist"]
}Match A-level to courses
POST /alevel/match-coursesThe killer feature. Given a student's combination and grades, returns every eligible course ranked by fit with admission probability and alternatives.
curl -X POST "https://edugate-api.vercel.app/api/v1/alevel/match-courses" \
-H "Authorization: Bearer edg_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"combination_code": "PCM",
"principal_passes": 3,
"preferences": { "region": "Central" }
}'{
"matched_courses": [
{
"course": "BSc Software Engineering",
"institution": "Makerere University",
"match_score": 98,
"admission_probability": "high",
"reason": "PCM accepted. Strong Math required — you qualify."
}
]
}Get weighting formula
GET /weighting-system/{course_id}The exact merit-entry formula for a public university course. Essential, relevant, and desirable subjects with per-grade points — for calculating admission scores.
curl "https://edugate-api.vercel.app/api/v1/weighting-system/{course_id}" \
-H "Authorization: Bearer edg_your_api_key"{
"course_name": "BSc Computer Science",
"weighting_formula": {
"essential_subjects": {
"Mathematics": { "weight": 2.0, "minimum_grade": "Principal" }
},
"relevant_subjects": {
"Physics": { "weight": 1.5 }
}
},
"minimum_weighted_score": 35
}Course categories
GET /categoriesHierarchical course categories (Faculty → Department → Level). Useful for building navigation menus or helping AI agents understand course taxonomy.
curl "https://edugate-api.vercel.app/api/v1/categories" \ -H "Authorization: Bearer edg_your_api_key"
{
"categories": [
{
"name": "Engineering",
"subcategories": ["Civil", "Software", "Petroleum"],
"levels": ["Diploma", "Bachelor", "Master", "PhD"]
}
]
}