Repolode
strelov1

strelov1/freehire

Open-source job search engine that aggregates IT job postings directly from company ATS career pages, self-hostable under MIT.

Open-source alternative to:LinkedIn JobsIndeed

Stars
1,379
Forks
160
Open issues
8
Last commit
yesterday

What is it?

freehire is a job search engine focused on IT roles. It crawls postings straight from companies' applicant-tracking systems such as Workday, Greenhouse, Lever and Ashby, and from a set of aggregators and direct career feeds, then normalizes them into one schema and deduplicates repeated listings. Each result links back to the original posting rather than a reposted copy.

Search is built on Meilisearch with faceted filters for region, work mode, seniority, skills and salary. The facet values come from curated dictionaries rather than guesses. The backend is Go with Fiber, PostgreSQL with pgvector, and sqlc, and the frontend is SvelteKit. Crawling, enrichment and indexing run as standalone worker commands intended for cron.

Beyond the catalogue, the project includes a CV builder with PDF templates, CV-to-vacancy matching, an application tracker, a public keyless HTTP API, a CLI, an MCP server and a Chrome side-panel extension. Adding a company is a single catalog row, and LLM features are optional.

Key features

  • 01Collects postings directly from company ATS platforms and links to the original listing.
  • 02Deduplicates the same role across multiple boards into one entry.
  • 03Faceted full-text search over region, work mode, seniority, skills and salary.
  • 04Public keyless HTTP API, CLI and MCP server for building on the catalogue.
  • 05Application tracker, CV builder and CV-to-vacancy matching in the same codebase.
  • 06Self-hostable with Docker Compose; adding a company is one catalog row.

Use cases

  • Job seekers who want to browse IT openings from company career pages rather than recruiter reposts.
  • Teams running a private or niche job board that needs ATS-sourced data.
  • Developers building job-related tools on top of a keyless public API.
  • Researchers or engineers studying hiring-market data across many ATS platforms.

Quick start

  1. 1

    Start the whole stack in Docker

    make up
  2. 2

    Check the API health endpoint

    curl localhost:8080/health
  3. 3

    List jobs from the public API

    curl localhost:8080/api/v1/jobs

Things to know

  • Running the full stack needs Docker and Docker Compose.
  • A JWT_SECRET is required for the server to start.

Topics

FAQ

What is freehire?
Open-source job search engine that aggregates IT job postings directly from company ATS career pages, self-hostable under MIT. freehire is a job search engine focused on IT roles. It crawls postings straight from companies' applicant-tracking systems such as Workday, Greenhouse, Lever and Ashby, and from a set of aggregators and direct career feeds, then normalizes them into one schema and deduplicates repeated listings. Each result links back to the original posting rather than a reposted copy.
Is freehire free to use? What license does it have?
freehire is open source under the MIT license. Check the license terms before using it in commercial products.
Is freehire still maintained?
Actively maintained. The last commit to freehire was on Oct 19, 2026.
What can I use freehire for?
Job seekers who want to browse IT openings from company career pages rather than recruiter reposts. Teams running a private or niche job board that needs ATS-sourced data. Developers building job-related tools on top of a keyless public API. Researchers or engineers studying hiring-market data across many ATS platforms.
How do I install freehire?
Start the whole stack in Docker: make up Check the API health endpoint: curl localhost:8080/health List jobs from the public API: curl localhost:8080/api/v1/jobs
Where can I get freehire?
The source code and installation instructions are on GitHub: https://github.com/strelov1/freehire

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects