PHPackages                             kkiernan/bullhorn - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. kkiernan/bullhorn

ActiveLibrary[API Development](/categories/api)

kkiernan/bullhorn
=================

PHP client for Bullhorn

41313PHP

Since Mar 16Pushed 9y ago2 watchersCompare

[ Source](https://github.com/kkiernan/bullhorn)[ Packagist](https://packagist.org/packages/kkiernan/bullhorn)[ RSS](/packages/kkiernan-bullhorn/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Bullhorn
========

[](#bullhorn)

[![Build Status](https://camo.githubusercontent.com/4a66f80f6c8b6b886b37e7726d9a31def3de7e5e6359e9d92e32fc6173ffb9bd/68747470733a2f2f7472617669732d63692e6f72672f6b6b6965726e616e2f62756c6c686f726e2e737667)](https://travis-ci.org/kkiernan/bullhorn)[![Style Status](https://camo.githubusercontent.com/c0ea7d4980cc9eff43cc8d7d1c4b98aaec6a76b88627e7d136f4806b8143b367/68747470733a2f2f7374796c6563692e696f2f7265706f732f33383339353735312f736869656c64)](https://styleci.io/repos/38395751)

This is a basic PHP wrapper around the Bullhorn SOAP API. A REST API is offered by Bullhorn, but I currently only have the means to access and test the SOAP API.

Authenticating
--------------

[](#authenticating)

Before you can issue any requests to the Bullhorn API, you must create a new session using your Bullhorn credentials. See the demo folder for examples.

**Inline Example**

```
$bullhorn = new Bullhorn(
    'https://api.bullhornstaffing.com/webservices-2.5/?wsdl',
    ['trace' => 1, 'soap_version' => SOAP_1_1],
    'your_username',
    'your_super_secret_password',
    'your_super_secret_api_key',
);

```

**Separate Config File**

```
$config = require 'config.php';

$bullhorn = new Bullhorn(
    $config['bullhorn']['wsdl'],
    $config['bullhorn']['params'],
    $config['bullhorn']['username'],
    $config['bullhorn']['password'],
    $config['bullhorn']['apiKey']
);

```

Supported Operations
--------------------

[](#supported-operations)

- [find](#find)
- [findMultiple](#find-multiple)
- [query](#query)
- [addFile](#add-file)

### Find

[](#find)

The `find` method retrieves a single entity with the id you specify.

```
// Find a candidate entity by id
$candidate = $bullhorn->find('Candidate', 98261);

```

**Tip**: The `find` method first checks to see if the id you are passing in is an array. If an array is detected, `find` will pass the request on to the `findMultiple` method for you. This is helpful when passing the id(s) in from a query result and you aren't sure if one or many results were returned.

### Find Multiple

[](#find-multiple)

The `findMultiple` method retrieves an array of entities matching the ids you specify.

```
// Find multiple job orders
$jobs = $bullhorn->findMultiple('JobOrder', [100, 101]);

```

### Query

[](#query)

The `query` method retrieves ids of entities that match a query you specify. After retrieving the ids, you can pass them to the `find` or `findMultiple` methods to get the entity details.

```
// Get a candidate id for a specific query
$id = $bullhorn->query([
    'entityName' => 'Candidate',
    'maxResults' => 1,
    'where'      => "isDeleted = 0 AND email = 'john@smith.com'",
    'distinct'   => 0,
    'parameters' => []
]);

// Get details for the candidate id
$candidate = $bullhorn->find('Candidate', $id);

```

Add File
--------

[](#add-file)

The `addFile` method links a file with a Bullhorn entity.

**Note**: The file must be on the filesystem already. For example, if the user is uploading a file from an HTML form, you must upload that file to your server. You can then pass that filename along to the `addFile` method.

```
$entityId = 294415;
$entityName = 'Candidate';
$filename = 'test-resume.pdf';
$type = 'File';
$comments = 'Test API Upload!';

$bullhorn->addFile($entityId, $entityName, $filename, $type, $comments);

```

Available Entities
------------------

[](#available-entities)

There are a ton of entities to work with in Bullhorn. Some examples are Appointment, Candidate, Note and JobSubmission. See a [full list of the available entities](http://developer.bullhorn.com/documentation) in the documentation.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/99d8fa03037957d5ebd061dade4a624bc2b7b324cef2c955f5a8dcb728d97ab1?d=identicon)[kkiernan](/maintainers/kkiernan)

---

Top Contributors

[![kkiernan](https://avatars.githubusercontent.com/u/3057556?v=4)](https://github.com/kkiernan "kkiernan (31 commits)")

### Embed Badge

![Health badge](/badges/kkiernan-bullhorn/health.svg)

```
[![Health](https://phpackages.com/badges/kkiernan-bullhorn/health.svg)](https://phpackages.com/packages/kkiernan-bullhorn)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
