Making job board and company data more accessible.



Latest News:

Jobs Hub

For the past three years, JobApis has been primarily focused on building open source software surrounding job boards and accessing job board data. We’ve gotten to work on a lot of interesting projects, and made some exciting contributions to the open source community.

After fielding hundreds of questions via email and Github, we’ve started to notice some trends. The most striking was that a number of non-developers were finding our code and then contacting us to ask for custom implementations or recommendations for developers who could help them build something with our open source tools.

At this point, supporting every user with one-on-one help isn’t possible, but this week we’re announcing the release of our first software as a service product for developers and non-developers who want to use job board data in their next venture:

What is Jobs Hub?

Jobs Hub is a tool that collects job listings and associated data from job boards and aggregators around the internet. You can read more on the product’s page, but with it, you can do things like:

  • Monitor the web for new jobs matching specific search criteria and locations
  • Build niche job board backfill
  • Create custom job search services for clients or customers

Let’s say you want to keep up with all the companies hiring Ruby Developers in Chicago, IL. Jobs Hub will pull in all the listings it can find every day and allow you to search them in real-time as they’re available via our simple JSON API.

Jobs Hub builds on the open source technology that we support, so while we still encourage developers to build tools of their own, Jobs Hub will save them a lot of time.

More use cases and demos of Jobs Hub will be coming soon, but if you’d like to learn more or get a quote, contact Karl at [email protected] with some information about your project.


Jobs2Careers Job Board Api Client v.2 Released

Jobs2Careers support has been on hold since last year’s release of Jobs Common v2. Thanks to some help from Samer Bechara we have gotten the package up and running again. It is now supported by Jobs Multi as well.

Get started using this API client by including the package in your project’s composer file:

1
composer require jobapis/jobs-jobs2careers

As with all Jobs Common providers, you first need to create a Query:

1
2
3
4
5
6
$query = new JobApis\Jobs\Client\Queries\J2cQuery([
'id' => YOUR_PUBLISHER_ID,
'pass' => YOUR_PUBLISHER_PASSWORD,
'q' => 'engineer',
'l' => 'Chicago, IL',
]);

And inject it into the J2cProvider:

1
2
$client = new JobApis\Jobs\Client\Providers\J2cProvider($query);
$jobs = $client->getJobs();

This will return a Collection of Job objects.

For more detailed usage and documentation, see this project’s readme, and as always, feel free to contact us if you’d like to get involved.


Careers in Government and GoRemote RSS Clients Released

This month, we released two new job board clients: CareersInGovernment.com (Github) and GoRemote.io (Github). Both of these clients use RSS feeds to get the latest job listings.

Usage for each is pretty simple as there are no parameters that can be injected in the Query Objects.

Careers in Government

Install the package with Composer, and require the vendor file in your project. After the package is installed, you can get the latest listings in a couple lines of code:

1
2
$client = new CareersInGovProvider(new CareersInGovQuery());
$jobs = $client->getJobs();

For more detailed documentation see this project’s readme file.

GoRemote

Install the package with Composer, and require the vendor file in your project. After the package is installed, you can get the latest listings in a couple lines of code:

1
2
$client = new GoRemoteProvider(new GoRemoteQuery());
$jobs = $client->getJobs();

For more detailed documentation see this project’s readme file.


PHPJobs.com RSS Client Released

We now support PHPJobs.com’s RSS feed of job using the Jobs Common framework. With this client, you can quickly access the job search RSS feed on PHPJobs.com in your projects. Here’s an example of the library in action:

Usage

Install the package using Composer:

1
composer require jobapis/jobs-phpjobs

Then create a query object with all the parameters you’d like to use:

1
2
3
4
// Add parameters to the query via the constructor
$query = new JobApis\Jobs\Client\Queries\PhpjobsQuery([
'search_string' => 'zend'
]);

And inject the query object into the provider:

1
$client = new JobApis\Jobs\Client\Provider\CraigslistProvider($query);

Finally, call the “getJobs” method to retrieve results:

1
2
// Get a Collection of Jobs
$jobs = $client->getJobs();

Check out more examples or contribute to the project on Github.


Craigslist Jobs RSS Feed Client for PHP

Today we released our 17th job board client using version 2.0 of the Jobs Common framework, a Craigslist job search RSS feed client. Using this client, you can quickly access the job search RSS feed on Craigslist in your PHP projects. Here’s an example of the library in action:

Usage

Install the package using Composer:

1
composer require jobapis/jobs-craigslist

Then create a query object with all the parameters you’d like to use:

1
2
3
4
5
6
// Add parameters to the query via the constructor
$query = new JobApis\Jobs\Client\Queries\CraigslistQuery([
'location' => 'chicago', // Craigslist location. Full list of locations here: https://sites.google.com/site/clsiteinfo/city-site-code-sort
'query' => 'sales', // Search query
's' => '100', // Offset results
]);

And inject the query object into the provider:

1
$client = new JobApis\Jobs\Client\Provider\CraigslistProvider($query);

Finally, call the “getJobs” method to retrieve results:

1
2
// Get a Collection of Jobs
$jobs = $client->getJobs();

Check out more examples or contribute to the project on Github.


Monster.com RSS Client and theMuse.com API Client Released

Monster.com Jobs RSS feed client

Monster.com’s official API is closed to most users (they have not responded to multiple requests for access), but their RSS feed provides a small subset of their jobs. Unfortunately, results are only from the past 24 hours, so this client won’t work for all applications. Using the client is pretty much the same as most RSS feed providers we support:

1. Install the package via Composer

composer require jobapis/jobs-monster

2. Create a query object with all API parameters

1
2
3
4
5
$query = new JobApis\Jobs\Client\Queries\MonsterQuery([
'q' => 'engineering', // Keyword
'where' => 'chicago', // Location
'p' => '1', // Page number
]);

3. Inject the query object and get jobs

1
2
$client = new JobApis\Jobs\Client\Provider\MonsterProvider($query);
$jobs = $client->getJobs();

This will return a Collection of Job objects.

For more detailed usage and documentation, see this project’s readme

The Muse Jobs API client

We also re-released our Muse API client with support for Jobs Common v.2 and the Muse’s v.2 of their API. Their API still does not support a true “keyword” search, but the category field allows you to search by types of jobs. Usage is similar to the above client:

1. Install the package via Composer

composer require jobapis/jobs-muse

2. Create a query object with all API parameters

1
2
3
4
$query = new JobApis\Jobs\Client\Queries\MuseQuery([
'category' => 'Engineering',
'location' => 'Chicago, IL',
]);

3. Inject the query object and get jobs

1
2
$client = new JobApis\Jobs\Client\Provider\MuseProvider($query);
$jobs = $client->getJobs();

This will return a Collection of Job objects.

For more detailed usage and documentation, see this project’s readme


JobsToMail Version 1.0 Release

Just in time for 2017, I got my act together and cleaned up things in JobsToMail for a version 1.0.0 release. There were a lot of major changes in the project since the last release, but I’ve had most of them in production for weeks now, so I’m not too concerned with their stability.

Release Highlights

  • Support for 13 total job boards.
  • User login via token, allowing users to view and manage job searches.
  • Users can download their job listings every day in a convenient CSV file.
  • Filtering recruiter job listings from our database of recruiting firms.
  • Support for PHP 7.1.

See all release notes on Github.

What’s next for JobsToMail?

I’m actually going to be doing less work on JobsToMail for the next few months. It’s been a really fun project, and I’m glad it’s been useful to a few job seekers and interested developers, but JobApis as an organization has other priorities for 2017.

That said, I will continue to support the project and keep the servers running, and I encourage any developers who want to continue building it to keep the PRs coming.

Special thanks to Soleo, Alex Knoll, and Max Lever for their contributions to version 1.0. It’s been really fun working on this project with you guys and I hope to continue work in 2017!


JobsMulti - the Ultimate Job Board API Client - Version 1.0 Release

Today we are excited to announce the release of version 1.0, the first stable release, of JobsMulti.

What is JobsMulti?

JobsMulti is the ultimate job board API client. With a few lines of code, you can grab the latest jobs from up to 13 job boards (as of this writing), with our list of supported job boards growing every month. So, instead of writing code to query each job board individually, developers can get results from multiple job boards with just one client.

The code speaks for itself, so here’s an example of using JobsMulti v.1.0:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Include as many or as few providers as you want. Just be sure to include any required keys.
$providers = [
'Careerbuilder' => [
'DeveloperKey' => '<YOUR DEVELOPER KEY>',
],
'Careercast' => [],
'Careerjet' => [
'affid' => '<YOUR AFFILIATE ID>',
],
'Dice' => [],
'Github' => [],
'Govt' => [],
'Ieee' => [],
'Indeed' => [
'publisher' => '<YOUR PUBLISHER ID>',
],
'Jobinventory' => [],
'Juju' => [
'partnerid' => '<YOUR PARTNER ID>',
],
'Stackoverflow' => [],
'Usajobs' => [
'AuthorizationKey' => '<YOUR API KEY>',
],
'Ziprecruiter' => [
'api_key' => '<YOUR API KEY>',
],
];
// Instantiate a new JobsMulti client
$client = new JobsMulti($providers);
// Set the parameters: Keyword, Location, Page
$client->setKeyword('engineering')
->setLocation('chicago, il')
->setPage(1, 10);
// And include an array of options if you'd like
$options = [
'maxAge' => 30, // Maximum age (in days) of listings
'maxResults' => 100, // Maximum number of results
'orderBy' => 'datePosted', // Field to order results by
'order' => 'desc', // Order ('asc' or 'desc')
];
// Finally, get all the jobs in a single Collection
$jobs = $client->getAllJobs($options);

More details can be found on the JobsMulti landing page and in the Readme. This project is free and open source, so if it helps you out, let us hear about it on Twitter: @jobapis.


Stack Overflow Job Board Client

Stack Overflow is widely recognized for being one of the best Q&A sites for developers. This package makes it easy to access their job listings via the site’s RSS feed and the Jobs Common project. Use of this package is similar to most other packages supported by Jobs Common:

First, create a Query object:

1
2
3
4
5
$query = new JobApis\Jobs\Client\Queries\StackoverflowQuery([
'q' => 'engineering',
'l' => 'Chicago, IL',
'pg' => '2',
]);

For a full list of supported query options, see this file.

And inject it into the StackoverflowProvider:

1
2
$client = new JobApis\Jobs\Client\Provider\StackoverflowProvider($query);
$jobs = $client->getJobs();

This will return a Collection of Job objects.

For more detailed usage and documentation, see this project’s readme, and as always, feel free to contact us if you have any questions or comments.


IEEE JobSite Client Released

The IEEE is a professional engineering organization with the largest membership of any technical organization in the world. Their job board is mostly geared towards engineers, especially computer and electrical engineers, but a variety of career paths may be represented. Unfortunately, their API is not documented, but can be accessed by appending &format=json to most search queries on the site.

Based on this knowledge and some testing I was able to create a job board API client for IEEE’s JobSite and it is now the 18th job board API client supported by our organization.

To start using the IEEE job board API client, install the package via composer:

Next, create a Query object:

1
2
3
4
5
$query = new JobApis\Jobs\Client\Queries\IeeeQuery([
'keyword' => 'engineering',
'location' => 'Chicago, IL',
'rows' => '50',
]);

For a full list of supported query options, see this file.

And inject it into the IeeeProvider:

1
2
$client = new JobApis\Jobs\Client\Provider\IeeeProvider($query);
$jobs = $client->getJobs();

This will return a Collection of Job objects.

For more detailed usage and documentation, see this project’s readme, and as always, feel free to contact us if you have any questions or comments.