UniApplyForMe Data
Free plan

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

GET/v1/high-schoolsList and search schools
GET/v1/high-schools/{natEmisOrId}Get school by EMIS or ID
GET/v1/high-schools/provincesProvince school counts
GET/v1/high-schools/districtsDistrict school counts

Example

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