Live US jobs from employers' own career sites, still-open checks, competitive hiring reports.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Competitive Hiring Report, free summary, for the employer of one US healthcare, finance, IT, engineering, science, HR, legal or marketing job posting (nurses, therapists, pharmacists, accountants, bankers, software engineers, data roles, engineers, scientists, attorneys, recruiters, marketers) that is not filling: the posted pay range in that market (salary benchmarking) and how many employers are hiring it. The full report, first one free (request_full_report), names each competitor with the pay it posts and how fast it closes the role (posting up to posting down), and shows where this posting sits and how hard the role is to fill there. Measured from employers' own careers sites. Identify the posting by job_url (the careers-site link, or a veritahire.com/j/ link), job_id, or employer + title (+ city, state). A role not yet benchmarked returns status "building" with retry_after_seconds, the time until it is ready.
Two-letter US state
VeritaHire job id
The posting's URL on the employer's careers site, or a veritahire.com/j/ URL
Competitive Hiring Report, free summary, for the employer of one US healthcare, finance, IT, engineering, science, HR, legal or marketing job posting (nurses, therapists, pharmacists, accountants, bankers, software engineers, data roles, engineers, scientists, attorneys, recruiters, marketers) that is not filling: the posted pay range in that market (salary benchmarking) and how many employers are hiring it. The full report, first one free (request_full_report), names each competitor with the pay it posts and how fast it closes the role (posting up to posting down), and shows where this posting sits and how hard the role is to fill there. Measured from employers' own careers sites. Identify the posting by job_url (the careers-site link, or a veritahire.com/j/ link), job_id, or employer + title (+ city, state). A role not yet benchmarked returns status "building" with retry_after_seconds, the time until it is ready.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| state | string | Two-letter US state |
| title | string | |
| job_id | integer | VeritaHire job id |
| job_url | string | The posting's URL on the employer's careers site, or a veritahire.com/j/ URL |
| employer | string |
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string",
"description": "Two-letter US state"
},
"title": {
"type": "string"
},
"job_id": {
"type": "integer",
"description": "VeritaHire job id"
},
"job_url": {
"type": "string",
"description": "The posting's URL on the employer's careers site, or a veritahire.com/j/ URL"
},
"employer": {
"type": "string"
}
}
}The whole posting text from the employer, its requirement facts (education, licences, years required and preferred, skills), pay, any sign-on bonus it offers (the amount, quoted from the posting), benefits, whether it is still open, and the apply link.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| job_id | integer | VeritaHire job id, as returned in search results |
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"job_id": {
"type": "integer",
"description": "VeritaHire job id, as returned in search results"
}
}
}Checks whether a job posting is still on the employer's own careers site (VeritaHire re-reads employer sites and marks a posting closed within about 36 hours of it leaving). Returns open, closed or unknown, with the last time it was confirmed. Works for postings found anywhere, given the employer's careers-site link.
| Argument | Type | Description |
|---|---|---|
| url | string | The posting URL (careers site or veritahire.com/j/) |
| job_id | integer |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The posting URL (careers site or veritahire.com/j/)"
},
"job_id": {
"type": "integer"
}
}
}Records a problem with VeritaHire data: a job listed as open that the employer's site shows closed (job_closed), wrong place, wrong pay, wrong employer name, a search that returned irrelevant results or missed jobs it should have found, or duplicates. job_id identifies one job; search holds the search arguments for a results problem. Reports are about data, not people, and a person at VeritaHire reads every one.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| detail | string | What was wrong, in a sentence or two |
| job_id | integer | |
| search | object | The search arguments that produced the problem |
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"job_closed",
"wrong_location",
"wrong_pay",
"wrong_employer",
"irrelevant_results",
"missing_jobs",
"duplicate",
"other"
],
"type": "string"
},
"detail": {
"type": "string",
"description": "What was wrong, in a sentence or two"
},
"job_id": {
"type": "integer"
},
"search": {
"type": "object",
"description": "The search arguments that produced the problem"
}
}
}Returns a link for the person who will use the full Competitive Hiring Report for a posting (first report free). They open it on veritahire.com with the posting already filled in, enter their own work email, and get the report. This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| state | string | |
| title | string | |
| job_id | integer | |
| job_url | string | |
| employer | string |
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": "string"
},
"job_id": {
"type": "integer"
},
"job_url": {
"type": "string"
},
"employer": {
"type": "string"
}
}
}Returns a link for the person. They open it on veritahire.com, enter their own email address and confirm; after that they get a daily email of new jobs matching this search (still live on employers' own careers sites). This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
| Argument | Type | Description |
|---|---|---|
| what | string | |
| where | string | "City, ST" or ZIP |
| remote_only | boolean | |
| radius_miles | integer | |
| employment_type | string |
{
"type": "object",
"properties": {
"what": {
"type": "string"
},
"where": {
"type": "string",
"description": "\"City, ST\" or ZIP"
},
"remote_only": {
"type": "boolean"
},
"radius_miles": {
"enum": [
10,
25,
30,
50,
100
],
"type": "integer"
},
"employment_type": {
"enum": [
"full_time",
"part_time",
"contract",
"seasonal",
"temporary"
],
"type": "string"
}
}
}Search US jobs that are live right now on employers' own careers sites (re-read on a schedule, retired within about 36 hours of leaving). Give what (title or keywords) and where (City, ST or ZIP), or remote_only. Returns up to 25 jobs with posted pay, what each posting asks for (education, licences, years), distance, when it was last confirmed, the employer's industry and size, the employer's own apply link, and a job_id for the whole posting. Only the filters given are applied; the "asks" are listed, never used to drop a job. To keep a daily feed for one person (e.g. from their resume), run the same search each day with posted_within_days=1, title_exclude for titles they do not want, and page through next_page.
| Argument | Type | Description |
|---|---|---|
| page | integer | 25 jobs a page; pass next_page from the previous result |
| sort | string | Default: best match |
| what | string | Job title or keywords, e.g. "registered nurse", "forklift" |
| where | string | "City, ST" or a 5-digit ZIP |
| min_pay | number | Minimum pay: annual, or hourly if under 300. Jobs that do not post pay are kept, listed last. |
| remote_only | boolean | |
| radius_miles | integer |
| title_exclude | string | Comma-separated words; jobs whose title contains any of them are left out, e.g. "senior, travel" |
| employment_type | string |
| posted_within_days | integer |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "25 jobs a page; pass next_page from the previous result"
},
"sort": {
"enum": [
"new",
"pay",
"near"
],
"type": "string",
"description": "Default: best match"
},
"what": {
"type": "string",
"description": "Job title or keywords, e.g. \"registered nurse\", \"forklift\""
},
"where": {
"type": "string",
"description": "\"City, ST\" or a 5-digit ZIP"
},
"min_pay": {
"type": "number",
"description": "Minimum pay: annual, or hourly if under 300. Jobs that do not post pay are kept, listed last."
},
"remote_only": {
"type": "boolean"
},
"radius_miles": {
"enum": [
10,
25,
30,
50,
100
],
"type": "integer",
"default": 25
},
"title_exclude": {
"type": "string",
"description": "Comma-separated words; jobs whose title contains any of them are left out, e.g. \"senior, travel\""
},
"employment_type": {
"enum": [
"full_time",
"part_time",
"contract",
"seasonal",
"temporary"
],
"type": "string"
},
"posted_within_days": {
"enum": [
1,
3,
7,
14,
30
],
"type": "integer"
}
}
}