Every open job for a list of companies, in one table (Workday, Greenhouse, Lever and 14 more)

Every open job for a list of companies, in one table (Workday, Greenhouse, Lever and 14 more)

Sales teams, recruiters and job-market analysts often start from the same input: a list of companies. They want every job those companies have open right now, in one table, with the same columns for each company. That is harder than it looks. Each company publishes its jobs on its own applicant tracking system: Workday, Greenhouse, Lever, Ashby, SmartRecruiters, iCIMS and many others. Every system has a different URL scheme, a different public feed and different field names. Before you can read the jobs you have to find out which system a company uses and what its board is called. Big employers often run several career sites at once. This post shows how to do it with one API call, and what we measured when we compared our tool with the alternatives. The tool Company Jobs Scraper: All Open Jobs by Company Name or Website is an Apify Actor we built. You give it company names (Spotify) or websites (stripe.com). It finds each company's career board on one of 17 sources and returns every open job in one format. It reads only the public job data that companies publish for job seekers. It needs no login, and it is not affiliated with any of the job systems. For each job you get the source system, company, title, job URL and apply URL, department, location, workplace type (remote, hybrid or onsite), posting date, and the salary range where the company publishes one. The full description comes as text and HTML. One call from Python from apify_client import ApifyClient client = ApifyClient("YOUR_APIFY_TOKEN") run = client.actor("hiver/all-open-jobs-by-company").call(run_input={ "companies": ["stripe.com", "ramp.com", "Spotify", "NVIDIA"], "titleKeywords": ["engineer"], "maxJobs": 500, }) for job in client.dataset(run["defaultDatasetId"]).iterate_items(): print(job["company"], job["source"], job["title"], job["location"], job["url"]) Enter fullscreen mode Exit fullscreen mode maxJobs caps how many jobs a run returns, and so what it can cost. The same input works in the Apify Console without code, and results download as CSV, Excel or JSON. The Apify API docs cover scheduling and webhooks. Turn on onlyNewSinceLastRun and a daily schedule returns, and charges for, only jobs it has not delivered before. Wrong matches are worse than no match The hard part is matching a company name to the right board. A name like "Tide" belongs to a UK bank and to a detergent brand. The Actor matches a company only when the company's own website links to the board, or the board or its job ads name the company. Otherwise it reports the company as unmatched and does not guess. Each run saves a COMPANY_MATCHES record that lists the board it used for each company and the evidence, so you can check every match. What we measured Before we wrote this post, our test bench compared the Actor with the three other Apify Store Actors that also take company names or websites. All four got the same six companies: Stripe, Ramp and Spotify in one case, and NVIDIA, Salesforce and Airbnb by name only in a second case. We checked every answer against the company's real board, read from that board's public API. Our Actor Best alternative Test cases that returned the companies' jobs 2 of 2 1 of 2 Checks passed (job URL on the company's real board, job system named correctly) 11 of 11 (100%) 55% Job fields filled 95% 86% Price per 1,000 jobs in these runs $1.51 $2.01 and $3.01 Six companies is a small sample. The bench runs again after every new build. Name-only lists match fewer companies than lists of websites. The biggest gaps are large enterprises with custom in-house career sites that have no public job feed. Every company that cannot be matched is listed with the reason and costs nothing. If you have a company's website, enter it instead of the name. Price The Actor charges per job delivered: $1.50 per 1,000 jobs on the free and Starter plans, and less on higher plans. If a company is not found or has no open jobs, it costs nothing. If a company's jobs come back wrong or a field is missing, open an issue on the Actor's page. We answer there and treat every report as a test case for the next build.

Original Source

Read the full article at Dev →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.