MCP tool

find_qualified_reqs

WHEN an agent already knows its ideal customer profile and wants the matching open roles as rows it can act on: several countries, an industry, a headcount band and title keywords in ONE call, instead of a search followed by a lookup per company. `criteria` takes up to three groups -- `company` (country, industry, industry_terms, headcount_band, company_kind), `req` (raw_title, title_excludes, seniority_level, job_family, skills, remote_type, location) and `event` (company_id, board, source_type, ats_vendor, country) -- AND across fields, OR within one. A field outside that list is an explicit error, never quietly dropped. criteria={"company": {"country": ["United States", "Germany"]}, "req": {"raw_title": ["backend engineer"]}} -> live backend roles in both countries, each row naming the company and carrying the posting URL, seniority, skills and declared or estimated yearly pay. `salary_min_usd` / `salary_max_usd` bracket that pay. Agencies and expired postings are excluded by default. Page with `cursor` (the previous `next_cursor`); `limit` is bounded. Billed per row returned, and an empty page bills nothing. Needs an API key: without one the answer is a signup link. For a first look at who is hiring before you have a key, use `who_is_hiring_for`.

Read from com.reqbeat/hiring-signals v1.1.3 on October 05, 2026 at 22:08 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": {
    "criteria": {
      "additionalProperties": true,
      "title": "Criteria",
      "type": "object"
    },
    "exclude_agencies": {
      "default": true,
      "title": "Exclude Agencies",
      "type": "boolean"
    },
    "live_only": {
      "default": true,
      "title": "Live Only",
      "type": "boolean"
    },
    "salary_min_usd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Salary Min Usd"
    },
    "salary_max_usd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Salary Max Usd"
    },
    "since": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Since"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cursor"
    },
    "limit": {
      "default": 25,
      "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"
    }
  },
  "required": [
    "criteria"
  ],
  "title": "find_qualified_reqsArguments",
  "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.