LinkedIn Job Post Age Highlighter
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script helps you quickly identify how long ago each job was posted on LinkedIn. It scans job cards on search results pages, job detail pages, and company job listings, then extracts the posted date or "Active" timeframe from each card. Based on configurable age thresholds, it applies a colored left border to each job card and adds a compact age badge next to the job title showing the relative time (e.g., "2 days ago", "3 weeks ago", "1 month ago"). Newer jobs appear with green highlights, while older jobs shift through yellow, orange, and red as they age past your defined thresholds. This visual system lets you prioritize recent postings at a glance, saving time during job searches by quickly filtering out stale listings that may already be filled or have received hundreds of applicants.
WHERE IT RUNS
The script runs on all LinkedIn domains (*.linkedin.com). It works on job search results pages (including the main jobs feed and filtered searches), individual job detail pages, company job listings pages, and the "Jobs" tab on company profiles. It handles both the desktop web interface and LinkedIn's mobile-responsive view. The script uses dynamic detection to process job cards as they load during scrolling, so it works with LinkedIn's infinite scroll pagination.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- Toggle "Enable job age highlighting" on or off to control whether the script is active.
- In the "Threshold Colors" section, configure the age thresholds and colors that determine how job postings are highlighted. Each threshold defines a number of days and a color. Jobs younger than the threshold days get that color. The thresholds are evaluated in order from smallest to largest days.
- Add new thresholds using the "+ Add Threshold" button. Delete thresholds using the ✕ button next to each one. Edit threshold values by typing a new number of days or picking a new color from the color picker.
- Click "Refresh all job cards" to re-process all visible job postings if highlights appear out of date.
- Click "Reset to default thresholds" to restore the default configuration (7 days green, 14 days yellow, 30 days orange, 999 days red).
When you browse LinkedIn jobs, each job card will display a colored left border and an age badge next to the job title indicating how long ago the job was posted.
TECHNICAL SECTION — REAL MECHANISM
The script identifies job cards using multiple CSS selectors that target LinkedIn's job listing structures, including li[data-occludable-job-id], .job-card-container, .job-search-card, [data-job-id], article[data-job-id], and article[data-occludable-job-id]. Each job card is processed once using a WeakSet to track processed elements and avoid duplicate work. To extract the posting date, the script searches for text within specific metadata elements such as .job-card-container__metadata-item, .job-search-card__metadata-item, span[data-test-job-posting-age], and time elements. It also scans the card's overall text content for patterns like "Posted X days ago", "Active X weeks ago", or "X days ago". The extracted text is parsed using multiple strategies: relative time patterns (e.g., "3 days ago", "1 week ago", "2 months ago") are converted to actual Date objects by subtracting the appropriate time units from the current date. Exact date patterns (e.g., "Jan 15, 2024", "01/15/2024") are also supported. Once the date is determined, the script calculates the number of days since posting, compares it against the configured thresholds, and selects the appropriate color. The color is applied as a border-left style on the card, and a badge element is created and inserted after the job title. If the title's parent is not a flex container, the script wraps both in a flex container to ensure proper alignment. All DOM operations use safe methods (style properties, appendChild, insertBefore, cloneNode) and never use innerHTML.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or when actions are performed. The threshold editor is embedded directly in the panel with auto-saving functionality—editing any threshold value automatically saves changes via GM_setValue and refreshes all job card highlights.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. LinkedIn frequently updates its DOM structure, which may break the script's selectors. If job cards stop being highlighted, please check for script updates. The script stores only the thresholds array (numbers and color strings) and the enabled boolean via GM_setValue. No data is sent externally. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods to prevent XSS and injection vulnerabilities. The script does not modify job data or interact with LinkedIn's servers—it only applies visual highlighting to the page you are viewing.