ApplyBoard APIid.applyboard.com ↗
Search 1,300+ ApplyBoard institutions and their programs. Get tuition, intake dates, success scores, school profiles, and location data via 3 endpoints.
What is the ApplyBoard API?
The ApplyBoard API exposes 3 endpoints for searching and retrieving educational program and institution data across 1,300+ partner campuses. Use search_programs to query programs by keyword, filter by specific school IDs, sort by success score, and retrieve tuition fees and intake dates. Use search_schools to paginate the full institution catalog, and get_school to pull a complete school profile including contact details, social links, and an HTML about section.
curl -X GET 'https://api.parse.bot/scraper/5810e968-dc1e-4b89-b01f-a1f87474074a/search_programs?page=1&sort=-success_score&query=Computer+Science&page_size=12' \ -H 'X-API-Key: $PARSE_API_KEY'
Search educational programs across ApplyBoard's partner institutions. Returns one page of program records with tuition fees, intake dates, embedded school summary (id, name, slug, city, province, country_code, logo_url), tags and success score, plus the total number of matching programs. One upstream request per call. When query is omitted, returns all programs sorted by success score; school_ids restricts results to one or more schools whose ids come from search_schools.schools[*].id. Pagination is controlled by page and page_size (defaults 1 and 12); walk pages until page * page_size >= total.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-indexed). |
| sort | string | Sort order for results. The default '-success_score' sorts by descending success score (highest first). The API validates the value server-side. |
| query | string | Search term for programs (e.g. 'Computer Science', 'Business', 'Nursing'). When omitted, returns all available programs. |
| page_size | integer | Number of results per page (1-100). |
| school_ids | string | Comma-separated numeric school ids (e.g. 250,4) taken from search_schools.schools[*].id; restricts results to programs offered by those schools. When omitted, programs from all schools are returned. |
{
"type": "object",
"fields": {
"page": "current page number",
"query": "the search query that was used, or null if no query provided",
"total": "total number of matching programs across all pages",
"programs": "array of program objects with id, name, school (id, name, slug, city, province, country_code, logo_url), tuition, currency, intakes, tags, and success score",
"page_size": "number of results per page"
},
"sample": {
"data": {
"page": 1,
"query": "Computer Science",
"total": 4976,
"programs": [
{
"id": 232528,
"name": "Master of Science - Computational Sciences (Course)",
"slug": "master-of-science-computational-sciences-course",
"tags": [
"top_programs",
"popular_programs",
"high_job_availability"
],
"school": {
"id": 250,
"city": "Sudbury",
"name": "Laurentian University",
"slug": "laurentian-university",
"logo_url": "https://photos.applyboard.com/schools/000/000/250/logos/small/logo_template_%281%29.png?1544133473",
"province": "Ontario",
"country_code": "CA"
},
"intakes": [
{
"id": 4391265,
"open_date": "2025-12-11",
"start_date": "2027-01-01",
"submission_deadline": "2026-08-15"
}
],
"tuition": 15876,
"currency": "CAD",
"language": "eng",
"short_name": "Computational Sciences",
"program_level": "masters_degree",
"success_score": {
"label": "High",
"intent": "positive"
},
"application_fee": 112.75,
"max_length_months": 24,
"min_length_months": 12
}
],
"page_size": 12
},
"status": "success"
}
}About the ApplyBoard API
Program Search
The search_programs endpoint accepts a query string (e.g. Computer Science, Nursing) and returns a paged list of matching programs. Each program record includes id, name, tuition, currency, intakes, and a success_score, alongside an embedded school summary object containing the institution's id, name, slug, city, province, country_code, and logo_url. Results default to descending success_score order via the sort parameter. Page size is configurable from 1 to 100. To narrow results to specific institutions, pass a comma-separated list of numeric IDs to school_ids.
School Catalog
The search_schools endpoint covers roughly 1,300 campuses. It accepts a query for case-insensitive substring matching against school name, school group name, and location code, plus a country_code filter (ISO 2-letter, e.g. CA, GB, AU). Each school record includes a numeric id, name, school_group_id, school_group_name, and a structured location_code field. The response also exposes catalog_total — the unfiltered size of the full institution list — alongside total for the filtered result count and a has_more flag for pagination.
School Profile
The get_school endpoint takes a single required school_id (numeric, sourced from either search_schools or search_programs responses) and returns the institution's full public profile. Fields include name, slug, city, country, address, website, email, about (HTML), founding year, institution type, and a social object with facebook, twitter, and linkedin URLs. Fields are null when not present on the source profile.
The ApplyBoard API is a managed, monitored endpoint for id.applyboard.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when id.applyboard.com 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 id.applyboard.com 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 program comparison tool showing tuition and intake dates side-by-side across multiple schools using search_programs with school_ids
- Populate an institution directory filtered by country using search_schools with the country_code parameter
- Display school contact cards (email, website, social links) sourced from get_school for a study-abroad guidance app
- Rank programs by success_score to surface high-likelihood admission options for a given field of study
- Aggregate average tuition data by country or province using tuition fields returned across paginated search_programs results
- Resolve a school name to a numeric ID via search_schools before fetching its full profile with get_school
- Feed an intake calendar by extracting intake dates from search_programs results filtered to a specific institution
| 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 ApplyBoard have an official public developer API?+
What does the success_score field in search_programs represent?+
success_score is a numeric value returned per program record that ApplyBoard uses to indicate how well a program matches typical applicant success. It drives the default sort order (-success_score) when no explicit sort parameter is provided. The API does not expose the underlying calculation methodology.Can I filter search_programs by country or province?+
search_programs endpoint filters by query and school_ids but does not currently expose a direct country or province filter. To restrict by geography, first use search_schools with its country_code parameter to retrieve matching school IDs, then pass those IDs to search_programs via the school_ids parameter. You can fork this API on Parse and revise it to add a native country filter to search_programs.Does get_school return admission requirements, acceptance rates, or application deadlines?+
get_school endpoint returns identity fields, contact details, social URLs, institution type, founding year, and an HTML about section. Admission requirements and acceptance rates are not part of the response. You can fork this API on Parse and revise it to add an endpoint targeting those sections of a school's public profile.How large is the school catalog and how is pagination handled?+
catalog_total field on every search_schools response. Pages are 1-indexed, configurable up to 500 schools per page via page_size, and the has_more flag indicates whether additional pages exist. The total field reflects the count after any query or country_code filter is applied.