← Use cases

Use case

Registered Nurse Jobs Across Several US Cities

Registered nurse and travel nurse listings from Google Jobs in Chicago, Austin and Phoenix, with salary and direct apply links.

Say you run a small nurse-staffing agency with recruiters in Chicago, Austin and Phoenix. Every Monday you want one sheet of the registered-nurse and travel-nurse openings in those 3 metros: which hospitals are hiring, what they pay, and where to apply, so each recruiter can call the right facility before a competing agency does.

The manual way, and what it costs

Google Jobs is free and good. Search “registered nurse jobs in Chicago, IL” and you get 10 listings with pay, schedule and apply buttons. For one city on a quiet week that may be all you need, and you should just use it.

It stops being reasonable at your scale. 2 roles in 3 cities is 6 searches, and each shows only 10 jobs; to see more you search again with “Evanston”, “Oak Park” or “ICU” in the query, then remove the duplicates by eye. There is no export, so every listing is copied by hand, and next Monday you start again with no record of which jobs you already sent.

The faster way

Google Jobs Scraper: New Job Alerts, Salaries & Apply Links does the same search once and hands back every row at once.

{
  "queries": [
    "registered nurse",
    "travel nurse"
  ],
  "locations": [
    "Chicago, IL",
    "Austin, TX",
    "Phoenix, AZ"
  ],
  "maxJobsPerSearch": 50
}

Each of the 2 roles is searched in each of the 3 cities, and maxJobsPerSearch: 50 caps each of those 6 pairs at 50, so a run returns at most 300 jobs and costs at most $0.75. The actor fills each pair by searching the largest nearby cities and variants like “part time” and “contract” until it has 50 different jobs. Add "onlyNewJobs": true before you schedule it weekly, and each Monday’s sheet holds only openings you have not seen.

What comes back

{
  "job_id": "ZrBruAaEW4Eb97eJAAAAAA==",
  "title": "Sr Software Engineer",
  "company": "Charles Schwab",
  "location": "Austin, TX",
  "other_locations_count": 2,
  "via": "Schwab Jobs",
  "salary_text": "164K–205K a year",
  "salary_min": 164000,
  "salary_max": 205000,
  "salary_period": "year",
  "salary_currency": null,
  "schedule_types": [
    "Full-time"
  ],
  "work_from_home": false,
  "no_degree_mentioned": true,
  "benefit_tags": [
    "Dental insurance",
    "Health insurance",
    "Paid time off"
  ],
  "qualifications": [
    "8+ years of software engineering experience"
  ],
  "responsibilities": [
    "Design, develop, and maintain software solutions using modern engineering practices"
  ],
  "benefits": [
    "In addition to the salary range, this role is also eligible for bonus or incentive opportunities"
  ],
  "description": "Your opportunity\nAt Schwab, you’re empowered to make an impact on your career…",
  "apply_url": "https://www.schwabjobs.com/job/austin/sr-software-engineer/33727/101909398560",
  "employer_apply_url": "https://www.schwabjobs.com/job/austin/sr-software-engineer/33727/101909398560",
  "apply_options": [
    {
      "source": "Schwab Jobs",
      "url": "https://www.schwabjobs.com/job/austin/sr-software-engineer/33727/101909398560",
      "is_job_board": false
    },
    {
      "source": "CareerBuilder",
      "url": "https://www.careerbuilder.com/job-details/sr-software-engineer-blockchain-ann-arbor-mi--34192420-ab6d-446d-b589-b215d70fe39c",
      "is_job_board": true
    }
  ],
  "search_query": "software engineer",
  "search_location": "Austin, TX",
  "matched_search": "software engineer jobs in Austin, TX",
  "source_url": "https://www.google.com/search?q=software%20engineer%20jobs%20in%20Austin%2C%20TX&udm=8&hl=en&gl=us"
}
FieldExample valueMeaning
job_idZrBruAaEW4Eb97eJAAAAAA==Google’s own ID for the listing — stable, so it de-duplicates across runs
title / company / location—As Google Jobs shows them; other_locations_count says how many more places the same job is posted in
viaSchwab JobsThe site Google found the listing on, e.g. LinkedIn or the employer’s careers site
salary_text164K–205K a yearGoogle’s pay wording, verbatim, e.g. ‘164K–205K a year’
salary_min / salary_max / salary_period—The same range as numbers, and year, hour, month, week or day. salary_currency only when Google prints a symbol
schedule_types["Full-time"]Full-time, Part-time, Contractor, Internship…

The sample row above is from a software search; a nursing row has the same columns. For your recruiters, company says which hospital or health system is hiring, and salary_text with schedule_types says whether the role is worth a call. employer_apply_url gives the hospital’s own careers page when Google lists one: on 2026-10-31 that included Baylor Scott & White’s and Ascension’s job sites.

What you’d do with it

Sort the sheet by company and you have a call list grouped by facility, with the pay range in the next column. Run 2 roles around Chicago and Austin with the widest settings and the pool is deep: on 2026-10-31 that found 354 registered-nurse listings around Chicago and 281 around Austin, so 50 a pair is a deliberate slice, not the whole market.

Worth knowing

This reads what Google Jobs shows on its US site, 10 listings per search, so depth depends on how many distinct listings Google has around each city. Pay appears only where Google shows it, which was 482 of 1,113 jobs in our test. Travel-nurse listings often come from staffing agencies rather than hospitals, so company may name an agency. Rows carry no posting dates by design, which is why “only jobs not sent before” is the way to get a weekly delta.


Run it yourself: How to run Google Jobs Scraper: New Job Alerts, Salaries & Apply Links walks the whole thing step by step.

When you know the hospital systems you want and need all their open roles, the ATS jobs scraper reads an employer’s own Workday or Greenhouse board instead. To reach the hiring managers once you have the list, the business contact scraper pulls emails and phone numbers from each employer’s website.

Last updated 2026-10-31