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.
Medical Solutions is seeking a travel nurse RN OR - Operating Room for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: OR - Operating Room Discipline: RN Duration: 13 week...
Medical Solutions is seeking a travel nurse RN CVICU for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: CVICU Discipline: RN Duration: 13 weeks 36 hours per week Shift: 1...
Medical Solutions Allied is seeking a travel Speech Language Pathologist for a travel job in Oakland, California. Job Description & Requirements Specialty: Speech Language Pathologist Discipline: Therapy Duration: 13...
Medical Solutions Allied is seeking a travel Certified Occupational Therapy Assistant for a travel job in Oakland, California. Job Description & Requirements Specialty: Certified Occupational Therapy Assistant Discip...
Medical Solutions Allied is seeking a travel Certified Occupational Therapy Assistant for a travel job in Oakland, California. Job Description & Requirements Specialty: Certified Occupational Therapy Assistant Discip...
Medical Solutions Allied is seeking a travel Occupational Therapist for a travel job in Oakland, California. Job Description & Requirements Specialty: Occupational Therapist Discipline: Therapy Duration: 13 weeks 40...
Medical Solutions is seeking a travel nurse RN CVICU for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: CVICU Discipline: RN Duration: 13 weeks 36 hours per week Shift: 1...
Medical Solutions is seeking a travel nurse RN Cardiac Cath Lab for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: Cardiac Cath Lab Discipline: RN Duration: 12 weeks 40 h...
Medical Solutions Allied is seeking a travel Rehabilitation Therapist for a travel job in Oakland, California. Job Description & Requirements Specialty: Rehabilitation Therapist Discipline: Therapy Duration: 13 weeks...
Medical Solutions Allied is seeking a travel Occupational Therapist for a travel job in Oakland, California. Job Description & Requirements Specialty: Occupational Therapist Discipline: Therapy Duration: 13 weeks 40...
Medical Solutions Allied is seeking a travel Speech Language Pathologist for a travel job in Oakland, California. Job Description & Requirements Specialty: Speech Language Pathologist Discipline: Therapy Duration: 13...
Medical Solutions Allied is seeking a travel Mammography Technologist for a travel job in San Francisco, California. Job Description & Requirements Specialty: Mammography Technologist Discipline: Allied Health Profes...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
About Us One Medical is a primary care solution challenging the industry status quo by making quality care more affordable, accessible and enjoyable. But this isn’t your average doctor’s office. We’re on a mission to tra...
ATC West Healthcare Services is seeking a travel nurse RN OR - Operating Room for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: OR - Operating Room Discipline: RN Durati...
Compunnel Healthcare is seeking a travel nurse RN Labor and Delivery for a travel nursing job in San Francisco, California. Job Description & Requirements Specialty: Labor and Delivery Discipline: RN Start Date: 06/2...
A well-established and highly respected obstetrics and gynecology group in the San Francisco Bay Area is seeking three generalist OB/GYN physicians to join their growing practice. The group currently consists of four OB/...
First Connect Health is seeking a travel nurse RN OR - Operating Room for a travel nursing job in Petaluma, California. Job Description & Requirements Specialty: OR - Operating Room Discipline: RN Start Date: 06/30/2...
';
}
/* ── 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