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 '' +
'