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
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 fieldsHide
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"
hiring-trends data
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