freehire.me: search 3.3M+ IT jobs from 294K company boards, track applications, tailor CVs.
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.
Check whether postings are still open, by the slugs search results carry — up to 50 per call. Use before acting on a saved shortlist: each posting answers open, closed or not_found, with when it closed or was last seen live.
posting identifiers, as carried by search results' slug; up to 50 are checked per call
Check whether postings are still open, by the slugs search results carry — up to 50 per call. Use before acting on a saved shortlist: each posting answers open, closed or not_found, with when it closed or was last seen live.
| Argument | Type | Description |
|---|---|---|
| slugs* | null | array | posting identifiers, as carried by search results' slug; up to 50 are checked per call |
{
"type": "object",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "posting identifiers, as carried by search results' slug; up to 50 are checked per call"
}
},
"additionalProperties": false
}Read one posting in full by an id search returned: its full text, the employer, the board it came from and whether it still looks live.
| Argument | Type | Description |
|---|---|---|
| id* | string | a result id from search |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "a result id from search"
}
},
"additionalProperties": false
}Read what freehire holds about one employer by the slug a result carries: what they do, which industries they are in, where they are based, and how many postings they have open.
| Argument | Type | Description |
|---|---|---|
| slug* | string | the employer's identifier, as carried by a result's company_slug |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "the employer's identifier, as carried by a result's company_slug"
}
},
"additionalProperties": false
}Read one posting in full by the slug a search result carries: the whole description, the stated requirements, which applicant tracking system handles applications, and whether the posting still looks live — when it was last seen open, a reality class, and any observed signs that it is not being filled.
| Argument | Type | Description |
|---|---|---|
| slug* | string | the posting's identifier, as carried by a search result's slug |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "the posting's identifier, as carried by a search result's slug"
}
},
"additionalProperties": false
}How many open postings match a set of filters, and their most common role families, seniorities, skills, work modes, countries and regions. Takes the same filters as a job search.
| Argument | Type | Description |
|---|---|---|
| limit | integer | results per page |
| query | string | free text, matched against title, company, description and location. Operators: double quotes require every quoted word in any order (not a phrase); -word excludes; uppercase OR between terms matches any alternative (at most 5), e.g. golang OR rust; title: at the start of an alternative matches it in the title only, e.g. title:"product owner" OR title:produktchef |
| cities | null | array | |
| offset | integer | |
| skills | null | array | technologies, e.g. go, kubernetes, react |
| regions | null | array | any of global, north_america, latam, eu, uk, mena, africa, apac, cis |
| sources | null | array | job boards to restrict to |
| category | null | array | role family, e.g. backend, frontend, devops, data |
Salary percentiles (25th, median, 75th) from open postings that state pay, scoped by role family, seniority and country, with the sample size behind each figure. Currencies and pay periods are reported separately, never converted.
| Argument | Type | Description |
|---|---|---|
| country | string | ISO 3166-1 alpha-2 code, e.g. DE |
| category | string | role family, e.g. backend, frontend, devops, data |
| seniority | string | any of intern, junior, middle, senior, lead, staff, principal, c_level |
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code, e.g. DE"
},
"category": {
"type": "string",
"description": "role family, e.g. backend, frontend, devops, data"
},
"seniority": {
"type": "string",
"description": "any of intern, junior, middle, senior, lead, staff, principal, c_level"
}
},
"additionalProperties": false
}Search freehire's IT job postings by free text. Returns matching postings as {id, title, url}.
| Argument | Type | Description |
|---|---|---|
| query* | string | free text describing the jobs to find |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "free text describing the jobs to find"
}
},
"additionalProperties": false
}Find employers in freehire's catalogue by name or by where they hire, with how many postings each has open. Use when the question is about a company rather than about a role.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | free text, matched against the employer's name |
| offset | integer | |
| countries | null | array | ISO 3166-1 alpha-2 codes the employer hires in |
{
"type": "object",
"properties": {
"limit": {
"type": "integer"
},
"query": {
"type": "string",
"description": "free text, matched against the employer's name"
},
"offset": {
"type": "integer"
},
"countries": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "ISO 3166-1 alpha-2 codes the employer hires in"
}
},
"additionalProperties": false
}Search freehire's catalogue of IT job postings. Use for any question about which jobs are open — by technology, seniority, location, pay or employer. Returns a short preview of each posting. Set semantic for a need described in words ("keep our payment systems secure"), not for a job title or a non-technical role, where plain keywords answer better.
| Argument | Type | Description |
|---|---|---|
| limit | integer | results per page |
| query | string | free text, matched against title, company, description and location. Operators: double quotes require every quoted word in any order (not a phrase); -word excludes; uppercase OR between terms matches any alternative (at most 5), e.g. golang OR rust; title: at the start of an alternative matches it in the title only, e.g. title:"product owner" OR title:produktchef |
| cities | null | array | |
| offset | integer | |
| skills | null | array | technologies, e.g. go, kubernetes, react |
| regions | null | array | any of global, north_america, latam, eu, uk, mena, africa, apac, cis |
| sources | null | array | job boards to restrict to |
Postings most similar to one posting, by its slug, nearest first — for "show me more like this". Empty for the newest postings, whose neighbours are not computed yet.
| Argument | Type | Description |
|---|---|---|
| slug* | string | the posting's identifier, as carried by a search result's slug |
| limit | integer | how many to return, up to 20 |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "the posting's identifier, as carried by a search result's slug"
},
"limit": {
"type": "integer",
"description": "how many to return, up to 20"
}
},
"additionalProperties": false
}| semantic | null | boolean | true: also match postings that describe the query in other words. Use it for a need described in words, e.g. 'keep our payment systems secure' or 'help kids learn to read'; leave it off for a job title or a non-technical role, which keywords answer better. Needs query |
| countries | null | array | ISO 3166-1 alpha-2 codes, e.g. DE, BR |
| seniority | null | array | any of intern, junior, middle, senior, lead, staff, principal, c_level |
| work_mode | null | array | any of remote, hybrid, onsite |
| relocation | null | array | any of supported (the employer helps you move), required (the role needs you to move), not_supported |
| salary_min | integer |
| company_slugs | null | array | employer identifiers, as carried by a result's company_slug |
| english_level | null | array | CEFR levels, e.g. B2, C1 |
| exclude_skills | null | array | technologies the posting must not ask for, e.g. php |
| employment_type | null | array | any of full_time, part_time, contract, internship |
| salary_currency | string | ISO 4217 code, e.g. USD |
| visa_sponsorship | null | boolean |
| posted_within_days | integer |
| require_all_skills | boolean | true: every listed skill must be present, not just one |
| exclude_company_slugs | null | array | employers to leave out, as carried by a result's company_slug |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "results per page"
},
"query": {
"type": "string",
"description": "free text, matched against title, company, description and location. Operators: double quotes require every quoted word in any order (not a phrase); -word excludes; uppercase OR between terms matches any alternative (at most 5), e.g. golang OR rust; title: at the start of an alternative matches it in the title only, e.g. title:\"product owner\" OR title:produktchef"
},
"cities": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"offset": {
"type": "integer"
},
"skills": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "technologies, e.g. go, kubernetes, react"
},
"regions": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of global, north_america, latam, eu, uk, mena, africa, apac, cis"
},
"sources": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "job boards to restrict to"
},
"category": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "role family, e.g. backend, frontend, devops, data"
},
"semantic": {
"type": [
"null",
"boolean"
],
"description": "true: also match postings that describe the query in other words. Use it for a need described in words, e.g. 'keep our payment systems secure' or 'help kids learn to read'; leave it off for a job title or a non-technical role, which keywords answer better. Needs query"
},
"countries": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "ISO 3166-1 alpha-2 codes, e.g. DE, BR"
},
"seniority": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of intern, junior, middle, senior, lead, staff, principal, c_level"
},
"work_mode": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of remote, hybrid, onsite"
},
"relocation": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of supported (the employer helps you move), required (the role needs you to move), not_supported"
},
"salary_min": {
"type": "integer"
},
"company_slugs": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "employer identifiers, as carried by a result's company_slug"
},
"english_level": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "CEFR levels, e.g. B2, C1"
},
"exclude_skills": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "technologies the posting must not ask for, e.g. php"
},
"employment_type": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of full_time, part_time, contract, internship"
},
"salary_currency": {
"type": "string",
"description": "ISO 4217 code, e.g. USD"
},
"visa_sponsorship": {
"type": [
"null",
"boolean"
]
},
"posted_within_days": {
"type": "integer"
},
"require_all_skills": {
"type": "boolean",
"description": "true: every listed skill must be present, not just one"
},
"exclude_company_slugs": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "employers to leave out, as carried by a result's company_slug"
}
},
"additionalProperties": false
}| category |
| null | array |
| role family, e.g. backend, frontend, devops, data |
| semantic | null | boolean | true: also match postings that describe the query in other words. Use it for a need described in words, e.g. 'keep our payment systems secure' or 'help kids learn to read'; leave it off for a job title or a non-technical role, which keywords answer better. Needs query |
| countries | null | array | ISO 3166-1 alpha-2 codes, e.g. DE, BR |
| seniority | null | array | any of intern, junior, middle, senior, lead, staff, principal, c_level |
| work_mode | null | array | any of remote, hybrid, onsite |
| relocation | null | array | any of supported (the employer helps you move), required (the role needs you to move), not_supported |
| salary_min | integer |
| company_slugs | null | array | employer identifiers, as carried by a result's company_slug |
| english_level | null | array | CEFR levels, e.g. B2, C1 |
| exclude_skills | null | array | technologies the posting must not ask for, e.g. php |
| employment_type | null | array | any of full_time, part_time, contract, internship |
| salary_currency | string | ISO 4217 code, e.g. USD |
| visa_sponsorship | null | boolean |
| posted_within_days | integer |
| require_all_skills | boolean | true: every listed skill must be present, not just one |
| exclude_company_slugs | null | array | employers to leave out, as carried by a result's company_slug |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "results per page"
},
"query": {
"type": "string",
"description": "free text, matched against title, company, description and location. Operators: double quotes require every quoted word in any order (not a phrase); -word excludes; uppercase OR between terms matches any alternative (at most 5), e.g. golang OR rust; title: at the start of an alternative matches it in the title only, e.g. title:\"product owner\" OR title:produktchef"
},
"cities": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"offset": {
"type": "integer"
},
"skills": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "technologies, e.g. go, kubernetes, react"
},
"regions": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of global, north_america, latam, eu, uk, mena, africa, apac, cis"
},
"sources": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "job boards to restrict to"
},
"category": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "role family, e.g. backend, frontend, devops, data"
},
"semantic": {
"type": [
"null",
"boolean"
],
"description": "true: also match postings that describe the query in other words. Use it for a need described in words, e.g. 'keep our payment systems secure' or 'help kids learn to read'; leave it off for a job title or a non-technical role, which keywords answer better. Needs query"
},
"countries": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "ISO 3166-1 alpha-2 codes, e.g. DE, BR"
},
"seniority": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of intern, junior, middle, senior, lead, staff, principal, c_level"
},
"work_mode": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of remote, hybrid, onsite"
},
"relocation": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of supported (the employer helps you move), required (the role needs you to move), not_supported"
},
"salary_min": {
"type": "integer"
},
"company_slugs": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "employer identifiers, as carried by a result's company_slug"
},
"english_level": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "CEFR levels, e.g. B2, C1"
},
"exclude_skills": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "technologies the posting must not ask for, e.g. php"
},
"employment_type": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "any of full_time, part_time, contract, internship"
},
"salary_currency": {
"type": "string",
"description": "ISO 4217 code, e.g. USD"
},
"visa_sponsorship": {
"type": [
"null",
"boolean"
]
},
"posted_within_days": {
"type": "integer"
},
"require_all_skills": {
"type": "boolean",
"description": "true: every listed skill must be present, not just one"
},
"exclude_company_slugs": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "employers to leave out, as carried by a result's company_slug"
}
},
"additionalProperties": false
}