High Schools API
8,000+ South African schools from the EMIS database
The complete EMIS high school dataset served as a clean REST API. Search by name, filter by province, district, quintile, and urban or rural classification. Includes coordinates, contact details, and learner counts.
What is included
Full EMIS Dataset
8,000+ secondary schools from the Department of Basic Education EMIS database.
GPS Coordinates
Latitude and longitude for every school. Build maps and proximity searches.
Trigram Search
Fast fuzzy name search powered by PostgreSQL trigram indexes.
Quintile and Sector
Filter by quintile (1-5), sector (Public or Private), and no-fee school status.
Urban and Rural
Urban and rural classification for every school.
Learner Counts
Enrolled learner and educator counts from the latest EMIS data.
Available endpoints
/v1/high-schoolsList and search schools/v1/high-schools/{natEmisOrId}Get school by EMIS or ID/v1/high-schools/provincesProvince school counts/v1/high-schools/districtsDistrict school countsExample
Request
curl "https://api.apply.org.za/v1/high-schools?search=westville&province=KwaZulu-Natal" \ -H "X-API-Key: uafm_live_your_token"
Response
{
"data": [
{
"id": 14823,
"nat_emis": "700110001",
"name": "Westville Boys High School",
"province": "KwaZulu-Natal",
"district": "eThekwini",
"town": "Westville",
"sector": "Public",
"quintile": "Q5",
"no_fee_school": false,
"urban_rural": "Urban",
"learner_count": 1240,
"latitude": -29.8368,
"longitude": 30.9282
}
],
"meta": { "total": 3, "page": 1, "per_page": 20 }
}Ready to start building?
Free plan includes access to this endpoint. No credit card required.
Get started free