Create hiring intent for accounts
curl --request POST \
--url https://app.pipecorn.com/api/v2/intents/accounts/hiring \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"webhook_url": "https://your-company.com/webhooks/hiring",
"streaming": false,
"limit": 100,
"published_date": "last_30_days",
"exclude_consulting_recruiting": true,
"exclude_internships": true,
"company_size": [
"51-200",
"201-500"
],
"selected_keywords": [
"sales",
"account executive"
],
"excluded_keywords": [
"intern",
"junior"
],
"selected_titles": [
"Account Executive",
"Sales Development Representative"
],
"excluded_titles": [
"Intern",
"Manager"
],
"included_locations": [
103644278
],
"excluded_locations": [
101282230
],
"included_industries": [
"4"
]
}
'import requests
url = "https://app.pipecorn.com/api/v2/intents/accounts/hiring"
payload = {
"webhook_url": "https://your-company.com/webhooks/hiring",
"streaming": False,
"limit": 100,
"published_date": "last_30_days",
"exclude_consulting_recruiting": True,
"exclude_internships": True,
"company_size": ["51-200", "201-500"],
"selected_keywords": ["sales", "account executive"],
"excluded_keywords": ["intern", "junior"],
"selected_titles": ["Account Executive", "Sales Development Representative"],
"excluded_titles": ["Intern", "Manager"],
"included_locations": [103644278],
"excluded_locations": [101282230],
"included_industries": ["4"]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
webhook_url: 'https://your-company.com/webhooks/hiring',
streaming: false,
limit: 100,
published_date: 'last_30_days',
exclude_consulting_recruiting: true,
exclude_internships: true,
company_size: ['51-200', '201-500'],
selected_keywords: ['sales', 'account executive'],
excluded_keywords: ['intern', 'junior'],
selected_titles: ['Account Executive', 'Sales Development Representative'],
excluded_titles: ['Intern', 'Manager'],
included_locations: [103644278],
excluded_locations: [101282230],
included_industries: ['4']
})
};
fetch('https://app.pipecorn.com/api/v2/intents/accounts/hiring', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.pipecorn.com/api/v2/intents/accounts/hiring",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'webhook_url' => 'https://your-company.com/webhooks/hiring',
'streaming' => false,
'limit' => 100,
'published_date' => 'last_30_days',
'exclude_consulting_recruiting' => true,
'exclude_internships' => true,
'company_size' => [
'51-200',
'201-500'
],
'selected_keywords' => [
'sales',
'account executive'
],
'excluded_keywords' => [
'intern',
'junior'
],
'selected_titles' => [
'Account Executive',
'Sales Development Representative'
],
'excluded_titles' => [
'Intern',
'Manager'
],
'included_locations' => [
103644278
],
'excluded_locations' => [
101282230
],
'included_industries' => [
'4'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/intents/accounts/hiring"
payload := strings.NewReader("{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/intents/accounts/hiring")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/intents/accounts/hiring")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"preview_count": 0,
"message": "No results found"
}{
"preview_count": 42,
"message": "Hiring intent search started successfully. You will receive the results on your webhook shortly.",
"id": "5d4fabd2-e26d-47d1-b0de-4bf370f7b799"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": "Not enough enrichment credits. You need 30 credits but only have 5 available.",
"code": "insufficient_credits",
"top_up_url": "https://app.pipecorn.com/settings/subscriptions/credits"
}{
"error": "You have reached your weekly enrichment credit limit for this workspace",
"code": "workspace_limit_exceeded"
}{
"error": 123,
"message": "<string>"
}Signals
Find companies hiring
Start a company hiring-intent search based on job posting activity. Only documented fields are allowed; unknown keys return 422.
POST
/
intents
/
accounts
/
hiring
Create hiring intent for accounts
curl --request POST \
--url https://app.pipecorn.com/api/v2/intents/accounts/hiring \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"webhook_url": "https://your-company.com/webhooks/hiring",
"streaming": false,
"limit": 100,
"published_date": "last_30_days",
"exclude_consulting_recruiting": true,
"exclude_internships": true,
"company_size": [
"51-200",
"201-500"
],
"selected_keywords": [
"sales",
"account executive"
],
"excluded_keywords": [
"intern",
"junior"
],
"selected_titles": [
"Account Executive",
"Sales Development Representative"
],
"excluded_titles": [
"Intern",
"Manager"
],
"included_locations": [
103644278
],
"excluded_locations": [
101282230
],
"included_industries": [
"4"
]
}
'import requests
url = "https://app.pipecorn.com/api/v2/intents/accounts/hiring"
payload = {
"webhook_url": "https://your-company.com/webhooks/hiring",
"streaming": False,
"limit": 100,
"published_date": "last_30_days",
"exclude_consulting_recruiting": True,
"exclude_internships": True,
"company_size": ["51-200", "201-500"],
"selected_keywords": ["sales", "account executive"],
"excluded_keywords": ["intern", "junior"],
"selected_titles": ["Account Executive", "Sales Development Representative"],
"excluded_titles": ["Intern", "Manager"],
"included_locations": [103644278],
"excluded_locations": [101282230],
"included_industries": ["4"]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
webhook_url: 'https://your-company.com/webhooks/hiring',
streaming: false,
limit: 100,
published_date: 'last_30_days',
exclude_consulting_recruiting: true,
exclude_internships: true,
company_size: ['51-200', '201-500'],
selected_keywords: ['sales', 'account executive'],
excluded_keywords: ['intern', 'junior'],
selected_titles: ['Account Executive', 'Sales Development Representative'],
excluded_titles: ['Intern', 'Manager'],
included_locations: [103644278],
excluded_locations: [101282230],
included_industries: ['4']
})
};
fetch('https://app.pipecorn.com/api/v2/intents/accounts/hiring', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.pipecorn.com/api/v2/intents/accounts/hiring",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'webhook_url' => 'https://your-company.com/webhooks/hiring',
'streaming' => false,
'limit' => 100,
'published_date' => 'last_30_days',
'exclude_consulting_recruiting' => true,
'exclude_internships' => true,
'company_size' => [
'51-200',
'201-500'
],
'selected_keywords' => [
'sales',
'account executive'
],
'excluded_keywords' => [
'intern',
'junior'
],
'selected_titles' => [
'Account Executive',
'Sales Development Representative'
],
'excluded_titles' => [
'Intern',
'Manager'
],
'included_locations' => [
103644278
],
'excluded_locations' => [
101282230
],
'included_industries' => [
'4'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.pipecorn.com/api/v2/intents/accounts/hiring"
payload := strings.NewReader("{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.pipecorn.com/api/v2/intents/accounts/hiring")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pipecorn.com/api/v2/intents/accounts/hiring")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webhook_url\": \"https://your-company.com/webhooks/hiring\",\n \"streaming\": false,\n \"limit\": 100,\n \"published_date\": \"last_30_days\",\n \"exclude_consulting_recruiting\": true,\n \"exclude_internships\": true,\n \"company_size\": [\n \"51-200\",\n \"201-500\"\n ],\n \"selected_keywords\": [\n \"sales\",\n \"account executive\"\n ],\n \"excluded_keywords\": [\n \"intern\",\n \"junior\"\n ],\n \"selected_titles\": [\n \"Account Executive\",\n \"Sales Development Representative\"\n ],\n \"excluded_titles\": [\n \"Intern\",\n \"Manager\"\n ],\n \"included_locations\": [\n 103644278\n ],\n \"excluded_locations\": [\n 101282230\n ],\n \"included_industries\": [\n \"4\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"preview_count": 0,
"message": "No results found"
}{
"preview_count": 42,
"message": "Hiring intent search started successfully. You will receive the results on your webhook shortly.",
"id": "5d4fabd2-e26d-47d1-b0de-4bf370f7b799"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": "Not enough enrichment credits. You need 30 credits but only have 5 available.",
"code": "insufficient_credits",
"top_up_url": "https://app.pipecorn.com/settings/subscriptions/credits"
}{
"error": "You have reached your weekly enrichment credit limit for this workspace",
"code": "workspace_limit_exceeded"
}{
"error": 123,
"message": "<string>"
}Find companies that are actively hiring based on their job posting activity. This endpoint allows you to track companies that are recruiting for specific roles, technologies, or departments.
Credits
Each imported company costs 3 enrichment credits, checked up-front against the number of companies that would be imported. If your balance falls short the request returns402 with code: "insufficient_credits", a top_up_url, and a
message reporting the shortfall ("Not enough enrichment credits. You need 30 credits but only have 5 available.") — and no import is created. A workspace
weekly credit limit returns 403 with code: "workspace_limit_exceeded"
instead. See Credit and limit errors.
Parameters
Required Parameters
webhook_url: URL to receive hiring intent notifications
Job Search Parameters
selected_keywords: Array of keywords to include in job searchexcluded_keywords: Array of keywords to exclude from job searchselected_titles: Array of job titles to includeexcluded_titles: Array of job titles to excludeexclude_consulting_recruiting: Boolean to exclude consulting and recruiting companiesexclude_internships: Boolean to exclude internship positionspublished_date: Time range for job postings (e.g., “last_24_hours”, “last_7_days”, etc.)
Location Parameters
included_locations: Array of cities to includeexcluded_locations: Array of cities to exclude
Note: You can specify cities by name (e.g., “New York”, “San Francisco”, “London”, “Paris”). The system will automatically match cities and their surrounding areas.
Company Filters
company_size: Array of company size ranges to includeincluded_industries: Array of industry IDs to include
company_size values:
1-1011-5051-200201-500501-10001001-50005001-1000010001+
4- Automotive6- Technology, Information and Internet12- Education43- Financial Services96- Software Development
Response
The response includes:- A unique identifier for the hiring intent
- Number of matching job postings
- Optional message about the results
Example Response
{
"preview_count": 13,
"message": "More than 100 results returned, we will only fetch the first 100 results and return it to your webhook",
"id": "5d4fabd2-e26d-47d1-b0de-4bf370f7b799"
}
Notes
- Results will be delivered to your webhook URL as they become available
- If more than 100 results are found, only the first 100 will be processeds
Authorizations
Body
application/json
URL to receive hiring intent notifications
Example:
"https://your-company.com/webhooks/hiring"
Whether to stream results to the webhook as they are processed
Example:
false
Maximum number of companies to return
Required range:
x >= 1Example:
100
Relative publish-date filter for jobs
Available options:
last_24_hours, last_7_days, last_15_days, last_30_days, last_90_days, last_180_days, last_360_days Example:
"last_30_days"
Exclude consulting and recruiting job postings
Example:
true
Exclude internship job postings
Example:
true
LinkedIn-style company size ranges (en-dashes are normalized to hyphens server-side)
Example:
["51-200", "201-500"]
Keywords to match in job postings
Example:
["sales", "account executive"]
Keywords to exclude from job postings
Example:
["intern", "junior"]
Job titles to include
Example:
[ "Account Executive", "Sales Development Representative" ]
Job titles to exclude
Example:
["Intern", "Manager"]
Location IDs to include
Example:
[103644278]
Location IDs to exclude
Example:
[101282230]
Industry IDs to include
Example:
["4"]
Was this page helpful?