Don’t wait — scroll down and apply filters now to uncover opportunities that match your ambitions.
New roles are posted every hour, and your next big break could be just one click away.
Pro tip: Bookmark this page, set your filters (you can even filter by benefits important to you) and subscribe to alerts — you'll stay ahead of the competition.
Search by benefits important to your life and future. Select one or more to
refine your search.
Job Description & Requirements Gastroenterology Nurse Practitioner or Physician Assistant(NP) StartDate: ASAP Available Shifts: Day 8 Pay Rate: $106.70 - $115.50 This facility is seeking a Gastroenterology Nurse Prac...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Job Description & Requirements Mammographer Radiology Physician StartDate: ASAP Available Shifts: Regular 8 Pay Rate: $2716.00 - $2940.00 This facility is seeking a Mammographer Radiology Physician for locum tenens s...
Job Description & Requirements Mammographer Radiology Physician StartDate: ASAP Available Shifts: Regular 8 Pay Rate: $2716.00 - $2940.00 This facility is seeking a Mammographer Radiology Physician for locum tenens s...
Job Description & Requirements Mammographer Radiology Physician StartDate: ASAP Available Shifts: Regular 8 Pay Rate: $2716.00 - $2940.00 This facility is seeking a Mammographer Radiology Physician for locum tenens s...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
Locum Anesthesiologists needed to start ASAP and work ongoing near Sun Valley, CA. We are looking for a provider to cover around 3-4 days per week of OBGYN coverage both in clinic and deliveries at the hospital. Hours wi...
';
}
/* ── CORE ────────────────────────────────────────────────────────── */
function injectStyles() {
if (document.getElementById('gzj-sc-styles')) return;
var style = document.createElement('style');
style.id = 'gzj-sc-styles';
style.textContent = CSS;
(document.head || document.body).appendChild(style);
}
function kv(line) {
var sep = line.indexOf(': ');
if (sep === -1) return null;
return [line.slice(0, sep).toLowerCase().trim(), line.slice(sep + 2).trim()];
}
function isDivider(line) {
return /^={5,}/.test(line);
}
function parseSections(lines) {
var sections = {};
var name = null;
var buf = [];
for (var i = 0; i < lines.length; i++) {
var line = lines[i].trim();
if (isDivider(line) && i + 2 < lines.length && isDivider(lines[i + 2].trim())) {
if (name) sections[name] = buf;
name = lines[i + 1].trim().toUpperCase();
buf = [];
i += 2;
} else if (name && line) {
buf.push(line);
}
}
if (name) sections[name] = buf;
return sections;
}
function parseText(container) {
/* Read one line per
element to avoid double-newline issues with
innerText across different browsers. Falls back to innerText split
if no
elements are found (e.g. plain text node). */
var paras = container.querySelectorAll('p');
var lines;
if (paras.length) {
lines = Array.prototype.map.call(paras, function (p) {
return p.textContent;
});
} else {
var raw = (typeof container.innerText !== 'undefined') ? container.innerText : container.textContent;
lines = raw.split('\n');
}
var secs = parseSections(lines);
var data = { stats: [], badges: [], industries: [], highlights: [], pros: [], cons: [] };
/* CITY INFO */
var groups = {};
(secs['CITY INFO'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'city') data.city = v;
else if (k === 'state') data.state = v;
else if (k === 'page title') data.tagline = v;
else if (k === 'intro') data.intro = v;
else if (/^stat \d+$/.test(k)) {
var parts = v.split('|');
data.stats.push({ value: parts[0].trim(), label: (parts[1] || '').trim() });
}
else if (/^tag \d+$/.test(k)) data.badges.push(v);
});
/* INDUSTRIES */
groups = {};
(secs['INDUSTRIES'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.industries_heading = v;
else if (k === 'section intro') data.industries_intro = v;
else {
var m = k.match(/^industry (\d+) - (\w+)$/);
if (m) {
var n = m[1], prop = m[2];
groups[n] = groups[n] || {};
if (prop === 'icon') groups[n].icon = v;
else if (prop === 'title') groups[n].title = v;
else if (prop === 'salary') groups[n].salary = v;
else if (prop === 'description') groups[n].description = v;
}
}
});
Object.keys(groups).sort(function (a, b) { return a - b; }).forEach(function (n) { data.industries.push(groups[n]); });
/* CITY HIGHLIGHTS */
groups = {};
(secs['CITY HIGHLIGHTS'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.highlights_heading = v;
else {
var m = k.match(/^highlight (\d+) - (\w+)$/);
if (m) {
var n = m[1], prop = m[2];
groups[n] = groups[n] || {};
if (prop === 'icon') groups[n].icon = v;
else if (prop === 'title') groups[n].title = v;
else if (prop === 'text') groups[n].text = v;
}
}
});
Object.keys(groups).sort(function (a, b) { return a - b; }).forEach(function (n) { data.highlights.push(groups[n]); });
/* FIT CHECK */
(secs['FIT CHECK'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'section title') data.fit_heading = v;
else if (/^good fit \d+$/.test(k)) data.pros.push(v);
else if (/^think twice \d+$/.test(k)) data.cons.push(v);
});
/* CALL TO ACTION */
(secs['CALL TO ACTION'] || []).forEach(function (line) {
var p = kv(line);
if (!p) return;
var k = p[0], v = p[1];
if (k === 'heading') data.cta_heading = v;
else if (k === 'subtext') data.cta_subtext = v;
else if (k === 'button text') data.cta_text = v;
else if (k === 'button url') data.cta_url = v;
});
return data;
}
function transform() {
var container = document.querySelector(TARGET);
if (!container) return false;
container.style.visibility = 'hidden';
var data = parseText(container);
if (!data.city) {
container.style.visibility = '';
return false;
}
injectStyles();
container.innerHTML = buildAll(data);
container.style.visibility = '';
return true;
}
function init() {
if (transform()) return;
var observer = new MutationObserver(function () {
if (transform()) observer.disconnect();
});
observer.observe(document.body, { childList: true, subtree: true });
setTimeout(function () { observer.disconnect(); }, 10000);
}
document.readyState === 'loading'
? document.addEventListener('DOMContentLoaded', init)
: init();
})();
Never Miss a New Opportunity
Subscribe and get the latest jobs directly to your inbox