International Schools Database Scraper avatar

International Schools Database Scraper

Pricing

Pay per event

Go to Apify Store
International Schools Database Scraper

International Schools Database Scraper

Extract structured profiles for ~12,000 international schools across 338+ cities worldwide from international-schools-database.com. Returns curriculum (IB, British, American), tuition fees, accreditations, enrollment, age range, school group, languages, phone, and website per school.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Scrapes school profiles from international-schools-database.com — extracting school name, location, curriculum, IB programs, tuition fees, accreditations, enrollment, contact info, and more. Covers approximately 12,000 international schools across 338+ cities worldwide.

What it does

The actor navigates the site hierarchically:

  1. City index — discovers all city listing pages from /in (or accepts a list of city URLs directly)
  2. City listings — extracts school profile links from each city page
  3. School detail pages — parses structured JSON-LD data plus HTML elements to produce a rich school record

Each school record contains 21 fields sourced primarily from the site's embedded structured data (application/ld+json), supplemented by HTML extraction for phone numbers and waiting list status.

Input

FieldTypeDescription
maxItemsintegerMaximum number of school profiles to scrape. Default: 10.
cityUrlsarrayOptional list of city listing URLs (e.g. https://www.international-schools-database.com/in/dubai). Leave empty to scrape all cities.

Example inputs

Quick test — single city:

{
"maxItems": 10,
"cityUrls": ["https://www.international-schools-database.com/in/dubai"]
}

Multiple cities:

{
"maxItems": 100,
"cityUrls": [
"https://www.international-schools-database.com/in/bangkok",
"https://www.international-schools-database.com/in/singapore",
"https://www.international-schools-database.com/in/dubai"
]
}

Full global crawl:

{
"maxItems": 15000
}

Leave cityUrls empty and set maxItems to your desired limit (or omit it to scrape all schools).

Output

Each record contains:

FieldDescription
school_nameFull name of the school
cityCity where the school is located
countryCountry name
country_codeISO 2-letter country code (e.g. TH, AE, DE)
addressFull street address
curriculumComma-separated curricula (e.g. IB, British, American)
ib_programsIB programme certifications (e.g. Diploma Programme, PYP)
age_rangeTypical student age range (e.g. 2-18)
total_enrollmentTotal number of students enrolled
accreditationsComma-separated accreditations (e.g. CIS, BSO, IB)
school_groupSchool group or network (e.g. Nord Anglia, GEMS)
languages_of_instructionComma-separated languages of instruction
tuition_lowMinimum annual tuition
tuition_highMaximum annual tuition
currencyCurrency code for tuition figures
waiting_listWaiting list status (Yes / No / unknown)
phoneSchool or admissions phone number
websiteSchool's official website URL
school_urlProfile URL on international-schools-database.com
school_idSchool slug identifier from URL
descriptionSchool overview description
scrapedAtISO timestamp when the record was scraped

Example output

{
"school_name": "Agora International School Andorra",
"city": "Andorra la Vella",
"country": "Andorra",
"country_code": "AD",
"address": "Carrer de la Roda, 3, AD500 Andorra la Vella",
"curriculum": "IB",
"ib_programs": "Primary Years Programme, Middle Years Programme, Diploma Programme",
"age_range": "2-18",
"total_enrollment": 650,
"accreditations": "IB World School",
"school_group": "",
"languages_of_instruction": "English, Spanish, Catalan",
"tuition_low": 11900,
"tuition_high": 17000,
"currency": "EUR",
"waiting_list": "No",
"phone": "+376 737 460",
"website": "https://www.agoraandorra.com",
"school_url": "https://www.international-schools-database.com/in/andorra/agora-international-school-andorra",
"school_id": "agora-international-school-andorra",
"description": "Agora International School Andorra is a leading international school...",
"scrapedAt": "2026-05-03T20:14:00.000Z"
}

Usage notes

  • Start with a city URL for testing — Andorra (/in/andorra) has only 2 schools and completes in seconds
  • Full global crawl discovers ~338 cities and ~12,000 schools; allow several hours with timeoutSecs: 21600
  • Tuition fields are in the school's local currency — check currency to interpret values correctly
  • waiting_list is extracted from the school's self-reported Q&A section; some schools do not fill this in (returns unknown)
  • Residential proxies are used automatically to ensure reliable access from all regions

Performance

  • Concurrency: up to 10 parallel requests
  • Typical throughput: ~80-100 schools/minute in cloud
  • Memory: 512 MB