curl --request POST \
--url https://api.preceptai.co.uk/v1/companies/insights \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"webhookUrl": "https://your-site.com/webhook",
"companies": [
{
"companyWebsite": "https://www.preceptai.co.uk",
"customData": {
"id": "12345"
}
},
{
"companyWebsite": "mywebsite.com",
"companyLinkedin": "https://www.linkedin.com/company/mywebsite",
"customData": {
"id": "12345",
"crm_id": "01234"
}
},
{
"companyLinkedin": "https://www.linkedin.com/company/samplecompany"
}
],
"queries": [
"What is their tech stack?",
"Do they use HubSpot?"
],
"enrichments": {
"type": "decision_makers",
"departments": [
"engineering",
"sales"
],
"jobTitles": [
"Software Engineer"
],
"includeContactDetails": true,
"decisionMakersLimit": 10
}
}
'import requests
url = "https://api.preceptai.co.uk/v1/companies/insights"
payload = {
"webhookUrl": "https://your-site.com/webhook",
"companies": [{
"companyWebsite": "https://www.preceptai.co.uk",
"customData": { "id": "12345" }
}, {
"companyWebsite": "mywebsite.com",
"companyLinkedin": "https://www.linkedin.com/company/mywebsite",
"customData": {
"id": "12345",
"crm_id": "01234"
}
}, { "companyLinkedin": "https://www.linkedin.com/company/samplecompany" }],
"queries": ["What is their tech stack?", "Do they use HubSpot?"],
"enrichments": {
"type": "decision_makers",
"departments": ["engineering", "sales"],
"jobTitles": ["Software Engineer"],
"includeContactDetails": True,
"decisionMakersLimit": 10
}
}
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({
webhookUrl: 'https://your-site.com/webhook',
companies: [
{companyWebsite: 'https://www.preceptai.co.uk', customData: {id: '12345'}},
{
companyWebsite: 'mywebsite.com',
companyLinkedin: 'https://www.linkedin.com/company/mywebsite',
customData: {id: '12345', crm_id: '01234'}
},
{companyLinkedin: 'https://www.linkedin.com/company/samplecompany'}
],
queries: ['What is their tech stack?', 'Do they use HubSpot?'],
enrichments: {
type: 'decision_makers',
departments: ['engineering', 'sales'],
jobTitles: ['Software Engineer'],
includeContactDetails: true,
decisionMakersLimit: 10
}
})
};
fetch('https://api.preceptai.co.uk/v1/companies/insights', 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/insights",
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([
'webhookUrl' => 'https://your-site.com/webhook',
'companies' => [
[
'companyWebsite' => 'https://www.preceptai.co.uk',
'customData' => [
'id' => '12345'
]
],
[
'companyWebsite' => 'mywebsite.com',
'companyLinkedin' => 'https://www.linkedin.com/company/mywebsite',
'customData' => [
'id' => '12345',
'crm_id' => '01234'
]
],
[
'companyLinkedin' => 'https://www.linkedin.com/company/samplecompany'
]
],
'queries' => [
'What is their tech stack?',
'Do they use HubSpot?'
],
'enrichments' => [
'type' => 'decision_makers',
'departments' => [
'engineering',
'sales'
],
'jobTitles' => [
'Software Engineer'
],
'includeContactDetails' => true,
'decisionMakersLimit' => 10
]
]),
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/insights"
payload := strings.NewReader("{\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\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/insights")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.preceptai.co.uk/v1/companies/insights")
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 \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Company enrichment requests accepted and are being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "Invalid input, 'webhookUrl' is required."
}{
"message": "Not enough credits to start enrichment. Please upgrade your plan to start enrichment."
}{
"error": "Internal server error."
}Get Company Insights
Retrieve detailed insights and enrichments for a list of companies.
This endpoint enriches a list of companies with comprehensive data. You provide a list of companies, identified by either their website or LinkedIn URL, and specify the desired enrichments. The results are delivered to the webhookUrl you provide.
Get company-level insights, such as:
- Number of employees (by department)
- Names and LinkedIn profiles of employees
- Funding raised
- Revenue
- Strategic initiatives at the company
- Latest news
- Top problems the company is facing right now
- +42 more datapoints.
You can also make custom queries about the company.
To associate your own internal identifiers with each company, use the customData field. This data will be returned to you in the webhook response, allowing you to easily map the enrichment results back to your system.
curl --request POST \
--url https://api.preceptai.co.uk/v1/companies/insights \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"webhookUrl": "https://your-site.com/webhook",
"companies": [
{
"companyWebsite": "https://www.preceptai.co.uk",
"customData": {
"id": "12345"
}
},
{
"companyWebsite": "mywebsite.com",
"companyLinkedin": "https://www.linkedin.com/company/mywebsite",
"customData": {
"id": "12345",
"crm_id": "01234"
}
},
{
"companyLinkedin": "https://www.linkedin.com/company/samplecompany"
}
],
"queries": [
"What is their tech stack?",
"Do they use HubSpot?"
],
"enrichments": {
"type": "decision_makers",
"departments": [
"engineering",
"sales"
],
"jobTitles": [
"Software Engineer"
],
"includeContactDetails": true,
"decisionMakersLimit": 10
}
}
'import requests
url = "https://api.preceptai.co.uk/v1/companies/insights"
payload = {
"webhookUrl": "https://your-site.com/webhook",
"companies": [{
"companyWebsite": "https://www.preceptai.co.uk",
"customData": { "id": "12345" }
}, {
"companyWebsite": "mywebsite.com",
"companyLinkedin": "https://www.linkedin.com/company/mywebsite",
"customData": {
"id": "12345",
"crm_id": "01234"
}
}, { "companyLinkedin": "https://www.linkedin.com/company/samplecompany" }],
"queries": ["What is their tech stack?", "Do they use HubSpot?"],
"enrichments": {
"type": "decision_makers",
"departments": ["engineering", "sales"],
"jobTitles": ["Software Engineer"],
"includeContactDetails": True,
"decisionMakersLimit": 10
}
}
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({
webhookUrl: 'https://your-site.com/webhook',
companies: [
{companyWebsite: 'https://www.preceptai.co.uk', customData: {id: '12345'}},
{
companyWebsite: 'mywebsite.com',
companyLinkedin: 'https://www.linkedin.com/company/mywebsite',
customData: {id: '12345', crm_id: '01234'}
},
{companyLinkedin: 'https://www.linkedin.com/company/samplecompany'}
],
queries: ['What is their tech stack?', 'Do they use HubSpot?'],
enrichments: {
type: 'decision_makers',
departments: ['engineering', 'sales'],
jobTitles: ['Software Engineer'],
includeContactDetails: true,
decisionMakersLimit: 10
}
})
};
fetch('https://api.preceptai.co.uk/v1/companies/insights', 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/insights",
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([
'webhookUrl' => 'https://your-site.com/webhook',
'companies' => [
[
'companyWebsite' => 'https://www.preceptai.co.uk',
'customData' => [
'id' => '12345'
]
],
[
'companyWebsite' => 'mywebsite.com',
'companyLinkedin' => 'https://www.linkedin.com/company/mywebsite',
'customData' => [
'id' => '12345',
'crm_id' => '01234'
]
],
[
'companyLinkedin' => 'https://www.linkedin.com/company/samplecompany'
]
],
'queries' => [
'What is their tech stack?',
'Do they use HubSpot?'
],
'enrichments' => [
'type' => 'decision_makers',
'departments' => [
'engineering',
'sales'
],
'jobTitles' => [
'Software Engineer'
],
'includeContactDetails' => true,
'decisionMakersLimit' => 10
]
]),
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/insights"
payload := strings.NewReader("{\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\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/insights")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.preceptai.co.uk/v1/companies/insights")
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 \"webhookUrl\": \"https://your-site.com/webhook\",\n \"companies\": [\n {\n \"companyWebsite\": \"https://www.preceptai.co.uk\",\n \"customData\": {\n \"id\": \"12345\"\n }\n },\n {\n \"companyWebsite\": \"mywebsite.com\",\n \"companyLinkedin\": \"https://www.linkedin.com/company/mywebsite\",\n \"customData\": {\n \"id\": \"12345\",\n \"crm_id\": \"01234\"\n }\n },\n {\n \"companyLinkedin\": \"https://www.linkedin.com/company/samplecompany\"\n }\n ],\n \"queries\": [\n \"What is their tech stack?\",\n \"Do they use HubSpot?\"\n ],\n \"enrichments\": {\n \"type\": \"decision_makers\",\n \"departments\": [\n \"engineering\",\n \"sales\"\n ],\n \"jobTitles\": [\n \"Software Engineer\"\n ],\n \"includeContactDetails\": true,\n \"decisionMakersLimit\": 10\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Company enrichment requests accepted and are being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "Invalid input, 'webhookUrl' is required."
}{
"message": "Not enough credits to start enrichment. Please upgrade your plan to start enrichment."
}{
"error": "Internal server error."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
An array of company objects to enrich. You can process multiple companies in a single request. You must provide either the company website or LinkedIn URL. If providing a social URL, you must also include the company's name.
Show child attributes
Show child attributes
Optional. The URL where the enrichment results will be sent via a POST request. If not provided, you can poll the GET /v1/jobs/{jobId} endpoint.
A list of natural language questions to ask about the company.
An optional object to specify the desired enrichments. See the Company Enrichments guide for detailed descriptions and example responses for each type.
Show child attributes
Show child attributes
