Be first to apply when your dream job opens

Watch a company's careers page for new openings

What you will receive

New job posting at Stripe

just now

New position found!

Senior Software Engineer
Location: Remote
Posted: Just now

View listing →

How it works

  1. 1Humrun checks the careers page on your schedule
  2. 2It compares current job titles to the last check
  3. 3New postings trigger an email with job details

You configure

https://stripe.com/jobs

The URL of the company careers page

.job-title

CSS selector for job titles

View Python code
import requests
from bs4 import BeautifulSoup
from state import state
import os

CAREERS_URL = os.environ.get("CAREERS_URL")
JOB_SELECTOR = os.environ.get("JOB_SELECTOR", "a[href*='job'], a[href*='career'], .job-title")

response = requests.get(CAREERS_URL, headers={"User-Agent": "Mozilla/5.0"})
soup = BeautifulSoup(response.text, "html.parser")
job_elements = soup.select(JOB_SELECTOR)
current_jobs = set(elem.get_text(strip=True) for elem in job_elements if elem.get_text(strip=True))

previous_jobs = set(state.get("jobs", []))
state["jobs"] = list(current_jobs)

new_jobs = current_jobs - previous_jobs

if not previous_jobs:
    print(f"First run - tracking {len(current_jobs)} jobs")
elif new_jobs:
    raise Exception(f"New job postings found:\n" + "\n".join(f"• {job}" for job in new_jobs))
else:
    print(f"No new jobs. Tracking {len(current_jobs)} positions.")

Humrun remembers all job titles between runs to detect new postings.

Suggested schedule: Every 6 hoursNotifications: When an alert is triggered
Browse more templates