Job hunting for remote positions has a dumb daily ritual: open Remotive, open RemoteOK, open a couple more boards, scroll past everything you saw yesterday, close the tabs. The good listings get hundreds of applicants within the first day, so being early actually matters — and yet most people check once a day at best.
The boring truth is that the underlying data is completely open. Three of the bigger remote-job sources expose free, keyless JSON APIs:
-
Remotive:
https://remotive.com/api/remote-jobs?limit=100— title, company, category, salary when disclosed, tags. -
RemoteOK:
https://remoteok.com/api— needs a User-Agent header, first array element is a legal notice, the rest are jobs with position, company, tags and salary ranges. -
Arbeitnow:
https://www.arbeitnow.com/api/job-board-api— mostly European listings, has aremoteboolean you must filter on (the feed includes on-site jobs too).
With those three endpoints, "watch the boards for me" collapses into a small cron job: pull the feeds hourly, dedupe by job id, match new entries against your keywords, send yourself a message. No scraping, no headless browsers, no API keys.
A few gotchas if you build this yourself:
- Dedupe across runs, not within one. Persist seen job ids; the feeds re-serve the same jobs for weeks. Seed the seen-set on first run silently, or your first alert will be a firehose of the entire backlog.
-
Don't trust tags for matching. RemoteOK in particular attaches a near-global tag cloud to every posting — a real-estate QC job tagged
golang,medicalandengineerat once. Match against title, company and location only, or your "python" alert will ping for gardening jobs. - Normalize timestamps. One source gives ISO strings without a timezone, the others give unix seconds. Pin everything to UTC before sorting, or "newest first" quietly lies.
If you'd rather not run your own cron: I wired exactly this pipeline into a Telegram bot, @RemoteJobRadarBot. /jobs python searches the merged feeds, /watch senior python pings you when a matching job appears (checked hourly, keyword matching with the caveats above already handled). There is also a channel that just streams the freshest listings: @RemoteJobRad.
Free tier covers normal use (5 searches/day, one watch). Either way — the APIs are open, and being the first applicant instead of the four-hundredth is mostly a matter of plumbing.
Top comments (0)