Jobvite Jobs Scraper
Pricing
from $1.11 / 1,000 job listing saveds
Jobvite Jobs Scraper
Scrape public job postings from Jobvite-hosted career pages by company slug or URL.
Pricing
from $1.11 / 1,000 job listing saveds
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Export public Jobvite job postings from company slugs or hosted career-page URLs into an Apify dataset. Jobvite Jobs Scraper returns titles, departments, locations and job links, with optional descriptions, employment types, posted dates and application links when the employer provides them.
Use the results for recruiting research, hiring-signal analysis or a job-data pipeline. Export the dataset as CSV, JSON or Excel, or retrieve it through the API. This is not a Jobvite-wide search engine and does not access private applications.
Quick start
- Enter a Jobvite company slug in
companySlugs, or a public board URL instartUrls. - Start with a small
maxItems. LeaveincludeDetailson for descriptions, or turn it off for listing-only output. - Run the Actor and open its dataset to inspect or export the results.
{"companySlugs": ["kymanox"],"maxItems": 10,"includeDetails": true}
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose a public example to see its settings before starting a run:
- Export Jobvite Jobs From a Board URL
- Export Gigamon Engineering Jobvite Jobs
- Export Kymanox Jobvite Jobs
What you get
One saved public job row with its company slug, title, job link and available board category and location. Optional detail requests can add descriptions, employment type, posting date and application link. A base listing remains useful when a detail request fails, with its status and warnings kept separately from field completeness.
Who is it for?
- Recruitment researchers reviewing selected employers' public vacancies.
- Workforce analysts comparing their own company-board snapshots.
- Job-data teams importing source-linked jobs with optional descriptions.
- Text-analysis developers filtering available role text for downstream research.
How you can use the data
- Review a Kymanox board sample. Use the existing kymanox input with ten saved jobs and details enabled. Keep companySlug, jobId, jobTitle and jobUrl together before opening the public vacancy.
- Inspect an engineering-focused Gigamon sample. Use the existing gigamon example and the engineering text filter. A job matches any supplied query or keyword term across title, category, location and available description, rather than a guaranteed engineering department label.
- Choose a lighter export deliberately. Disable details when title, category, location and job links are enough. Description-only matches need details enabled, and a successful detail request still does not guarantee every optional field is filled.
- Compare your own employer exports. Retain company slug, job ID, normalized board URL and collection time in your database. Slugs are processed before URL targets under a shared cap, and URL query parameters are not preserved search filters. This is selected-board collection rather than a Jobvite-wide search or change tracker.
Input settings
Supply at least one company slug or start URL. You can combine both. They are processed in input order, with company slugs first. maxItems caps the total saved jobs across all boards, not each board separately.
| Setting / API key | Behavior |
|---|---|
Company slugs — companySlugs | Jobvite company identifiers, such as kymanox or gigamon. |
Board URLs — startUrls | Public Jobvite board URLs. The Actor uses the company slug and normalizes the URL to its board. URL query parameters are not search filters. |
Maximum jobs — maxItems | Total saved-row limit. Defaults to 10. |
Include details — includeDetails | Defaults to true. Fetch descriptions, employment type, posted date and apply URL when available. |
Search text — query | Case-insensitive substring filter over title, category, location and available description. |
Keywords — keywords | Combine with query. A job is kept when any supplied term matches. No filter means all encountered jobs are eligible. |
Request delay — requestDelaySecs | Defaults to 0. Pause between saved jobs and before requested detail pages. |
Use Apify Proxy — useApifyProxy | Defaults to false. When enabled, use Apify Proxy from the first request. See field help for details. |
There is no date or relevance sorting control. Jobs retain the order encountered on each board after filtering. Description filtering needs includeDetails: true. Listing-only mode cannot match text found only in a description.
Example inputs
Use the Quick start input as a small first run. Adjust the fields described above for your own data.
Output data
One dataset row represents one saved job. The following is an illustrative shape only, not a current vacancy or an observed run result:
{"companySlug": "example-company","jobTitle": "Example role","category": null,"locationText": null,"employmentType": null,"datePosted": null,"descriptionText": null,"jobUrl": "https://jobs.jobvite.com/careers/example-company/job/example-id","applyUrl": null,"detailStatus": "not_requested","warnings": []}
| Fields | Meaning |
|---|---|
companySlug, companyName | Company identifier and the board's first heading, or the slug if no heading is available. |
sourceUrl, searchUrl | Original slug/URL input and normalized board URL. |
jobId, jobTitle, category | Job identifier, title and category heading where present. |
locationText, city, region, country, isMultiLocation | Raw location label and lightly parsed components. Not geocoded or verified addresses. |
employmentType, datePosted | Optional structured detail fields. Null when absent. |
descriptionText, descriptionHtml | Optional job description as text and HTML. |
jobUrl, applyUrl | Job page and optional application link. |
scrapedAt | Collection timestamp. |
detailStatus, warnings | Detail request status (success, failed, not_requested) and detail-failure messages. A successful request does not guarantee every detail field exists. |
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
The item event charges for each job row saved. A base listing retained after a detail failure is still a saved job and counts toward that event. There is no separate start event configured.
See the live Pricing tab for current rates and plan discounts.
Tips for best results
- Use a small shared saved-row cap first. It does not cap every page visited while applying filters.
- Enable details for description-based filtering. Listing-only mode cannot match text that only appears in a description.
- Keep the intended company slug or public board URL. URL parameters are normalized away rather than imported as filters.
- Retain detail status and warnings. A saved listing with failed enrichment is distinct from an unsuccessful board request.
- Check the public board and run log after empty output. No matching rows do not establish that the employer has no open roles elsewhere.
Limits and caveats
Only public hosted Jobvite boards are supported, without login, cookies or a Jobvite API key. Private applications, applicant records and application status are outside scope. This Actor is not affiliated with Jobvite and does not search every employer automatically.
Board layouts and optional fields vary. Descriptions and other detail fields can remain null, and a failed optional detail request preserves the base listing with warnings. Detail success means the request succeeded rather than every field was filled. Parsed location components are not geocoded or verified addresses.
A board with no matching jobs can finish empty. Board-level problems appear in logs rather than synthetic dataset rows, and some source failures can fail the run. Empty output alone does not establish why a target was unavailable.
Listings are saved and billed individually. The recovery checkpoint is updated every 10 saved jobs and flushed at normal completion, handled failures and platform state-persistence events. After abrupt termination, it can lag the dataset by up to ten saved jobs, including an in-flight checkpoint write; use the dataset as the record of delivered listings. This does not provide automatic restart or duplicate prevention across separate runs. The default memory allocation remains 512 MiB.
Input order and a shared row cap affect which boards contribute results. Slugs precede supplied board URLs, and encountered source order is kept after filtering without date or relevance sorting. Text terms are alternatives rather than requiring every term, and description matching depends on requested details. Repeat-export joins and reporting remain your own workflow.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~jobvite-jobs-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \--data @- <<'JSON'{"companySlugs": ["kymanox"],"maxItems": 10,"includeDetails": true}JSON
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/jobvite-jobs-scraper').call({"companySlugs": ["kymanox"],"maxItems": 10,"includeDetails": true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/jobvite-jobs-scraper').call(run_input={'companySlugs': ['kymanox'], 'maxItems': 10, 'includeDetails': True})print(client.dataset(run['defaultDatasetId']).list_items().items)
API usage notes
The asynchronous cURL request returns run metadata. Wait for completion, then retrieve rows using its defaultDatasetId. The request itself does not return the job dataset.
MCP and AI agents
You can ask your AI assistant to collect data with Jobvite Jobs Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Jobvite Jobs Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/jobvite-jobs-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Jobvite Jobs Scraper by Fetch Cat, or give it the identifier fetch_cat/jobvite-jobs-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Use Fetch Cat’s Jobvite Jobs Scraper to collect up to 5 jobs from company slug kymanox with details enabled. Keep job links, departments and available descriptions, marking absent fields and detail warnings.”
- “Collect up to 5 jobs from gigamon matching engineering text with details enabled. Keep titles, categories and source links without assuming the text filter is an exact department selector.”
- “Retrieve up to 5 jobs in total from kymanox and gigamon, in that order, with details off. Keep company slugs, job IDs and collection times for my own later comparison, noting any board errors or incomplete coverage.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Can I use this as a Jobvite jobs API?
You can call this Actor through the Apify API. It collects supported public career boards. It is not an official Jobvite API or a global search of every employer.
Can I export Jobvite job postings data?
Yes. Open the completed dataset to download CSV, JSON or Excel, or retrieve its rows through the Apify client libraries.
Can I preserve filters from a Jobvite URL?
No. startUrls identifies the company board. URL filters are not retained. Use query or keywords to filter the collected fields instead.
Why did I get no rows?
The board may contain no supported listings or no jobs matching your terms. Check the run status and log for request failures, verify the public board and try a less restrictive filter. Empty output is not proof that a company has no open roles elsewhere.
Why are description or apply fields empty?
Listing-only mode leaves detail fields null. Even with details enabled, employers may omit structured fields. detailStatus: success describes a successful detail request, not field completeness. failed retains the base listing with a warning.
Related Actors
- Career Page Job Postings Scraper — Collect public job postings from company career pages and linked applicant tracking system pages.
- Greenhouse Jobs Scraper — Collect public openings and available job details from Greenhouse-hosted boards.
- Workable Jobs Scraper — Collect public jobs and available details from Workable-hosted career sites.
- LinkedIn Jobs Scraper — Collect public LinkedIn job listings with available company, location and application details.
- Indeed Jobs Scraper — Collect public Indeed job listings by role and location.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥