foundit job search
Jobs on foundit (formerly Monster India) for keywords and/or location, with experience, freshness and sort: id, title, company, locations, experience range, salary range (when shown), skills, industries, functions, roles, employment types, job types, employer type (company or consultant), qualifications, experience label, posting and closing dates, applicant count, urgent and walk-in flags, the company's jobs page, job link and apply link. Filter further by experience range, salary range (INR per year), job type (work from home, contract), employer type, industry and function. total is the site's count. Pass next_page back as page; null on the last page.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
q | string | Keywords, e.g. python. Example: python |
location | string | City, e.g. bangalore. Example: bangalore |
experience | string | Years of experience the job must accept. |
experience_min | integer | Minimum years of experience (0-99). Use instead of experience. |
experience_max | integer | Maximum years of experience (0-99). Use instead of experience. |
salary_min | integer | Minimum yearly salary in INR (jobs that show a salary). |
salary_max | integer | Maximum yearly salary in INR (jobs that show a salary). |
job_type | string | wfh (work from home) and/or contract, comma-separated. |
employer_type | company | consultant | Jobs posted by the hiring company or by a recruitment consultant (comma-separate for both). |
industry | string | Industry names as the site labels them (the values in jobs[].industries, e.g. Internet, IT/Computers - Software), comma-separated. |
function | string | Function names as the site labels them (the values in jobs[].functions, e.g. IT, Software Development), comma-separated. |
freshness | 1 | 3 | 7 | 15 | 30 | Posted within this many days: 1, 3, 7, 15, 30. |
sort | relevance | date | relevance (default) or date. |
per_page | integer | Results per page (max 50, default 15). |
page | integer | Page number. Pass next_page from the previous response. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/foundit/v1/search?q=python" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/foundit/v1/search",
params={"q": "python"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/foundit/v1/search");
url.searchParams.set("q", "python");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).