{"boards":[{"slug":"linkedin","name":"LinkedIn","region":"Global","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"yes","repost_cycle":"partial"},"notes":{"no_salary":"Salary shows only when the employer adds it or local law forces it; many listings carry no range.","wide_salary":"Assessable only on the subset of listings where the employer publishes a range.","stale_posting":"Shows relative posting age ('3 weeks ago') on every listing.","repost_cycle":"Labels some listings 'Reposted' but never shows how many times or the original date."},"tip":"Hover the posting age and look for the 'Reposted' tag — it is the closest any major board gets to admitting a repost cycle."},{"slug":"indeed","name":"Indeed","region":"Global","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"partial","repost_cycle":"no"},"notes":{"no_salary":"Often shows an 'Indeed estimate' rather than an employer-provided range — an estimate tells you nothing about whether the role is budgeted.","wide_salary":"Employer-provided ranges appear on some listings; estimates muddy the rest.","stale_posting":"Posting age caps at '30+ days ago', hiding whether a listing is 31 days or 8 months old.","repost_cycle":"Reposts get a fresh date with no label connecting them to the original."},"tip":"'Posted 30+ days ago' is a floor, not an age — the listing could be from last quarter. Treat 30+ as 'age unknown, assume stale'."},{"slug":"ziprecruiter","name":"ZipRecruiter","region":"US","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"no","repost_cycle":"no"},"notes":{"no_salary":"Heavy use of ZipEstimate ranges that the employer never confirmed.","wide_salary":"Estimated ranges are routinely wide; employer-set ranges are the minority.","stale_posting":"Most listings display no posting date at all.","repost_cycle":"No repost indication of any kind."},"tip":"With no visible date, age and repost history are unknowable here — verify the same listing on the employer's own careers page before applying."},{"slug":"glassdoor","name":"Glassdoor","region":"Global","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"yes","repost_cycle":"no"},"notes":{"no_salary":"Mixes employer-provided ranges with Glassdoor estimates built from self-reported data.","wide_salary":"Assessable when the employer provides the range; estimates are labeled.","stale_posting":"Shows posting age ('30d+') on listings.","repost_cycle":"Reposts appear as new listings with fresh dates."},"tip":"Use the company's Glassdoor interview reviews as a second signal — repeated 'never heard back' interview reviews corroborate a ghost pattern."},{"slug":"monster","name":"Monster","region":"Global","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"partial","repost_cycle":"no"},"notes":{"no_salary":"Employer ranges on a minority of listings; estimates elsewhere.","wide_salary":"Assessable only where an employer range exists.","stale_posting":"Posting dates appear inconsistently across listings.","repost_cycle":"No repost labeling."},"tip":"If the date is missing, search the exact listing title in quotes — cached copies elsewhere often reveal the true age."},{"slug":"seek","name":"SEEK","region":"Australia / NZ","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"yes","repost_cycle":"no"},"notes":{"no_salary":"Salary display is optional; many employers leave only a hidden bracket used for search filtering.","wide_salary":"Visible when the employer chooses to show the range.","stale_posting":"Shows the listed date on every ad.","repost_cycle":"Re-listed ads get a fresh date with no link to the original."},"tip":"SEEK ads expire after 30 days — so a 'fresh' ad you've seen before is by definition a repost. Your memory is the repost detector."},{"slug":"dice","name":"Dice","region":"US (tech)","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"yes","repost_cycle":"partial"},"notes":{"no_salary":"Tech contracts often show rates; perm roles frequently hide pay.","wide_salary":"Assessable on the listings that publish a rate or range.","stale_posting":"Shows posted and updated dates.","repost_cycle":"An 'updated' date far from the 'posted' date hints at re-promotion, but reposts under new IDs are unlabeled."},"tip":"Compare the posted date to the updated date — a listing 'updated' monthly for six months is a repost cycle wearing a disguise."},{"slug":"careerbuilder","name":"CareerBuilder","region":"US","easy_apply":true,"visibility":{"no_salary":"partial","wide_salary":"partial","stale_posting":"no","repost_cycle":"no"},"notes":{"no_salary":"Estimates dominate; employer-set ranges are rare.","wide_salary":"Rarely assessable from employer data.","stale_posting":"Posting dates are generally not displayed.","repost_cycle":"No repost indication."},"tip":"Treat undated listings as stale by default and verify on the employer's careers page — the burden of proof is on the listing."},{"slug":"wellfound","name":"Wellfound (AngelList Talent)","region":"Global (startups)","easy_apply":true,"visibility":{"no_salary":"yes","wide_salary":"yes","stale_posting":"partial","repost_cycle":"no"},"notes":{"no_salary":"Compensation ranges (salary and equity) are a core, expected field on listings.","wide_salary":"Ranges are visible, so an implausibly wide one is immediately assessable.","stale_posting":"Shows recruiter activity markers more prominently than posting dates.","repost_cycle":"No repost history."},"tip":"Check the 'actively hiring' badge and recruiter last-active marker — a listing whose recruiter hasn't been active in months is functionally unattended."},{"slug":"usajobs","name":"USAJOBS","region":"US (federal)","easy_apply":false,"visibility":{"no_salary":"yes","wide_salary":"yes","stale_posting":"yes","repost_cycle":"partial"},"notes":{"no_salary":"Every announcement publishes the pay scale and range — required, not optional.","wide_salary":"Ranges follow published pay tables, so a multi-grade range is explained, not hidden.","stale_posting":"Every announcement shows open AND close dates — the only board in this set with a hard deadline on every listing.","repost_cycle":"Re-announcements get new announcement numbers; you can spot a recycled req if you know to compare them."},"tip":"The close date is your friend: a real federal req ends. If the 'same' role reappears under a new announcement number repeatedly, that series is worth questioning."}],"coverage":[{"slug":"usajobs","name":"USAJOBS","coverage_pct":93.9,"hidden":[],"partial":["repost_cycle"],"hidden_weight":0},{"slug":"linkedin","name":"LinkedIn","coverage_pct":83.3,"hidden":[],"partial":["no_salary","repost_cycle","wide_salary"],"hidden_weight":0},{"slug":"dice","name":"Dice","coverage_pct":83.3,"hidden":[],"partial":["no_salary","repost_cycle","wide_salary"],"hidden_weight":0},{"slug":"wellfound","name":"Wellfound (AngelList Talent)","coverage_pct":80.7,"hidden":["repost_cycle"],"partial":["stale_posting"],"hidden_weight":14},{"slug":"glassdoor","name":"Glassdoor","coverage_pct":77.2,"hidden":["repost_cycle"],"partial":["no_salary","wide_salary"],"hidden_weight":14},{"slug":"seek","name":"SEEK","coverage_pct":77.2,"hidden":["repost_cycle"],"partial":["no_salary","wide_salary"],"hidden_weight":14},{"slug":"indeed","name":"Indeed","coverage_pct":70.2,"hidden":["repost_cycle"],"partial":["no_salary","stale_posting","wide_salary"],"hidden_weight":14},{"slug":"monster","name":"Monster","coverage_pct":70.2,"hidden":["repost_cycle"],"partial":["no_salary","stale_posting","wide_salary"],"hidden_weight":14},{"slug":"ziprecruiter","name":"ZipRecruiter","coverage_pct":63.2,"hidden":["stale_posting","repost_cycle"],"partial":["no_salary","wide_salary"],"hidden_weight":30},{"slug":"careerbuilder","name":"CareerBuilder","coverage_pct":63.2,"hidden":["stale_posting","repost_cycle"],"partial":["no_salary","wide_salary"],"hidden_weight":30}],"headline":"No major job board fully discloses repost history — across the 10 biggest boards, the average board lets you verify only 76.2% of ghost-job warning signs before you apply."}