NewSearch millions of jobs from your AI agent with MCP
Source · Bullhorn

Bullhorn Jobs API.

Public job postings from staffing agencies that run Bullhorn, one endpoint - same schema as 30+ other sources.

Public Bullhorn-powered job boards
24h refresh
12 months retention

Why people are confused about the Bullhorn API

The Bullhorn REST API is an OAuth-authenticated API into one staffing agency's ATS/CRM - candidates, contacts, job orders, placements. Access requires the agency's credentials and, for most integrations, going through Bullhorn's Marketplace partner program. It is scoped to a single customer's data, not a public feed of job postings across agencies.

Bullhorn powers the public job boards of thousands of staffing and recruiting agencies, but there is no public list endpoint that enumerates them or aggregates their postings. JobsPipe indexes the public Bullhorn-powered job postings it can identify and normalizes them into the same JSON shape as every other source.

Workaround
Use the Bullhorn REST API

Right for one agency's ATS/CRM data once you have their credentials and partner access. It is per-customer and authenticated - not a cross-agency job feed.

Workaround
Scrape individual agency job boards

Possible for an agency whose Bullhorn-powered board you know. Subject to rate limits, HTML drift, and no way to discover other agencies.

JobsPipe
Use JobsPipe

Public Bullhorn-powered job postings under one endpoint, normalized - no partner onboarding, no per-agency credentials.

Bullhorn API documentation

Bullhorn's developer documentation lives at bullhorn.github.io and the Bullhorn API portal. The REST API authenticates with OAuth against a single agency's Bullhorn instance and exposes candidates, job orders, contacts, and placements once that customer authorizes access - typically through the Bullhorn Marketplace partner program. There is no public, unauthenticated postings endpoint and no list endpoint to enumerate Bullhorn agencies. JobsPipe's normalized JSON schema is documented at /docs and uses the same shape across Bullhorn, Workday, Greenhouse, and 30+ other sources.

Bullhorn API integration

A single-tenant Bullhorn integration - sync candidates, post job orders, automate placements - uses the agency's OAuth credentials against the Bullhorn REST API. For cross-agency aggregation where you want public job postings across many staffing firms that run Bullhorn, JobsPipe is the integration: one API key, public Bullhorn-powered postings normalized into the same JSON schema as 30+ other ATSs. Sample request and response are below.

Sample request

curl https://api.jobspipe.dev/v1/jobs/search \
     -H "Authorization: Bearer jp_live_your_key_here" \
     -H "Content-Type: application/json" \
     -d '{ "source_or": ["bullhorn"], "limit": 25 }'

Sample response

{
  "id": "bh_MmM1ZjkwYjItM2Rl",
  "source": "bullhorn",
  "tenant": "insightglobal",
  "title": "Contract .NET Developer",
  "company": "Insight Global",
  "location": {
    "city": "Atlanta",
    "region": "GA",
    "country": "US",
    "remote": false
  },
  "salary": {
    "min": 55,
    "max": 70,
    "currency": "USD",
    "period": "hour",
    "source": "explicit"
  },
  "employment_type": "contract",
  "posted_at": "2026-05-21T12:45:00Z",
  "expires_at": null,
  "apply_url": "https://jobs.insightglobal.com/...",
  "description": "Insight Global is staffing a Contract .NET Developer for a financial-services client modernizing internal tooling ..."
}

Every Bullhorn job record is returned in the same JSON shape as every other JobsPipe source. The full schema is documented in the docs.

Fields in every Bullhorn job record

idsourcetenanttitlecompanylocationsalaryemployment_typeremoteposted_atexpires_atapply_urldescription

FAQ

Is the Bullhorn API a public job board API?+

No. The Bullhorn REST API is an OAuth-authenticated, per-customer ATS/CRM API behind the partner program. It is not designed to return job postings across agencies. JobsPipe is useful when you want public Bullhorn-powered postings without per-agency credentials.

How fresh is Bullhorn data?+

Public Bullhorn-powered postings are re-crawled at least every 24 hours.

Can I get jobs from one staffing agency on Bullhorn?+

Yes. "company_name_partial_match_or": ["insight global"] in the JSON body of POST /v1/jobs/search filters to that agency's postings (substitute any agency name).

Does JobsPipe expose Bullhorn candidate or placement data?+

No. JobsPipe reads only public job postings - never candidate, contact, or placement records.

Try Bullhorn data free - 5,000 requests/month, no credit card.

Get a free API key