A clock at minute zero above job board tiles, with an arrow showing postings reaching company ATS boards before the large boards and aggregators
All posts
How-To Guides

Where Developer Jobs Surface First, and How to See Them Within Hours Instead of Days

October 10, 20268 min read

Written by Best JobFinder’s founder.

https://boards-api.greenhouse.io/v1/boards/<company>/jobs?content=true
https://api.lever.co/v0/postings/<company>?mode=json

Those two URLs are public, need no authentication, and return every open role at any company that uses Greenhouse or Lever, as JSON, the moment the role is published. For a developer, that is the entire "job alerts" industry in two curl commands.

This post is about timing. Not because early applicants are magically better, but because of how review works: recruiters start screening as applications arrive, build a shortlist, and schedule calls. A role that stays open for four weeks is often effectively decided in its first few days. You cannot control how many people apply. You can control whether you are in the first batch.

Where a posting appears and when: the company's ATS board first, then LinkedIn and Indeed, then aggregators, then your Sunday batch

The order in which a job appears

A posting is born in the employer's applicant tracking system. From there it propagates outward, and each hop costs time.

  1. The company's own board. boards.greenhouse.io/<company>, jobs.lever.co/<company>, jobs.ashbyhq.com/<company>, <company>.wd5.myworkdayjobs.com, or a careers page that embeds one of those. The role is visible here the moment someone publishes it.
  2. LinkedIn, Indeed and the other large boards. Either the recruiter posts it by hand, or the ATS syndicates it. Either way this is later: minutes if automated, a day or two if a human has to do it, and sometimes never for roles the company fills from its own board.
  3. Aggregators and niche boards. Many of these scrape the large boards or the ATS boards on a schedule. Another few hours to a couple of days.
  4. Your Sunday batch. If you search once a week, most of what you see is three to six days old, and the first screening calls are already booked.

The practical consequence: the best place to find a job is usually not a job board. It is the list of companies you want to work for, checked at the source, often.

Build the source list

Thirty to sixty companies is a workable number. Where to get them:

  • Previous postings. Search LinkedIn for your title, read the last month of results, and note the companies, not the jobs. Companies that hired for your role recently hire for it again.
  • Who is hiring threads. Hacker News runs a "Who is hiring?" thread on the first of every month. It is one page, searchable, and the companies on it are small enough that your application is read by an engineer.
  • Your stack's ecosystem. The companies that sponsor the conference, maintain the libraries you use, or write the engineering blog posts you read.
  • Competitors of a company you liked. If one company's posting read well, its competitors have the same roles.

For each one, find out which ATS it uses from the careers page URL. That tells you which of the following tricks apply.

Watch the source directly

Greenhouse and Lever, by API

Both expose public read-only endpoints for their job boards. No key, no login.

# every open Greenhouse role at a company, with descriptions
curl -s "https://boards-api.greenhouse.io/v1/boards/acme/jobs?content=true" | jq '.jobs[] | {title, location: .location.name, updated_at, absolute_url}'

# every open Lever posting at a company
curl -s "https://api.lever.co/v0/postings/acme?mode=json" | jq '.[] | {text, categories, createdAt, hostedUrl}'

Put thirty of those in a script, run it from cron every morning, diff against yesterday's output, and you have a job alert that is faster than LinkedIn's and covers only companies you chose. The Greenhouse response includes an updated_at; Lever's includes createdAt as epoch milliseconds. Sort by them.

Ashby and Workday boards also render from JSON APIs; they are less stable and not documented as public, so treat them as something to inspect in your browser's network tab rather than depend on.

Google, by ATS host

Search engines index the ATS boards. Restricting a query to one host cuts out every aggregator copy and every "apply via" intermediary:

site:boards.greenhouse.io "senior backend engineer" remote
site:jobs.lever.co "platform engineer" berlin
site:jobs.ashbyhq.com "staff engineer"
site:myworkdayjobs.com "software engineer" "go" -intern

Use the search engine's time filter (past 24 hours, past week). Yes, you will miss companies that embed the board on their own domain; the source list covers those.

LinkedIn, sorted by time

LinkedIn's job search defaults to relevance, which mixes in week-old postings. Two settings fix it:

  • Date posted: past 24 hours. The URL parameter is f_TPR=r86400; r604800 is past week. Bookmark the search with it set.
  • Sort by: most recent rather than most relevant.

Then search the posts, not the jobs. A founder writing "we're hiring a backend engineer, DM me" in a post is a role that may never become a listing. Search for "we're hiring" backend or hiring "senior engineer" under Posts and filter to past week.

The niche boards, for what they cover

  • Remote-first roles: RemoteOK, We Work Remotely, Himalayas, Remotive. Many of these pull from the ATS boards, so they are a second net, not a first.
  • Startups: Wellfound. Direct postings by founders, often before the role exists anywhere else.
  • Compensation-tagged roles: Levels.fyi's job board lists salary bands up front, which saves you a screening call.
  • US contract and enterprise: Dice.
  • Regional: every country has one or two that outperform LinkedIn locally (Kariyer.net in Turkey, for example). Ask someone who got hired there recently.

The routine

The sources above only pay off with a cadence. The one that works:

  • Fifteen minutes every morning, not three hours on Sunday. Run the script or open the bookmarked searches, read only what is new since yesterday.
  • Decide fast. For each new posting, five to eight hard requirements; if you do not have half, close it. Timing only helps on roles you fit.
  • Apply the same day to the ones that pass, through the company's own board where possible rather than through an aggregator's "easy apply" copy. The application lands directly in the ATS, and you avoid being one of two duplicate records.
  • Deduplicate before you apply. The same role appears on three boards. Apply once.
  • Have the documents ready. The reason people apply late is that tailoring takes thirty minutes, so the application waits for the weekend. Fifteen minutes with a master resume is what makes same-day possible.

What early does not fix

Being first with a weak application is still a weak application. The posting's requirements, the resume's first screen and the knockout questions decide whether you are screened in; timing decides whether anyone is still screening when you arrive. Early is the cheapest edge available, and it is worth almost nothing without the rest.


I build a job-search tool for a living, and its discovery side is a scheduled version of exactly this: the ATS boards polled first, the big boards second, deduplicated into one list. Everything above works with cron and curl.

Ready to automate your job search?

Best JobFinder combines job discovery, AI skill matching, resume tailoring, and configurable auto-submit in one platform — with a 7-day free trial.

Try Best JobFinder free →