curl --request POST \
--url https://api.preceptai.co.uk/v1/companies/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "SaaS companies in the UK with 50-200 employees",
"webhookUrl": "https://your-site.com/webhook",
"enrichments": {
"type": "decision_makers",
"departments": [
"marketing"
],
"jobTitles": [
"Head of Marketing"
],
"includeContactDetails": true,
"decisionMakersLimit": 5
}
}
'import requests
url = "https://api.preceptai.co.uk/v1/companies/search"
payload = {
"query": "SaaS companies in the UK with 50-200 employees",
"webhookUrl": "https://your-site.com/webhook",
"enrichments": {
"type": "decision_makers",
"departments": ["marketing"],
"jobTitles": ["Head of Marketing"],
"includeContactDetails": True,
"decisionMakersLimit": 5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: 'SaaS companies in the UK with 50-200 employees',
webhookUrl: 'https://your-site.com/webhook',
enrichments: {
type: 'decision_makers',
departments: ['marketing'],
jobTitles: ['Head of Marketing'],
includeContactDetails: true,
decisionMakersLimit: 5
}
})
};
fetch('https://api.preceptai.co.uk/v1/companies/search', 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://api.preceptai.co.uk/v1/companies/search",
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([
'query' => 'SaaS companies in the UK with 50-200 employees',
'webhookUrl' => 'https://your-site.com/webhook',
'enrichments' => [
'type' => 'decision_makers',
'departments' => [
'marketing'
],
'jobTitles' => [
'Head of Marketing'
],
'includeContactDetails' => true,
'decisionMakersLimit' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.preceptai.co.uk/v1/companies/search"
payload := strings.NewReader("{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.preceptai.co.uk/v1/companies/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.preceptai.co.uk/v1/companies/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Company search job successfully created and is being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>"
}Search Companies via Query
Search and enrich companies using natural language queries.
This endpoint allows you to search for companies using natural language (e.g., “SaaS companies in London with 50-200 employees”) and optionally enrich them with insights, decision makers, or custom queries.
Results are delivered to the provided webhookUrl.
curl --request POST \
--url https://api.preceptai.co.uk/v1/companies/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "SaaS companies in the UK with 50-200 employees",
"webhookUrl": "https://your-site.com/webhook",
"enrichments": {
"type": "decision_makers",
"departments": [
"marketing"
],
"jobTitles": [
"Head of Marketing"
],
"includeContactDetails": true,
"decisionMakersLimit": 5
}
}
'import requests
url = "https://api.preceptai.co.uk/v1/companies/search"
payload = {
"query": "SaaS companies in the UK with 50-200 employees",
"webhookUrl": "https://your-site.com/webhook",
"enrichments": {
"type": "decision_makers",
"departments": ["marketing"],
"jobTitles": ["Head of Marketing"],
"includeContactDetails": True,
"decisionMakersLimit": 5
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: 'SaaS companies in the UK with 50-200 employees',
webhookUrl: 'https://your-site.com/webhook',
enrichments: {
type: 'decision_makers',
departments: ['marketing'],
jobTitles: ['Head of Marketing'],
includeContactDetails: true,
decisionMakersLimit: 5
}
})
};
fetch('https://api.preceptai.co.uk/v1/companies/search', 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://api.preceptai.co.uk/v1/companies/search",
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([
'query' => 'SaaS companies in the UK with 50-200 employees',
'webhookUrl' => 'https://your-site.com/webhook',
'enrichments' => [
'type' => 'decision_makers',
'departments' => [
'marketing'
],
'jobTitles' => [
'Head of Marketing'
],
'includeContactDetails' => true,
'decisionMakersLimit' => 5
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.preceptai.co.uk/v1/companies/search"
payload := strings.NewReader("{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.preceptai.co.uk/v1/companies/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.preceptai.co.uk/v1/companies/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"SaaS companies in the UK with 50-200 employees\",\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"marketing\"\n ],\n \"jobTitles\": [\n \"Head of Marketing\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 5\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Company search job successfully created and is being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Natural language query to search for companies.
Optional. Your webhook URL to receive the result of the company search operations. If not provided, you can poll the GET /v1/jobs/{jobId} endpoint.
Maximum number of companies to return (up to 1000).
x <= 1000A readable name for your enrichment job.
Optional enrichments to perform for each discovered company. See the Company Enrichments guide for detailed descriptions and example responses for each type.
Show child attributes
Show child attributes
