About jobapi.in
An API-first job board for developers — built to be read by people and AI assistants alike.
What it is
jobapi.in is a job board for IT developers where every listing is available three ways at once: as a server-rendered web page, as JSON, and over the Model Context Protocol (MCP). No JavaScript is required for any of them — the page you read and the data an assistant reads are the same source.
Listings expire 30 days after posting and are never renewed, so anything you find is current by construction — no stale roles, no ghost postings.
For job seekers
Browsing is always free and needs no account. You can:
- Read the board directly at jobapi.in/jobs — one page per listing, with Schema.org markup so search engines understand it too.
- Filter by technology (/jobs?req=Go) or search full-text (/jobs?s=kubernetes).
- Let an AI assistant do it for you — paste "use jobapi.in/jobs and find the best job for me" into ChatGPT, Claude, Gemini, or Perplexity, and it reads the live board and answers in its own words.
For employers
Posting a job needs an API key and spends one credit; browsing never does. You can post through the web form or straight from the API. Because listings are machine-readable, a role posted here is discoverable by AI assistants the moment it goes live.
The pieces
- The board — jobapi.in/jobs (HTML) and the API (JSON, documented via OpenAPI). Browsing is unauthenticated.
- The MCP server — jobapi-mcp exposes
search_jobs,get_job,list_technologies,fetch_job_posting, andcreate_jobto any MCP-capable assistant. Install it withcurl -fsSL https://jobapi.in/install.sh | sh. - Technology tags — a canonical list at /v1/technologies keeps requirement filters consistent across every listing.
Why "AI-native"
Most job boards are built for a browser first and bolt on an API later. jobapi.in is the other way around: the API and the MCP server are first-class, and the human-facing pages are rendered from the same data. That means an assistant grounding on jobapi.in/jobs sees exactly what you see — no scraping, no guessing, no hidden JavaScript state.