Extract structured international school data from international-schools-database.com ; fees, curriculum, admissions, contacts, class sizes, facilities, and social links. Scrape one school, every school in a city, or the full worldwide. Ideal for education research, relocation, and CRM enrichment.
Apify Actor version in .actor/actor.json must be MAJOR.MINOR only (e.g. 1.2), not semver patch — see Apify actor versioning .
[1.5] – 2026-04-08
Input UI
Removed Max schools, Parallel browsers, and Pages per proxy session from the Console form. Defaults live in code: 3 concurrency, 50 proxy reuses per session, no school cap unless maxSchools is passed via JSON / API / Test input.
[1.4] – 2026-04-08
Cost / proxy
Session reuse: same proxy session serves up to proxyMaxUsesPerSession pages (default 50) instead of a new IP every page (maxUsageCount: 1 + forceNewSession removed). Much lower RESIDENTIAL cost.
Default proxy prefill:DATACENTER (cheaper). Use RESIDENTIAL in the Proxy widget only if needed.
Fallback when proxy groups are empty: DATACENTER (was RESIDENTIAL).
Slightly shorter random delay before each navigation (100–400 ms).
[1.3] – 2026-04-08
Input UI
Flat form: removed all sectionCaption / sectionDescription so the Console no longer renders one collapsible block per field group (same idea as a minimal single-section form).
Shorter top description; mode-specific hints moved into each field’s description.
[1.2] – 2026-04-08
Behavior
maxSchools: Omitted, null, empty, or 0 = unlimited (no cap). Removed schema default / prefill of 5 so the Apify Console no longer injects a cap unless you type one.
Apify validation with mode: all: configure maxSchools (e.g. 5) in the Actor Test input so automated runs stay short.
[1.1.1] – 2026-04-08 (actor package 1.1 on platform)
Improvements
Proxy input: Replaced checkbox + group select with proxyConfiguration and editor: "proxy" (same Apify UI as Booking Pro Host Scraper: country, groups, custom URLs).
[1.1.0] – 2026-04-08
Improvements
Smoke URL on Apify when individual mode has no URLs.
Default mode:individual when input is empty; on Apify Cloud, a built-in smoke URL is used if no URLs are provided.
Progress: ASCII progress bar, Actor.setStatusMessage, and RUN_LOG in the key-value store (same idea as Facebook Page Contact Scraper).
Code: School extraction moved to src/extractSchoolData.js; removed duplicate inline extractor from main.js.
Input: Minimal English input_schema.json; urlsToScrape accepts plain strings; normalizeUrlEntries supports { url } objects when needed.
Actor config:output_schema.json, README / CHANGELOG links, generatedBy, default 4096 MB RAM and 3600 s timeout.
Docs: Short English README; dataset field descriptions translated to English.
[1.0.0] – earlier
Initial International Schools Database scraper (Puppeteer, three modes, Apify Proxy).