Ghost Jobs Browser Extension

Detect fake job listings directly in your browser on LinkedIn, Indeed, and other job sites

What Does It Do?

  • Shows Ghost Score directly on job listings
  • Highlights suspicious job postings
  • Works on LinkedIn, Indeed, and more
  • Powered by the same AI detection as No Job
  • Community-maintained and open source
👻
Senior Software Engineer at Tech Innovations
Tech Innovations Inc.•San Francisco, CA (Remote)
👻
Ghost Score: 92/100
Job Authenticity: Highly Likely Authentic
Powered by Ghost Jobs
Job Description:

We're looking for an experienced Software Engineer to join our team...

Requirements:

  • 5+ years of experience with React
  • Strong understanding of JavaScript
  • Experience with Node.js and Express

Installation Guide

Step 1: Install Tampermonkey

First, you need to install the Tampermonkey browser extension, which allows you to run custom userscripts.

Step 2: Install the Ghost Jobs Script

Click the button below to install our userscript. This will open Tampermonkey and prompt you to add our script.

Install Ghost Jobs Script

Step 3: Start Using It

That's it! Visit LinkedIn, Indeed, or other supported job sites to see the Ghost Score and job authenticity ratings directly on job listings.

Open Source & Community Powered

Why Open Source?

We believe in transparency and community collaboration. By making our extension open source, we ensure:

  • You can verify the code is safe and secure
  • Community can add support for more job sites
  • Faster improvements and bug fixes
  • Everyone can contribute to making job hunting safer

Contribute to the Project

Want to help improve the extension or add support for more job sites? We welcome contributions!

Create Your Own Integration

Want to create support for a job site we don't cover yet? Our API makes it easy to integrate Ghost Jobs detection into any site.

Sample Userscript Template

// ==UserScript==
// @name         No Job Detector for [Site Name]
// @namespace    https://nojob.app
// @version      0.1
// @description  Detect fake job listings on [Site Name]
// @author       Your Name
// @match        https://[jobsite.com]/*
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    'use strict';
    
    // Configuration
    const NO_JOB_API = 'https://api.nojob.app/v1/check';
    
    // Function to extract job details from the page
    function extractJobDetails() {
        // Example: extract job details from the current page
        const title = document.querySelector('.job-title').textContent;
        const company = document.querySelector('.company-name').textContent;
        const description = document.querySelector('.job-description').textContent;
        
        return { title, company, description };
    }
    
    // Function to check a job using the No Job API
    function checkJob(jobDetails) {
        GM_xmlhttpRequest({
            method: 'POST',
            url: NO_JOB_API,
            headers: {
                'Content-Type': 'application/json'
            },
            data: JSON.stringify(jobDetails),
            onload: function(response) {
                const result = JSON.parse(response.responseText);
                displayResult(result);
            }
        });
    }
    
    // Function to display the result on the page
    function displayResult(result) {
        // Create Ghost Score badge
        const badge = document.createElement('div');
        badge.className = 'ghost-jobs-badge';
        badge.innerHTML = `
            <div style="border: 2px solid #333; border-radius: 8px; padding: 8px; margin: 10px 0; background: white; font-family: Arial, sans-serif;">
                <div style="font-weight: bold; font-size: 14px;">Ghost Score: ${result.score}/100</div>
                <div style="height: 8px; background: #eee; margin: 5px 0; border-radius: 4px;">
                    <div style="height: 100%; width: ${result.score}%; background: ${result.score > 70 ? 'green' : result.score > 40 ? 'orange' : 'red'}; border-radius: 4px;"></div>
                </div>
                <div style="font-size: 12px; color: #666;">Powered by <a href="https://nojob.app" target="_blank" style="color: #0066cc;">No Job</a></div>
            </div>
        `;
        
        // Insert badge into the page
        const targetElement = document.querySelector('.job-details-header');
        targetElement.insertAdjacentElement('afterend', badge);
    }
    
    // Main function to initialize the script
    function init() {
        // Wait for the page to fully load
        window.addEventListener('load', function() {
            // Check if we're on a job details page
            if (window.location.href.includes('/job/')) {
                const jobDetails = extractJobDetails();
                checkJob(jobDetails);
            }
        });
    }
    
    // Start the script
    init();
})();

To create your own integration:

  1. Copy the template above and modify it for your target job site
  2. Adjust the job detail extraction logic to match the site's HTML structure
  3. Test it locally, then share with the community
  4. Submit a pull request to our GitHub repository to have it included in the official script

Note: When creating custom integrations, please respect the terms of service of the websites you're integrating with. Our extension is meant to enhance job hunting safety, not to scrape or store job listing data.

Frequently Asked Questions

Is this extension safe to use?

Yes! Our extension is completely open source, so you can review the code yourself. It only accesses job listing information to check against our API and doesn't collect any personal data.

Why use Tampermonkey instead of a regular browser extension?

We've chosen Tampermonkey because it allows for rapid development, easy community contributions, and cross-browser compatibility. This approach makes it easier for anyone to contribute and maintain support for different job sites.

Which job sites are currently supported?

We currently support LinkedIn, Indeed, Glassdoor, and ZipRecruiter. Thanks to our community, we're continuously adding support for more job sites.

How does the extension determine if a job is fake?

The extension uses the same advanced AI model that powers Ghost Jobs. It analyzes job descriptions, company information, and multiple other factors to assign a "Ghost Score" indicating how likely a job listing is to be legitimate.

Do I need a Ghost Jobs account to use the extension?

No, the basic functionality of the extension is available to everyone without an account. However, premium Ghost Jobs subscribers get additional features like detailed scam analysis and higher API usage limits.

Ready to Make Job Hunting Safer?

Install our extension today and never fall for a fake job listing again.