REST API v1

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/v1

Rate limits

PlanPer minutePer month
Free1001,000
Starter50010,000
Pro2,000100,000
EnterpriseCustomUnlimited

List institutions

GET /institutions

Every 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 /courses

Master 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-courses

The 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 /categories

Hierarchical 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"]
    }
  ]
}

Ready to build?

Create your API key and make your first call in under 5 minutes.

Get your API key