ClearCompany Jobs Scraper (apply.clearcompany.com) avatar

ClearCompany Jobs Scraper (apply.clearcompany.com)

Pricing

from $1.05 / 1,000 result items

Go to Apify Store
ClearCompany Jobs Scraper (apply.clearcompany.com)

ClearCompany Jobs Scraper (apply.clearcompany.com)

Scrapes public job postings from ClearCompany career sites (apply.clearcompany.com, former hrmdirect.com): title, company, department, location, remote flag, salary range, posted date, full description, apply link. Unofficial tool.

Pricing

from $1.05 / 1,000 result items

Rating

0.0

(0)

Developer

Gonzalo Fajardo

Gonzalo Fajardo

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Security

Limited permissions

Share

Scrape public job postings from career sites built on ClearCompany's applicant tracking system. These sites live at https://apply.clearcompany.com/<employer> (for example apply.clearcompany.com/pmic); the older <employer>.hrmdirect.com addresses now redirect there and are still accepted as input. Give it one or more career site URLs or bare tenant names and it returns one clean record per open job: title, company, department, location, remote flag, salary range (when the posting shows one), posted date, full description as text and HTML, job URL and apply link.

This is an unofficial tool. It is not affiliated with, endorsed by or sponsored by ClearCompany or any employer whose career site you scrape.

What data does it return?

Each dataset item has these fields:

  • tenant, company: the career site name and the employer name as shown on the career site page
  • jobId, customReqId: the ClearCompany job id (a UUID, the same id that appears in the job page URL) and the employer's own requisition number
  • title, department, office, brand, jobFunction
  • city, state, country, location: taken from the first work location of the job, plus a joined, readable location; locations lists all work locations (city, state, country, postal code, remote flag)
  • remote: true when a location is flagged remote or the title, office or location says remote or work from home
  • salary, salaryMin, salaryMax, salaryPeriod: the published salary range as a text line (for example $72500 - $100000 Per Year) and as numbers with the period (Per Hour or Per Year); all empty when the employer published no salary
  • postedDate, openDate: ISO 8601 date-times as published (local time, no offset)
  • descriptionText: plain text with whitespace normalised (paragraphs and list items keep their line breaks)
  • descriptionHtml, descriptionIsFull: the description HTML, and whether a description is present
  • jobUrl, applyUrl: the public job page and the apply link, passed through as links only
  • sourceUrl (the jobs API URL the job was read from), scrapedAt

No names, e-mail addresses or phone numbers of people are collected. E-mail addresses that appear inside a job description are replaced by [email removed].

Changes in version 0.2: ClearCompany moved its career sites from hrmdirect.com to apply.clearcompany.com, so the actor now reads the career site's public jobs API. All earlier field names are kept. customReqId still holds the employer's requisition number. jobId used to hold the numeric HRMDirect req number, which no longer exists; it now holds the ClearCompany UUID. country is now a country code such as US, salary is built from the published range, and postedDate has no offset. The input includeFullDescription is still accepted but has no effect, because the full description comes with every job.

How do I run it?

  1. Open the Actor in Apify Console and go to the Input tab. The prefilled input already contains three career sites.
  2. Add your own career site URLs. These forms all work: https://apply.clearcompany.com/<tenant>, https://<tenant>.clearcompany.com/careers/portal and the former https://<tenant>.hrmdirect.com/employment/job-openings.php (also the site root or xml.php). Only the tenant name is read from the URL. You can also list bare tenant names such as continuinglife in the Tenant names field.
  3. Optionally set a keyword (case-insensitive, matched against title, department, office, job function and description) and a maximum number of jobs.
  4. Click Start. When the run finishes, open the Output tab and download the dataset as JSON, CSV or Excel.

The prefilled run (three career sites, maxItems 20) returned 20 jobs in about 10 seconds on a local run: all 12 jobs of the first site, all 3 of the second and 5 of the 63 jobs of the third.

How much does it cost to scrape ClearCompany job postings?

The Actor uses pay-per-event pricing: 0.0015 USD per job returned (one result event per dataset item). 1,000 jobs cost 1.50 USD, 100 jobs cost 0.15 USD. Platform usage is covered by Apify's compute pricing for your plan; the Actor needs very little memory (256 MB minimum). If you set a maximum total charge on the run, the Actor stops cleanly as soon as that budget is used and reports how many jobs it returned.

Input and output example

Input:

{
"startUrls": [
{ "url": "https://apply.clearcompany.com/pmic" },
{ "url": "https://apply.clearcompany.com/clearfield" },
{ "url": "https://apply.clearcompany.com/continuinglife" }
],
"tenants": [],
"keyword": "",
"maxItems": 20
}

Output (three items from a local run on 2026-10-22; long descriptions shortened here):

[
{
"tenant": "pmic",
"company": "Preferred Mutual Insurance Company",
"jobId": "cd3aa5a5-3d80-ece0-1969-4ef0f6dfefd3",
"customReqId": "299",
"title": "Associate Territory Manager - MA/NH",
"department": "Outside NY Region",
"office": "Remote",
"city": null,
"state": null,
"country": "US",
"location": "US",
"remote": true,
"salary": "$72500 - $100000 Per Year",
"postedDate": "2026-10-16T00:00:00",
"descriptionText": "Please note, this role requires approximately 75% travel within Massachusetts and New Hampshire. Candidates must reside in either state. A company vehicle will\u2026",
"descriptionHtml": "<p><span style=\"font-size: 14px\"><span style=\"font-family: Arial, Helvetica, sans-serif\"><strong>Please note,</strong> this role requires approximately <strong>\u2026",
"descriptionIsFull": true,
"jobUrl": "https://pmic.clearcompany.com/careers/jobs/cd3aa5a5-3d80-ece0-1969-4ef0f6dfefd3",
"applyUrl": "https://pmic.clearcompany.com/careers/jobs/cd3aa5a5-3d80-ece0-1969-4ef0f6dfefd3/apply",
"sourceUrl": "https://careers-api.clearcompany.com/v1/f4d52f2f-5a60-4d0d-c871-456fcb72e348",
"scrapedAt": "2026-10-22T12:16:41Z",
"brand": "Preferred Mutual Insurance Company",
"jobFunction": "Sales",
"salaryMin": 72500,
"salaryMax": 100000,
"salaryPeriod": "Per Year",
"openDate": "2026-10-16T00:00:00",
"locations": [
{
"city": null,
"state": null,
"country": "US",
"postalCode": null,
"isRemote": true
}
]
},
{
"tenant": "clearfield",
"company": "Clearfield, Inc",
"jobId": "a428af67-79bf-789b-c785-dbc1b41c8699",
"customReqId": "332",
"title": "Extrusion Operator",
"department": "Production Extrusion",
"office": "MN1",
"city": "Brooklyn Park",
"state": "MN",
"country": "US",
"location": "Brooklyn Park, MN, US",
"remote": false,
"salary": "$22.78 - $28.65 Per Hour",
"postedDate": "2026-10-14T00:00:00",
"descriptionText": "POSITION TITLE: Extrusion Operator\n\nPOSITION OBJECTIVE:\n\nThe Extrusion Operator is responsible for the safe and efficient operation of extrusion lines by follow\u2026",
"descriptionHtml": "<p><strong>POSITION TITLE:</strong> Extrusion Operator</p>\n\n<p><strong>POSITION OBJECTIVE:</strong></p>\n\n<p>The Extrusion Operator is responsible for the safe a\u2026",
"descriptionIsFull": true,
"jobUrl": "https://clearfield.clearcompany.com/careers/jobs/a428af67-79bf-789b-c785-dbc1b41c8699",
"applyUrl": "https://clearfield.clearcompany.com/careers/jobs/a428af67-79bf-789b-c785-dbc1b41c8699/apply",
"sourceUrl": "https://careers-api.clearcompany.com/v1/21df3ee0-8b20-5b11-4384-c60a10f914ff",
"scrapedAt": "2026-10-22T12:16:43Z",
"brand": "Clearfield, Inc",
"jobFunction": "Manufacturing",
"salaryMin": 22.78,
"salaryMax": 28.65,
"salaryPeriod": "Per Hour",
"openDate": "2026-10-14T00:00:00",
"locations": [
{
"city": "Brooklyn Park",
"state": "MN",
"country": "US",
"postalCode": "55428",
"isRemote": false
}
]
},
{
"tenant": "continuinglife",
"company": "Continuing Life",
"jobId": "83f14c41-c7a8-5bbb-6dde-ba743b6c41bb",
"customReqId": "9091",
"title": "Housekeeping Lead",
"department": "Environmental Services - RL",
"office": "Reata Glen",
"city": "Rancho Mission Viejo",
"state": "CA",
"country": "US",
"location": "Rancho Mission Viejo, CA, US",
"remote": false,
"salary": "$23 - $24 Per Hour",
"postedDate": "2026-10-20T00:00:00",
"descriptionText": "Lead Housekeeper\n\nFull-Time: Monday-Friday, 8:00 AM - 4:30PM\n\n- $23-$24\n\n- LOTS of growth opportunity in a stable & beautiful work environment.\n\n- Fulltime Bene\u2026",
"descriptionHtml": "<p><strong>Lead Housekeeper</strong></p>\n\n<p><strong>Full-Time: </strong>Monday-Friday, 8:00 AM - 4:30PM</p>\n\n<ul>\n\t<li>$23-$24</li>\n\t<li><strong>LOTS</strong>\u2026",
"descriptionIsFull": true,
"jobUrl": "https://continuinglife.clearcompany.com/careers/jobs/83f14c41-c7a8-5bbb-6dde-ba743b6c41bb",
"applyUrl": "https://continuinglife.clearcompany.com/careers/jobs/83f14c41-c7a8-5bbb-6dde-ba743b6c41bb/apply",
"sourceUrl": "https://careers-api.clearcompany.com/v1/d5c9bcb5-47e5-345d-a6af-eb7a4af24ac5",
"scrapedAt": "2026-10-22T12:16:45Z",
"brand": "Reata Glen",
"jobFunction": null,
"salaryMin": 23,
"salaryMax": 24,
"salaryPeriod": "Per Hour",
"openDate": "2026-10-20T00:00:00",
"locations": [
{
"city": "Rancho Mission Viejo",
"state": "CA",
"country": "US",
"postalCode": "92694",
"isRemote": false
}
]
}
]

Limitations and the free plan

  • Only career sites on apply.clearcompany.com are supported (including the former hrmdirect.com addresses that redirect there). Employers that use a custom domain or a different applicant tracking system are not covered. A tenant name that does not exist is logged as a warning and the run continues with the other tenants. If no tenant can be read, the run fails with a clear status message; if a site lists no open jobs, the run finishes with a status message that says so.
  • Only jobs that a career site publishes in its public job list are returned. The Actor never logs in and never opens the job pages or the application form; jobUrl and applyUrl are only passed through as links.
  • Requests run one at a time with a one-second minimum gap, jobs are read 25 per request, and no proxies are used. The career site API occasionally answers a temporary "not found"; the Actor retries a few times before it gives up on a site.
  • Salary is only present when the employer published a range. The currency is not part of the data; the dollar sign in salary follows the style of earlier versions.
  • postedDate is the date the site gives. Some sites list old postings.
  • Free plan: the Actor is pay-per-event, so each returned job is billed at the price above. The prefilled input returns 20 jobs (a few cents) and needs no setup, so you can try it before scaling up.

FAQ

Does it need a login or an API key? No. It reads only data that anyone can open without an account.

My saved input uses hrmdirect.com URLs. Do I have to change it? No. The tenant name is taken from the URL and the site is read at its new address.

Why did jobId change? The numeric HRMDirect req numbers were part of the old hrmdirect.com pages. The new career sites identify jobs by UUID. Use customReqId if you need the employer's requisition number.

Why is salary empty? Many employers do not publish a salary. Zero values are treated as empty.

Can I scrape several employers in one run? Yes. List as many start URLs or tenant names as you like; maxItems applies to the whole run.

Where do I report a problem? Please use the Issues tab of this Actor on Apify.