myschool APImyschool.ng ↗
Access Nigerian school listings, course catalogs, admission requirements, past exam questions, and education news via the myschool.ng API. 8 endpoints.
What is the myschool API?
The myschool.ng API provides structured access to Nigeria's leading education portal across 8 endpoints, covering school profiles, course catalogs, JAMB/WAEC/NECO past questions, and news articles. The get_course_requirements endpoint returns UTME subject combinations, O'Level requirements, and Direct Entry requirements for specific courses at specific schools. The get_past_questions endpoint exposes paginated multiple-choice questions with correct answers and explanations filtered by subject, exam type, year, and topic.
curl -X GET 'https://api.parse.bot/scraper/024e7b9b-f175-4efa-9c90-874b24500823/search?query=admission' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search across all content types on myschool.ng — news, questions, events, groups, materials, and marketplace listings. Returns deduplicated results with title, URL, and content type. Results are not paginated; a single request returns all matches.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (e.g. 'Unilag', 'admission', 'engineering') |
{
"type": "object",
"fields": {
"query": "string, the search query submitted",
"results": "array of search result objects with title, url, and type",
"total_results": "integer, count of results returned"
},
"sample": {
"data": {
"query": "admission",
"results": [
{
"url": "https://myschool.ng/news/category/admission",
"type": "news",
"title": "Admission News"
},
{
"url": "https://myschool.ng/news/category/jamb",
"type": "news",
"title": "JAMB News"
}
],
"total_results": 52
},
"status": "success"
}
}About the myschool API
School and Course Data
The list_schools_by_type endpoint returns the full roster of Nigerian universities, polytechnics, or colleges of education — each with a name and slug. Pass that slug to get_school_info to retrieve a school's full name, abbreviation, institution type, location, and official website. get_school_courses then returns every course offered at that school, including a requirements_path field used directly as the path parameter for get_course_requirements.
Admission Requirements
get_course_requirements accepts a path from get_school_courses results and returns the three standard Nigerian admission criteria: UTME Subject Combination, O'Level Requirements, and Direct Entry Requirements. Fields are only present when the school's profile page carries that data, so sparse responses are normal for smaller institutions.
Past Exam Questions
get_past_questions accepts a subject slug (e.g. chemistry, mathematics, english-language) and optional filters for exam_type (e.g. jamb, waec, neco), exam_year, and topic. It returns 5 questions per page alongside a full list of available topics, exam_types, and exam_years to build dynamic filters. Each question object includes options (label and text), correct_answer, and explanation (null when the site has none). get_topic_questions walks all pages for a single topic internally, returning up to 200 questions per call with has_more and next_page for continuation. Set include_explanations to true to include explanation text per question.
News and Search
get_latest_news returns articles from myschool.ng's news section with title, slug, url, and summary (null when unavailable), optionally filtered by category slug. The search endpoint runs a full-text query across all content types — news, questions, events, groups, materials, and marketplace listings — and returns deduplicated results with title, url, and type in a single non-paginated response.
The myschool API is a managed, monitored endpoint for myschool.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when myschool.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 myschool.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Nigerian university finder that lists schools by type and displays their location, abbreviation, and official website.
- Automate scraping of JAMB brochure admission requirements for a given course across multiple universities using get_course_requirements.
- Create a WAEC/JAMB/NECO exam prep app with past questions, correct answers, and explanations filtered by subject and year.
- Generate a per-topic question bank for a specific subject (e.g. all chemistry periodic-table questions) using get_topic_questions.
- Monitor Nigerian education news by category to surface admission deadlines and policy changes via get_latest_news.
- Build a course comparison tool that maps UTME subject combinations and O'Level requirements across multiple schools for the same course.
- Index all school course catalogs for a searchable Nigerian higher education directory using list_schools_by_type and get_school_courses.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does myschool.ng have an official developer API?+
How do I retrieve admission requirements for a specific course at a university?+
list_schools_by_type to get the school slug, then get_school_courses with that slug to get the course list. Each course object contains a requirements_path. Pass that value as the path parameter to get_course_requirements, which returns the UTME Subject Combination, O'Level Requirements, and Direct Entry Requirements when available.How does pagination work for past questions, and what filters are available?+
get_past_questions returns 5 questions per page. The subject parameter is required. Optional filters are exam_type (e.g. jamb, waec, neco), exam_year, and topic. The response includes total_pages and total_questions so you can walk pages programmatically. If you want all questions for a topic without managing pagination yourself, use get_topic_questions instead.Does the API return postgraduate or professional school admission data?+
list_schools_by_type, with undergraduate admission requirements through get_course_requirements. Postgraduate or professional school profiles are not exposed in the current endpoints. You can fork this API on Parse and revise it to add an endpoint targeting those programme pages.Are all fields in get_school_info and get_course_requirements always populated?+
get_school_info, keys like AKA, Location, and Website may be absent for schools with incomplete profiles. For get_course_requirements, any of the three requirement fields may be missing. Always treat these as optional keys when parsing responses.