The “100+ applicants” wall: a fresh-job morning routine for LinkedIn
Use a daily posting-age search to find newer LinkedIn roles, while keeping the evidence and limits of application timing in view.
You find a job posting that looks perfect. You spend forty minutes on the cover letter, hit apply, and right under the button it says "over 100 applicants."
That number is not a verdict on your application, and it does not reveal the employer's review order. It does tell you the pool is crowded. LinkedIn's own historical analysis of 4.5 million posts found that 57% of applications in its sample arrived Monday through Wednesday, but the data covered US and UK posts from 2016–2017 and does not prove that an earlier application is preferred by every employer.
Freshness is a practical way to spend your time on less-aged postings. Whether it also gets you read sooner depends on how the employer works through the pile. In 2019 Facebook ran three field experiments on its Jobs on Facebook board, later published in Management Science. In that data, applications that arrived later were less likely to be viewed by the employer, and the gap showed up within the first five applications. Those were mostly full-time jobs that did not need a degree, most often in sales, driving and fast food. So it may help on some postings. It says little about how a LinkedIn recruiter reads.
Why do the jobs I find already have 100 applicants?
Companies post jobs all week, all day. You search when you have energy: Sunday evening, maybe a lunch break. So on any search, some of the results have been live for days.
Applications bunch up early in a posting's life. A 2017 Chicago Booth study tracked 66 million applications since 2012 on DHI Group's US job boards for computer, technology, finance, and other technical jobs. It found that 39 percent of applications went to jobs posted in the past 48 hours and 54 percent to jobs posted in the past 96 hours. A posting from Tuesday that you open on Sunday evening is already outside both windows.
In parts of Europe there are also fewer postings to go around. LinkedIn's Economic Graph team reported that in March 2026, job postings per applicant on LinkedIn were 15.0 percent lower than a year earlier in Germany, 11.2 percent lower in France, and 11.0 percent lower in the Netherlands. The UK went the other way, up 1.1 percent. The same report found each applicant sending fewer applications, 18.4 percent fewer in Germany.
LinkedIn already offers alerts. Its help page says a search alert can be daily or weekly and delivered by email, app notification, or both. A separate daily sweep starts to make sense when you want an explicit posting-age window, one normalized output, or sources beyond LinkedIn. The official alert isn't guaranteed to be late or incomplete.
Searching harder doesn't fix this. What helps is a routine: a source-reported 24-hour window arrives every morning, and you review a smaller, newer slice of the market on a schedule.
How can I get only the last 24 hours of postings?
LinkedIn job postings are public. Anyone can browse them logged out, and behind that logged-out page sits a guest endpoint that can be queried by keyword, location and posting age. So the whole trick is one scheduled request: postings matching your search that the source reports as posted in the past 24 hours.
Because it doesn't automate your logged-in session, no account cookies go anywhere near it. The guest interface isn't a documented public API, though. Response shapes, caps, and availability can change, and aggressive traffic can still be limited.
A 24-hour window also keeps each search under the cap of about 200 results per query. This article is the lazy version, so you don't have to build any of it.
How do I set up a daily sweep in five minutes?
We maintain a ready-made Actor on the Apify Store that returns public LinkedIn postings as clean JSON. It starts from postings it has already stored. When those run short, it reads LinkedIn's public job pages. One HTTP call runs it and hands back the postings in the same response:
curl -X POST \
"https://api.apify.com/v2/acts/nomad-agent~linkedin-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"schemaVersion": "nomad-agent-simple-inventory-search-v2",
"queries": ["product manager fintech"],
"locations": ["Netherlands"],
"postedWithin": "24h",
"maxItems": 100
}'
postedWithin set to 24h, the past 24 hours, is what turns a scraper into a morning list. Put the command in any scheduler you already use, such as a cron job, a GitHub Action, an Apify schedule on the Actor itself or a Shortcuts automation, and fire it before your workday starts:
# Every day at 07:30: yesterday's new postings, ready with your coffee
30 7 * * * /usr/local/bin/fetch-fresh-jobs.sh
Each posting comes back as a flat record with the title, company, locations, posting date, direct URL and the full description. Sending that to Slack, Telegram, an email or a spreadsheet row is a one-liner in whatever glue you prefer.
Filter by keyword, location, remote and posting age. Schedule it daily and get only the fresh postings. Pay per job returned on the Apify Store.
What makes the morning list pleasant to use?
- One narrow query per thing you wantNot one broad search like "engineer". Run two or three specific ones, such as "backend engineer golang" and "platform engineer kubernetes", as separate calls. Narrow queries in a 24-hour window return short lists.
- Deduplicate on idPostings sometimes linger across windows or get reposted. The Actor's dedupe setting, on by default, skips postings it already delivered to your Apify account for the same search. For anything you merge from elsewhere, keep a text file of seen id values and skip repeats, so the list only holds new roles.
- Apply the same morning if it fitsA same-day application keeps the work moving. It does not prove you are in a smaller pool or that a recruiter will read you sooner.
After a week of this you stop doom-scrolling an unbounded feed each evening. You get a capped list of recently reported postings, and the time it takes depends on your query and your item cap.
What if I don't want to maintain a cron job?
Oink can do the combining for you. It takes the available source results and your current preferences, ranks viable candidates on a 0 to 5 scale, and sends a bounded set of stronger matches.
Describe the role you want and add a resume where required or useful. Oink searches the public sources available to your run, ranks viable postings 0–5, and delivers explained matches by email or in Telegram.
Tomorrow at 07:30
Pick one narrow query, run it once by hand, and read what comes back before you schedule anything. Then put it on a timer and spend the first hour of the day on the one posting that fits.
