{% extends "base.html" %} {% block title %}Settings — Job Cannon{% endblock %} {% block content %}
Configure job search preferences, sources, and scoring. Changes persist to config.yaml.
Read job-alert emails over IMAP with a Google App Password — the secondary route in addition to (or instead of) the Gmail API. See onboarding for how to generate one at myaccount.google.com/apppasswords.
Niche job-board discovery. When enabled, Job Cannon polls RemoteOK, Remotive, and Himalayas automatically (no key). The portals below each ship as optional — two are keyless (Jobicy, Y Combinator) and three require a free signup (USAJobs, Adzuna, Jooble) in exchange for a generous free tier.
Caps DataForSEO/CSE site: queries
Leave empty to use your target titles.
Keyless portals (no signup)
USAJobs — US federal jobs (free with email registration)
Adzuna — global aggregator (free dev tier, ~250 calls/day per country)
ISO: us, gb, au, ca, de, fr, in, sg…
Jooble — global aggregator (free with email registration)
Most users won't need these — Job Cannon ships with free alternatives (RemoteOK, Remotive, Himalayas, USAJobs, Adzuna, Jooble, Jobicy, Y Combinator's Work at a Startup, Google Programmable Search). Add a key only if you want faster speed-to-discovery, or to backfill job descriptions for postings missing detail.
Cheapest of the SERP options (~$0.87/month at default settings). Credentials are base64(login:password) — copy from DataForSEO API access.
base64(login:password)
Results per query (each 10 = 1 billing unit)
Free 100 queries/day; $5 per 1000 thereafter. Job Cannon caps usage at 95/day and runs CSE-backed portal search once daily. Setup: (1) create a search engine at programmablesearchengine.google.com ("Search the entire web"); (2) copy the Search engine ID into "Search Engine ID" below; (3) enable the Custom Search API in Google Cloud Console and create an API key (paste into "API Key" below). Activates only when DataForSEO is not enabled (DataForSEO has no daily cap, so it's preferred).
Control API spending. Mid/High-tier calls are paused when daily spend reaches the cap. Low-tier is always allowed.
Default: ${{ DEFAULT_DAILY_BUDGET_USD|int }}/day
Jobs with a candidate_score below this (from initial ingestion) are skipped for full AI scoring.
ATS scanning queries 12 public ATS APIs for new job postings at tracked companies: Lever, Greenhouse, Ashby, Workday, SmartRecruiters, Recruitee, Breezy, JazzHR, Pinpoint, Personio, BambooHR, and Teamtailor. No AI API calls are used during discovery — only keyword matching against your target titles.
Comma-separated: mon,tue,wed,thu,fri,sat,sun
Hour to run scan (default: 7 AM)
Changes are written to config.yaml and take effect immediately.