MCP tool

search_jobs

Flat, role-granular job search -- the individual open roles across companies matching `role` (function) / `geo` (country) / `since`, one row per logical req (each with its own `company_id` + `req_key`), ATS-only + freshness-floored. Keyset-paginated via the opaque `cursor` (a prior call's `next_cursor`). Use `who_is_hiring_for` for the company-granular reverse view. `role` must be a function id (as seen in prior results); a plain role name like 'engineering' is rejected with an explicit error rather than an empty result -- pass plain language as `q` instead, which searches the posting's own title, expanded semantically to nearby titles, and reports each row's `relevance` (0-1). `q` is independent of `role`: pass both to search titles within one function. `sort` is 'relevance' (the default with a `q`) or 'recency'; omit both and the page keeps its stable default order. `limit` is bounded: an oversized page is rejected rather than truncated, so page through the full set with `cursor` instead of raising `limit`. No key yet? On the hosted HTTP endpoint the first calls are free: send no `X-API-Key` header and the search runs on a shared demo credential -- a smaller page, billed to nobody, and the result says so -- until a per-IP limit is reached, after which the answer becomes a signup link whose minted key finishes this exact search. On any other transport a blank key answers with that signup link straight away.

Read from com.reqbeat/hiring-signals v1.1.2 on September 14, 2026 at 00:11 UTC · Refreshed every 3 hours

Connect

Reqbeat Hiring Signals is a remote MCP server over streamable HTTP. Paste this into your client's server config, replacing the placeholder with your own key:

{
  "url": "https://mcp.reqbeat.com/mcp",
  "headers": {
    "X-API-Key": "YOUR_REQBEAT_API_KEY"
  }
}

Or connect with no key at all. Same endpoint — leaving the X-API-Key header off runs the read tools in a rate-limited demo mode:

{
  "url": "https://mcp.reqbeat.com/mcp"
}

Endpoint https://mcp.reqbeat.com/mcp, authenticated with the X-API-Key request header.

Input schema

{
  "properties": {
    "role": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Role"
    },
    "geo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Geo"
    },
    "since": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Since"
    },
    "q": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Q"
    },
    "sort": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sort"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cursor"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Idempotency Key"
    },
    "plane_api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Deprecated: pass the key in the `X-API-Key` header, or omit the header for demo mode. Removed in 1.2.",
      "title": "Plane Api Key"
    }
  },
  "title": "search_jobsArguments",
  "type": "object"
}

Calling it

No response is shown because this page never calls this tool. It either needs your own API key or changes state on the server, and publishing a doc page is not a reason to do either. The request above is real -- run it yourself.