STUDY ABROAD

Find Your Dream University

Explore global opportunities. Compare courses, fees, intakes and more.

Results

Sort by: Best Match Fee: Low to High Fee: High to Low University A–Z
.unigo-results{background:#F8FAFC;padding:50px 20px;font-family:Roboto,sans-serif;color:#17202A} .unigo-results *{box-sizing:border-box} .ur-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:start} /* filters */ .ur-filters{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden} .ur-fhead{background:#0B2A5B;color:#fff;padding:22px 20px;display:flex;justify-content:space-between;align-items:center;font:600 17px Poppins,sans-serif} .ur-fhead button{background:none;border:0;color:#fff;font-size:13px;cursor:pointer} .ur-gh{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border:0;border-top:1px solid #EEF2F6;color:#0B2A5B;font:600 14px Roboto,sans-serif;cursor:pointer} .ur-gh svg{width:16px;height:16px;fill:none;stroke:#0B2A5B;stroke-width:2;transition:transform .2s} .ur-grp.open .ur-gh svg{transform:rotate(180deg)} .ur-gb{display:none;padding:2px 20px 16px;max-height:240px;overflow-y:auto} .ur-grp.open .ur-gb{display:block} .ur-chk{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;cursor:pointer} .ur-chk input{accent-color:#00A6A6;width:16px;height:16px;margin:0} .ur-in{width:100%;height:40px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;outline:none} .ur-in:focus{border-color:#00A6A6} /* top bar */ .ur-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:22px} .ur-top h2{margin:0;font:400 26px Poppins,sans-serif;color:#0B2A5B} .ur-top h2 b{font-weight:700} .ur-tools{display:flex;align-items:center;gap:10px;font-size:14px;color:#667085} .ur-tools select{height:42px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;font-size:14px} .ur-dark{height:42px;padding:0 18px;border:0;border-radius:8px;background:#0B2A5B;color:#fff;font:600 14px Poppins,sans-serif;cursor:pointer} .ur-ico{width:42px;height:42px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;cursor:pointer;display:grid;place-items:center} .ur-ico svg{width:18px;height:18px;fill:none;stroke:#667085;stroke-width:1.8;stroke-linecap:round} .ur-ico.active{background:#0B2A5B;border-color:#0B2A5B} .ur-ico.active svg{stroke:#fff} /* cards */ .ur-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;transition:opacity .15s} .ur-cards.loading{opacity:.45} .ur-card{background:#fff;border:1px solid #E2E8F0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column} .ur-ch{display:flex;align-items:center;gap:12px;padding:16px;background:#F4F6F9} .ur-logo{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid #E2E8F0;display:grid;place-items:center;font:700 15px Poppins,sans-serif;color:#0B2A5B;flex-shrink:0} .ur-ch b{display:block;font:600 14px Poppins,sans-serif;color:#0B2A5B} .ur-ch small{display:flex;align-items:center;gap:4px;font-size:12px;color:#667085;margin-top:3px} .ur-cb{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1} .ur-cb h3{margin:0;font:600 16px/1.35 Poppins,sans-serif;color:#0B2A5B;min-height:44px} .ur-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:#667085} .ur-meta span{display:flex;align-items:center;gap:6px} .ur-card svg{width:17px;height:17px;fill:none;stroke:#667085;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0} .ur-ept{display:flex;align-items:center;gap:8px;background:#E8F6EE;color:#1B7F4B;border-radius:8px;padding:9px 12px;font-size:13px} .ur-ept svg{stroke:#1B7F4B} .ur-btns{display:flex;gap:10px;margin-top:auto} .ur-btns a{flex:1;height:46px;display:grid;place-items:center;border-radius:9px;font:500 14px Roboto,sans-serif;text-decoration:none} .ur-b1{border:1px solid #00A6A6;color:#0B2A5B;background:#fff} .ur-b2{background:#00A6A6;color:#fff} .ur-b2:hover{background:#008F94} .ur-empty{grid-column:1/-1;background:#fff;border:1px dashed #CBD5E1;border-radius:14px;padding:40px;text-align:center;color:#667085} /* list view */ .ur-cards.list{grid-template-columns:1fr} .ur-cards.list .ur-card{flex-direction:row;align-items:stretch} .ur-cards.list .ur-ch{width:280px;flex-shrink:0} .ur-cards.list .ur-cb{flex-direction:row;align-items:center;flex-wrap:wrap} .ur-cards.list .ur-cb h3{min-height:0;flex:1 1 220px} .ur-cards.list .ur-btns{margin:0;width:260px} .ur-more{text-align:center;margin-top:26px} .ur-more button{padding:12px 30px;border:1px solid #00A6A6;background:#fff;color:#00A6A6;border-radius:9px;font:600 14px Poppins,sans-serif;cursor:pointer} @media(max-width:900px){ .ur-wrap{grid-template-columns:1fr} .ur-cards.list .ur-card{flex-direction:column} .ur-cards.list .ur-ch{width:auto} .ur-cards.list .ur-btns{width:100%} } (function () { var root = document.getElementById('unigoResults'); if (!root) return; var API = (root.getAttribute('data-api') || '/wp-json/unigo/v1').replace(/\/$/, ''); var ENQ = root.getAttribute('data-enquire') || '/contact/'; var PER = 24; var FILTERS = [ {key:'level', label:'Study Level', type:'check'}, {key:'country', label:'Country', type:'check'}, {key:'course', label:'Courses', type:'text'}, {key:'tuition', label:'Tuition Fee', type:'max', param:'max_tuition'}, {key:'appfee', label:'Application Fee', type:'max', param:'max_appfee'}, {key:'intake', label:'Intake', type:'check'}, {key:'duration', label:'Duration', type:'check', suffix:' Months'}, {key:'ept', label:'English Waiver', type:'check'} ]; var ICON = { pin: '', clock: '', cash: '', cap: '', tick: '', chev: '' }; // current filter state var st = { check:{}, text:{}, max:{}, q:'' }; var page = 1, total = 0, reqId = 0, timer = null, ready = false, pending = null; function $(s) { return root.querySelector(s); } function esc(s) { return String(s == null ? '' : s).replace(/[&"']/g, function (c) { return {'&':'&','':'>','"':'"',"'":'''}[c]; }); } function lc(s) { return String(s || '').toLowerCase(); } /* ---------- BUILD THE QUERY STRING ---------- */ function params(extra) { var p = new URLSearchParams(); Object.keys(st.check).forEach(function (k) { if (st.check[k].length) p.set(k, st.check[k].join(',')); }); Object.keys(st.text).forEach(function (k) { if (st.text[k]) p.set(k, st.text[k]); }); FILTERS.forEach(function (f) { if (f.type === 'max' && st.max[f.key]) p.set(f.param, st.max[f.key]); }); if (st.q) p.set('q', st.q); var sort = $('#urSort').value; if (sort && sort !== 'best') p.set('sort', sort); if (extra) Object.keys(extra).forEach(function (k) { p.set(k, extra[k]); }); return p; } /* ---------- FILTER SIDEBAR ---------- */ function buildFilters(opts) { var html = ''; FILTERS.forEach(function (f) { var body; if (f.type === 'check') { var list = opts[f.key] || []; body = list.map(function (v) { return ''; }).join('') || '
No options yet
'; } else if (f.type === 'text') { body = ''; } else { body = ''; } html += '
' + body + '
'; }); $('#urFilterList').innerHTML = html; } function readChecks() { st.check = {}; root.querySelectorAll('input[data-k]').forEach(function (cb) { if (cb.checked) (st.check[cb.dataset.k] = st.check[cb.dataset.k] || []).push(cb.value); }); } /* ---------- LOAD RESULTS FROM THE SERVER ---------- */ function load(append) { var id = ++reqId; var box = $('#urCards'); if (!append) box.classList.add('loading'); fetch(API + '/courses?' + params({ page: page, per_page: PER }).toString()) .then(function (r) { if (!r.ok) throw new Error('bad response'); return r.json(); }) .then(function (d) { if (id !== reqId) return; // an older request finished late, ignore it total = d.total; box.classList.remove('loading'); var html = d.items.map(card).join(''); if (append) box.insertAdjacentHTML('beforeend', html); else box.innerHTML = html || '
No courses match your filters. Try clearing some filters.
'; $('#urMore').parentNode.style.display = (page * PER < total) ? '' : 'none'; title(); }) .catch(function () { if (id !== reqId) return; box.classList.remove('loading'); box.innerHTML = '
Could not load courses. Please try again.
'; }); } function reload() { page = 1; load(false); } function reloadSoon() { clearTimeout(timer); timer = setTimeout(reload, 350); } function title() { var t = '' + total.toLocaleString() + ' Results'; var lv = st.check.level, co = st.check.country; if (lv || co) t += ' for ' + (lv ? lv.map(esc).join(', ') : '') + (lv && co ? ' in ' : '') + (co ? co.map(esc).join(', ') : ''); $('#urTitle').innerHTML = t; } function card(r) { var ini = String(r.university).split(/\s+/).filter(Boolean).slice(0, 2).map(function (w) { return w[0]; }).join('').toUpperCase(); var fee = r.tuition ? esc(r.currency) + ' ' + Number(r.tuition).toLocaleString('en-US') : '-'; var q = '?course=' + encodeURIComponent(r.course) + '&university=' + encodeURIComponent(r.university); var href = /^https?:\/\//i.test(r.url || '') ? r.url : '#'; return '
' + '
' + esc(r.university) + '' + ICON.pin + esc(r.city) + '
' + '

' + esc(r.course) + '

' + '
' + ICON.clock + (r.duration ? esc(r.duration) + ' Months' : '-') + '' + ICON.cash + fee + '
' + '
' + ICON.cap + 'IELTS:' + esc(r.ielts || '-') + 'TOEFL:' + esc(r.toefl || '-') + 'PTE:' + esc(r.pte || '-') + 'DUO:' + esc(r.duo || '-') + '
' + '
' + ICON.tick + esc(r.ept || '-') + '
' + '' + '
'; } /* ---------- LINK TO THE SEARCH BOX ---------- */ function applySearch(p) { p = p || {}; var lv = lc(p.level), cs = (p.countries || []).map(lc); root.querySelectorAll('input[data-k="level"]').forEach(function (cb) { cb.checked = !!lv && lc(cb.value) === lv; }); root.querySelectorAll('input[data-k="country"]').forEach(function (cb) { cb.checked = cs.indexOf(lc(cb.value)) > -1; }); st.q = (p.query || '').trim(); readChecks(); root.querySelectorAll('.ur-grp').forEach(function (g) { if (st.check[g.dataset.g]) g.classList.add('open'); }); reload(); } document.addEventListener('unigo:search', function (e) { if (ready) applySearch(e.detail); else pending = e.detail; }); /* ---------- EVENTS ---------- */ root.addEventListener('change', function (e) { if (e.target.matches('input[data-k]')) { readChecks(); reload(); } }); root.addEventListener('input', function (e) { var t = e.target; if (t.matches('input[data-t]')) { st.text[t.dataset.t] = t.value.trim(); reloadSoon(); } if (t.matches('input[data-m]')) { st.max[t.dataset.m] = parseFloat(t.value) || 0; reloadSoon(); } }); root.addEventListener('click', function (e) { var h = e.target.closest('.ur-gh'); if (h) h.parentNode.classList.toggle('open'); }); $('#urSort').addEventListener('change', reload); $('#urMore').addEventListener('click', function () { page++; load(true); }); $('#urGrid').addEventListener('click', function () { setView(false); }); $('#urList').addEventListener('click', function () { setView(true); }); function setView(list) { $('#urCards').classList.toggle('list', list); $('#urList').classList.toggle('active', list); $('#urGrid').classList.toggle('active', !list); } $('#urClear').addEventListener('click', function () { root.querySelectorAll('input[data-k]').forEach(function (c) { c.checked = false; }); root.querySelectorAll('.ur-in').forEach(function (i) { i.value = ''; }); st = { check:{}, text:{}, max:{}, q:'' }; reload(); }); // Excel: the server builds the file from the same filters (up to 50,000 rows) $('#urExcel').addEventListener('click', function () { window.location.href = API + '/export?' + params().toString(); }); /* ---------- START ---------- */ var qs = new URLSearchParams(window.location.search); if (qs.has('level') || qs.has('country') || qs.has('q')) { pending = { level: qs.get('level') || '', countries: qs.get('country') ? qs.get('country').split(',') : [], query: qs.get('q') || '' }; } fetch(API + '/filters') .then(function (r) { if (!r.ok) throw new Error('bad response'); return r.json(); }) .then(function (opts) { buildFilters(opts); ready = true; if (pending) applySearch(pending); else reload(); }) .catch(function () { $('#urCards').innerHTML = '
Could not reach the course database. Check that the Unigo Courses plugin is active.
'; }); })();
Scroll to Top