Skip to main content

Hiring Signals API

Send a company domain and get back its open roles by job family, with titles, locations and the hiring pace, as structured JSON.

POST/v1/companies/enrich

curl -X POST https://signals.autobound.ai/v1/companies/enrich \  -H "X-API-KEY: $AUTOBOUND_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "domain": "salesforce.com",    "signal_types": ["hiring-trends"],    "signal_subtypes": ["hiringSalesRoles"],    "limit": 1  }'

Replace $AUTOBOUND_API_KEY with your key from the portal.

What's in each record

hiring-trends gives one record per job family each week. hiring-velocity gives one record per company with the overall pace. Each is one of 29 event subtypes, such as sales, engineering, finance and machine learning roles. All hiring-trends subtypes →

companies with a recordsince Jan 2025
613K
new records per month90-day window /3
536K
have a company domainthe join key
100%

Companies, records per month and domain rate: audit of all production hiring-trends records, Jul 2026.

signal_subtype
hiringSalesRolesThe event, one of 29 values
detected_at
2026-09-29T06:30:44.000ZWhen Autobound found it (UTC)
data.category
Hiring Sales RolesThe job family
data.open_roles_count
98Open roles in this job family
data.sample_titles
Sales Strategy Analyst/Sr. Analyst, Account Executive (Marketing Technology Specialist), Specialist Account Executive - Slack, Summer 2027 Intern - Sales Development, Nonprofit, Strategic Account Manager - Dat…Job titles from the open roles
data.signal_strength
lowStrength label

Also in this record: top_locations, pct_of_headcount

signal_id68653a8f-709c-414b-ad83-b8ef79d59680

Every field in a hiring signalThe same signal envelope for both types. The data object differs by type.Show all 31 fields

Green rows are filled in the record selected above: Salesforce, Inc., Sales roles.

Signal

signal_idstring, filled in the selected example
Stable id. GET /v1/signals/{id} returns the signal
signal_typestring, filled in the selected example
"hiring-trends" or "hiring-velocity"
signal_subtypestring, filled in the selected example
The event within the type
signal_namestring
Display name. Often empty: use data.summary
detected_atdatetime, filled in the selected example
When Autobound found it (UTC)
associationstring, filled in the selected example
"company" or "contact"
data.categorystring, filled in the selected example
The job family, such as Hiring Sales Roles
data.open_roles_countinteger, filled in the selected example
Open roles in this job family
data.pct_of_headcountnumber, filled in the selected example
Those roles as a percent of headcount
data.sample_titlesstring[], filled in the selected example
Job titles from the open roles
data.signal_strengthstring, filled in the selected example
Strength label, such as low or high
data.top_locationsobject[], filled in the selected example
Where the roles are: location and count

hiring-velocity data

data.takeawaystring
The hiring pace in one plain sentence
data.hiringVelocityPctnumber
Open roles as a percent of employees
data.velocityChangeobject
Change in the pace over 7, 30 and 90 days, in percent
data.netFlowRateobject
Net flow rate over 7, 30 and 90 days, in percent
data.numberOfOpenRolesinteger
Open roles counted
data.numberOfEmployeesinteger
Employees the ratio uses
data.seniorityobject[]
Open roles by seniority: category, count, pct
data.locationsobject[]
Open roles by location
data.departmentsobject[]
Open roles by department
data.contractsobject[]
Open roles by contract, such as full_time
data.historicalComparisonobject | null
Roles opened in earlier windows, when measured
data.relevancenumber
Score from 0 to 1

Company

company.namestring, filled in the selected example
The company the signal is about
company.domainstring, filled in the selected example
Root domain. The join key
company.linkedin_urlstring, filled in the selected example
Company LinkedIn page. May be a relative path
company.industriesstring[]
Industry labels, when known
company.employee_count_*integer
Headcount low and high, when known
company.revenuestring
Revenue range, when known
company.descriptionstring | null
Short description. Often null

Pricing and limits

You pay in credits for what a call returns. A call that returns no results is free.

See all plans →
Enrich a company
2creditsper signal returnedPOST /v1/companies/enrich
Search companies
2creditsper company returnedPOST /v1/companies/search
Free to start
1,000free credits at signup
Self-serve plans
$19Starter: 1,900 creditsPacks up to $4,999.
Rate limit
300requests per minutePer account, shared by all keys.

Questions

How do I act on hiring signals?

Pick the departments you sell into, for example hiringSalesRoles or hiringEngineeringRoles. Run companies/search with those subtypes each week, since hiring-trends updates weekly. Add company_domains (up to 100 per call) to watch your own account list, and send new matches to the account owner.

Is this a job postings API?

No. The API returns hiring signals: open-role counts per department, with sample titles and locations. It does not return one record per job posting. If you need the raw postings, this is not the right source.

What is the best way to detect hiring signals at target accounts?

Call companies/search with signal_types ["hiring-trends"] and company_domains set to your target accounts. Each company comes back with its matching signals. Companies with no match are not returned and are not charged.

Which departments can I filter on?

hiring-trends has 29 subtypes, one per department, each named hiring{Department}Roles, for example hiringFinanceRoles or hiringMachineLearningRoles. The live list is free at GET /v1/signals/types.

Make this call with your own key

One key works for all 35 signal types. 2 credits per signal returned with enrich, 2 per company returned with search. Calls with no results are free.

1,000 free credits to start.

Or use it from Claude Code, Cursor or any MCP client

Add the server, run /mcp to sign in, then ask: “Which of my accounts are hiring sales roles right now?”

claude mcp add --transport http autobound https://mcp.autobound.ai/mcp

Use it in Claude via MCP →