Unify Your School Operations
with School API

Blazing-fast REST & WebSocket API — real-time students, online tests, attendance, grades, reports, parent portals & more.

Trusted by 5,000+ schools, teachers & developers in East Africa and beyond

Built for Scale. Loved by Educators.

Everything modern school systems need — without the usual pain.

Lightning Fast

Sub-60ms global latency. Edge caching + optimized endpoints for student & test queries.

Enterprise-Grade Security

OAuth 2.1, API keys, RBAC, audit logs, student data privacy (GDPR & Data Protection compliant).

Auto-Scaling

From 50 students to 100k+ across 200+ schools — no infrastructure to manage.

Webhooks + Realtime

Instant updates on test submissions, attendance changes, grade releases via WebSocket.

Usage & Error Analytics

Live dashboards: requests, latency, errors, per-endpoint stats for students, tests & reports.

Developer First Support

Clear docs, SDKs (Node, Python, PHP), Slack community & priority help for schools.

Start in 60 Seconds

Simple Laravel example — fetch active students with recent test data.

PHP (Laravel/Http)
use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'Authorization' => 'Bearer YOUR_API_KEY',
    'Accept'       => 'application/json',
])->get('https://api.school.ke/v1/students', [
    'grade_level'   => 'Form 3',
    'status'        => 'active',
    'include'       => 'recent_tests',
    'limit'         => 20,
]);

return $response->json();
Example Response
JSON
{
  "data": [
    {
      "student_id": "STU-20260304-00123",
      "admission_number": "ADM-45678",
      "full_name": "Jane Muthoni",
      "grade_level": "Form 3",
      "class_name": "3A",
      "gender": "Female",
      "date_of_birth": "2009-05-12",
      "attendance_rate": 97.8,
      "average_score": 84.5,
      "status": "active",
      "recent_tests": [
        {
          "test_id": "TEST-20260301-001",
          "subject": "Mathematics",
          "score": 92,
          "max_score": 100,
          "date": "2026-03-01T09:30:00Z"
        }
      ]
    },
    {
      "student_id": "STU-20260304-00124",
      "admission_number": "ADM-45679",
      "full_name": "John Kipchoge",
      "grade_level": "Form 3",
      "class_name": "3B",
      "gender": "Male",
      "date_of_birth": "2008-11-03",
      "attendance_rate": 95.2,
      "average_score": 78.9,
      "status": "active",
      "recent_tests": []
    }
    // ... more active students
  ],
  "meta": {
    "total": 184,
    "page": 1,
    "per_page": 20,
    "filters_applied": {
      "grade_level": "Form 3",
      "status": "active"
    }
  }
}

Check out our full documentation for Node.js, Python, cURL, and more endpoints (students, online-tests, reports, attendance, grades, parents…).

View Full API Docs

Transparent Pricing

Scale confidently — generous free tier, predictable costs for any school size.

Starter

$0/mo
  • 25,000 requests
  • Basic rate limits
  • Community support
  • Webhooks + Realtime
Get Started

Enterprise

Custom
  • Unlimited requests
  • Custom SLAs & uptime
  • Dedicated support & onboarding
  • Private cloud / VPC deploy
Contact Sales

Ready to Transform Your School?

Start free today — no credit card required.

Create Free Account