Skip to content

FousBullhorn

Pull your Bullhorn placements and jobs into your systems

Read your Bullhorn placements, jobs and submissions with one API call each, with Status, Start Date, Pay Rate and Job Owner. Or have a workflow send your back office the placements starting each week before payroll and onboarding begin.

Works with your own Bullhorn account. Fous is an independent product.

What you can build on Bullhorn

  • Get placements

    Build this

    Reads the Placements list view with each placement's Status, Start Date, End Date, Employment Type, Job Title, Company, Pay Rate and Salary.

    Takes
    Start date from and to, or end date from and to, Status (optional)
    Returns
    Placement ID, candidate ID, job title, company, status, employment type, start date, end date, pay rate, salary, owner ID
  • Get open jobs

    Build this

    Reads the Jobs list view, with each job's Job ID, Job Title, Job Status and Job Owner, for the Job Status you name.

    Takes
    Job Status (optional), Job Owner (optional)
    Returns
    Job ID, job title, company, job status, employment type, job owner, date added
  • Get submissions for a job

    Build this

    Reads the Submissions list for one job: each candidate submitted, the submission status and when it was added.

    Takes
    Job ID
    Returns
    Submission ID, candidate, job title, client contact, status, date added, owner
  • Update a placement's status and end date

    Build this

    Opens one placement record, changes its Status and End Date to the values you give, and saves it.

    Takes
    Placement ID, status, end date
    Returns
    Placement ID, status, end date, saved at

Automate Bullhorn with a workflow

A workflow runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

  • Placements starting next week, to payroll and onboarding

    Build this
    Starts
    Every Friday at 14:00
    Step 1
    Get the placements with a Start Date in the coming Monday to Sunday.
    Step 2
    Keep the ones not sent on the last run.
    Step 3
    Post placement ID, candidate ID, company, start date, employment type and pay rate to your payroll or HR webhook.
  • Contract placements ending in the next 14 days

    Build this
    Starts
    Every weekday at 8:00
    Step 1
    Get the placements with an End Date in the next 14 days.
    Step 2
    Keep the contract placements.
    Step 3
    Email you the list, grouped by placement owner, so each owner can raise an extension in time.
  • Weekly open jobs and their submissions

    Build this
    Starts
    Every Monday at 7:30
    Step 1
    Get the open jobs.
    Step 2
    For each job, get its submissions and count those added in the last 7 days.
    Step 3
    Email you one table: job, company, job owner and new submissions, with jobs at zero first.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

Once built, one call from your code

Once you have built a method, it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get placements” would look like.

Example request
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "bullhornstaffing.com/get_placements",
    "input": {
      "start_date_from": "2026-11-16",
      "start_date_to": "2026-11-22"
    }
  }'
Example response
{
  "status": "completed",
  "data": {
    "placements": [
      {
        "placement_id": "48213",
        "candidate_id": "30571",
        "job_title": "Warehouse Supervisor",
        "company": "Northwind Logistics",
        "status": "Approved",
        "employment_type": "Contract",
        "start_date": "2026-11-16",
        "end_date": "2027-05-14",
        "pay_rate": 31.5,
        "salary": null,
        "owner_id": "112"
      }
    ],
    "count": 1
  }
}

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

Bullhorn’s own options

Bullhorn has a REST API, but it is not self-serve. API access comes with the Front Office Growth or Enterprise editions, and a vendor building for you must sign Bullhorn's API Access Agreement, pass a security assessment and pay an annual platform fee. A customer does not get its API key to hand to a vendor without that contract.

OptionWhat it coversWhat it takes
Bullhorn REST APIBullhorn's records, such as jobs, submissions and placements, read and written from code.Front Office Growth or Enterprise, OAuth keys by support ticket. Vendors: an agreement, a security assessment, an annual fee for 200,000 calls a month.
Export as CSVThe rows you select in a list view, with the columns that view shows, as an Excel-compatible CSV file.Admin rights by default. Limits per export range from 5,000 to 20,000 records by entity type.
Bullhorn by handThe Candidates, Contacts, Jobs, Submissions, Placements and Companies list views and their records.A Bullhorn user account from your company's subscription.

Read on November 12, 2026: Bullhorn API access FAQs, Getting started with Bullhorn REST, Exporting data from Bullhorn.

Signing in to Bullhorn

Bullhorn signs each person in with their own Bullhorn user credentials, and their user type decides how much they can export. With Fous you sign in once through Bullhorn's own sign-in with your own account: the login is sealed with AES-256, code and AI agents never see it, and an expired session is signed back in.

Worth knowing

Exports are for Admins by default
Only Admin users can export records unless an Admin grants it. Each export is capped by entity type at 5,000 to 20,000 records, and fewer columns let more records through.
The Submissions column multiplies an export
On the Candidate list, the Submissions column exports the five most recent submissions for each record, which can stop a large export from finishing.
API keys come through a support ticket
OAuth keys for the REST API are requested with a support ticket in the Bullhorn Resource Center. An access token lasts 10 minutes, and refresh tokens work only if Bullhorn has enabled them.

More in HR: staffing and vendor management

Other industries: CAQH Provider Data Portal, PPL, Money Claim Online, Lufthansa Cargo eServices, Fidelity Plan Sponsor WebStation, Georgia Ports WebAccess.

Frequently asked questions

Yes, a REST API, but not self-serve. It comes with the Front Office Growth or Enterprise editions, and OAuth keys are requested by support ticket. A vendor building on it must sign Bullhorn's API Access Agreement, pass a security assessment and pay an annual fee covering a sandbox and 200,000 API calls a month.

Yes, if you have export rights, which only Admins have by default. Select the rows in the Placements list, choose Selected, then Export as CSV, and Download Now when it is ready. Each export is limited to between 5,000 and 20,000 records, depending on the entity type.

Often because of the columns. Bullhorn says fewer columns allow more records, and a Submissions column on the Candidate list exports the five most recent submissions for each record. Remove columns and export again.

No. Fous is an independent product. You use it with your own Bullhorn account, and a method reads and does only what that account can.

Put Bullhorn behind an API call

Describe one job in Studio and see the method it builds, with 100 credits a month and no credit card, or book a demo and bring the sites your team signs in to.

Read nextBeelineMagnit VMSSAP FieldglassCAQH Provider Data PortalHow methods workHow workflows run

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of Bullhorn (Bullhorn). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.