Discover/Syllabus API
live

Syllabus APIsyllabus.ng

Access Nigerian school schemes of work via the Syllabus.ng API. Retrieve subjects by class level and weekly topics by term for Primary, JSS, and SSS classes.

This API takes change requests — .
Endpoint health
verified 2h ago
get_scheme_of_work
list_subjects
1/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the Syllabus API?

The Syllabus.ng API provides 2 endpoints that expose Nigerian school curriculum data — subjects by class level and full term-by-term schemes of work. The get_scheme_of_work endpoint returns up to three terms of weekly learning objectives for a given class and subject combination, covering Primary 1 through SSS 3. Use list_subjects to discover valid subject slugs before querying scheme data.

This call costs1 credit / call— charged only on success
Try it
Class level identifier (e.g. 'primary1', 'jss1', 'ss3').
api.parse.bot/scraper/f6b07dae-0a11-44e1-9b6f-0feb92cbc64d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f6b07dae-0a11-44e1-9b6f-0feb92cbc64d/list_subjects?class_slug=nursery1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace syllabus-ng-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: syllabus_ng_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.syllabus_ng_api import Syllabus, ClassLevel, SubjectNotFound

client = Syllabus()

# List subjects available for JSS 1
for subject in client.subjects.list(class_slug=ClassLevel.JSS_1, limit=3):
    print(subject.subject_slug, subject.subject_name)

# Get the scheme of work for the first subject
first_subject = client.subjects.list(class_slug=ClassLevel.PRIMARY_1, limit=1).first()

try:
    scheme = client.scheme_of_works.get(class_slug=ClassLevel.PRIMARY_1, subject_slug=first_subject.subject_slug)
    print(scheme.title, len(scheme.terms), "terms")
    for term in scheme.terms:
        print(term.term)
        for week in term.weeks[:2]:
            print(f"  Week {week.week}: {week.topic}")
except SubjectNotFound as e:
    print("not found:", e.subject_slug)

print("exercised: subjects.list / scheme_of_works.get")
All endpoints · 2 totalmissing one? ·

Returns the list of subjects available for a given class level. Each subject includes a slug usable as input to get_scheme_of_work. Coverage varies by class level (Primary classes have fewer subjects than JSS/SSS).

Input
ParamTypeDescription
class_slugrequiredstringClass level identifier (e.g. 'primary1', 'jss1', 'ss3').
Response
{
  "type": "object",
  "fields": {
    "subjects": "array of subject objects with subject_slug and subject_name",
    "class_slug": "string — the class level queried"
  },
  "sample": {
    "data": {
      "subjects": [
        {
          "subject_name": "JSS1 Agricultural Science",
          "subject_slug": "agricultural-science"
        },
        {
          "subject_name": "JSS1 Basic Science",
          "subject_slug": "basic-science"
        },
        {
          "subject_name": "JSS1 Mathematics",
          "subject_slug": "math"
        }
      ],
      "class_slug": "jss1"
    },
    "status": "success"
  }
}

About the Syllabus API

Endpoints Overview

The API exposes two endpoints. list_subjects accepts a class_slug (e.g. primary1, jss2, ss3) and returns an array of subject objects, each containing a subject_slug and subject_name. The subject_slug values from this response are the required input to the second endpoint. Coverage varies by class level — Primary classes return fewer subjects than JSS or SSS classes.

Scheme of Work Data

get_scheme_of_work accepts a class_slug and a subject_slug and returns the complete scheme of work for that class-subject combination. The response includes a terms array, typically containing First Term, Second Term, and Third Term objects. Each term holds weekly topic entries with associated learning objectives. Terms normally span 10 to 13 weeks. The response also returns a title string reflecting the page title, plus the echo of class_slug and subject_slug for reference.

Class Level Coverage

Valid class_slug values follow a consistent naming convention: primary1 through primary6 for Primary school, jss1 through jss3 for Junior Secondary School, and ss1 through ss3 for Senior Secondary School. Subjects such as math, english, and basic-science are common across levels, though subject availability differs per class. Always call list_subjects first to confirm which slugs are valid for a given class level.

Reliability & maintenanceVerified

The Syllabus API is a managed, monitored endpoint for syllabus.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when syllabus.ng changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official syllabus.ng API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
1/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a lesson planning tool that pulls weekly topics from get_scheme_of_work for a teacher's assigned class and subject
  • Generate a full-year curriculum calendar by iterating through all three terms returned in the terms array
  • Populate a school management system with subject lists per class using list_subjects
  • Create a study guide app for Nigerian students that displays term-by-term topics and learning objectives by class level
  • Validate that a school's internal syllabus aligns with the Syllabus.ng scheme of work for JSS or SSS subjects
  • Index Nigerian curriculum content for search or recommendation across Primary, JSS, and SSS levels
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Syllabus.ng have an official developer API?+
Syllabus.ng does not publish an official developer API or documented public endpoints. This Parse API provides structured access to the curriculum data available on the site.
What does `get_scheme_of_work` return for each week within a term?+
Each week entry within a term object contains a topic and associated learning objectives. Terms typically cover 10 to 13 weeks, and the response groups these under named term objects such as First Term, Second Term, and Third Term — all returned in a single API call.
Does the API cover past exam questions or assignment content alongside the scheme of work?+
Not currently. The API covers subject listings via list_subjects and weekly scheme-of-work topics via get_scheme_of_work. It does not expose past exam questions, assignment banks, or additional learning resources. You can fork this API on Parse and revise it to add an endpoint targeting that content.
Are all class levels guaranteed to return the same set of subjects?+
No — subject coverage varies by class level. Primary classes return fewer subjects than JSS or SSS levels. You should call list_subjects with the specific class_slug you intend to query before calling get_scheme_of_work, to confirm which subject_slug values are valid for that level.
Does the API support filtering scheme of work data by a specific term or week number?+
The get_scheme_of_work endpoint returns all three terms in a single response. There is no server-side filtering by term or week — filtering must be applied client-side after receiving the full terms array. You can fork this API on Parse and revise it to return a filtered single-term response if your use case requires it.
Page content last updated . Spec covers 2 endpoints from syllabus.ng.
Related APIs in EducationSee all →
myschool.ng API
Search for Nigerian schools by type, explore courses and admission requirements, and stay updated with the latest education news all in one place. Find detailed information about schools and their programs to make informed decisions about your education.
su.se API
Search and explore Stockholm University's complete course catalog to find specific courses, browse academic programs, check class schedules, and discover available subjects. Get detailed information about any course offering to plan your studies and manage your academic schedule.
ibass.jamb.gov.ng API
Search Nigerian educational institutions and discover their specific course requirements, including UTME subjects and O'level prerequisites, to make informed decisions about your tertiary education options. Find institutions by type and browse the detailed admission criteria for your desired programs all in one place.
gradschools.com API
Search graduate programs across multiple categories and discover articles about funding, financial aid, and admissions to help guide your grad school journey. Find specific program information and detailed resources all in one place to support your application and enrollment decisions.
cfainstitute.org API
Access the complete CFA Program curriculum across all three levels, including topics, learning modules, and Learning Outcome Statements directly from official CFA Institute materials. Search and retrieve structured exam content to study efficiently, compare learning objectives, or build study tools.
hyperskill.org API
Explore Hyperskill.org's learning content by browsing tracks, projects, stages, and topics, or retrieve detailed information about any specific course component and educational provider. Search and filter through the platform's complete curriculum to find exactly what you need for your learning journey.
theodinproject.com API
Access The Odin Project's complete curriculum structure including paths, courses, lessons, resources, and projects, plus search lessons and view detailed changelogs. Browse course outlines, find specific lessons and their learning materials all in one place.
econtent.msbte.edu.in API
Browse technical diploma programs and access their bilingual curriculum materials, including courses, learning outcomes, and educational content across multiple semesters. Search for specific educational resources by keyword and download course materials available in both Marathi and English.