Prospect Fetch Stats
curl --request POST \
--url https://api.explorium.ai/v1/prospects/stats \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"filters": {},
"request_context": null
}
'import requests
url = "https://api.explorium.ai/v1/prospects/stats"
payload = {
"filters": {},
"request_context": None
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {}, request_context: null})
};
fetch('https://api.explorium.ai/v1/prospects/stats', 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.explorium.ai/v1/prospects/stats",
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([
'filters' => [
],
'request_context' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://api.explorium.ai/v1/prospects/stats"
payload := strings.NewReader("{\n \"filters\": {},\n \"request_context\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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://api.explorium.ai/v1/prospects/stats")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {},\n \"request_context\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.explorium.ai/v1/prospects/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {},\n \"request_context\": null\n}"
response = http.request(request)
puts response.read_body{
"response_context": {
"correlation_id": "<string>",
"request_status": "success",
"time_took_in_seconds": 123
},
"total_results": 123,
"stats": {
"job_departments_per_location": {},
"total_per_location": {}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Prospects
Prospects Statistics
Fetch stats for businesses.
POST
/
v1
/
prospects
/
stats
Prospect Fetch Stats
curl --request POST \
--url https://api.explorium.ai/v1/prospects/stats \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"filters": {},
"request_context": null
}
'import requests
url = "https://api.explorium.ai/v1/prospects/stats"
payload = {
"filters": {},
"request_context": None
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {}, request_context: null})
};
fetch('https://api.explorium.ai/v1/prospects/stats', 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.explorium.ai/v1/prospects/stats",
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([
'filters' => [
],
'request_context' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://api.explorium.ai/v1/prospects/stats"
payload := strings.NewReader("{\n \"filters\": {},\n \"request_context\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("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://api.explorium.ai/v1/prospects/stats")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {},\n \"request_context\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.explorium.ai/v1/prospects/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {},\n \"request_context\": null\n}"
response = http.request(request)
puts response.read_body{
"response_context": {
"correlation_id": "<string>",
"request_status": "success",
"time_took_in_seconds": 123
},
"total_results": 123,
"stats": {
"job_departments_per_location": {},
"total_per_location": {}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Prospects Statistics
Introduction
The Prospects Statistics API provides aggregated insights and distributions for prospects based on your search criteria. This powerful analytics endpoint helps you understand the composition of your prospect universe, enabling data-driven decisions for sales territory planning, market analysis, and campaign targeting. 📌 Key Benefits:- Get instant insights into prospect distributions without fetching individual records
- Understand market composition by department, seniority, location, and more
- Receive dynamic statistics that adapt to your filter criteria
- Make data-driven decisions for territory planning and resource allocation
- No credit charges for statistical analysis
How It Works
How It Works
Input: Provide filters identical to the prospects fetch endpoint to define your target audience
2. Processing: The system aggregates prospect data based on your filters and calculates distributions
3. Output: Dynamic statistics showing distributions for the filters you’ve applied
4. Intelligence: The response structure adapts based on which filters are used in the request
Request Schema
Request Schema
| Field | Type | Description | Required |
|---|---|---|---|
filters | Object | Filter criteria to define the prospect universe. Supports all filters from the /v1/prospects endpoint | No |
Supported Filters
Supported Filters
This endpoint supports ALL filters available in the
Filter Structure:
/v1/prospects fetch endpoint:Contact Availability Filters
| Filter | Description | Example |
|---|---|---|
has_contact_details | Filter by email and phone availability | {"value": "email_or_phone"} — values: email, phone, email_or_phone, email_and_phone |
has_email | Filter by email availability (deprecated — use has_contact_details; removed in v2) | {"value": true} |
has_phone_number | Filter by phone availability (deprecated — use has_contact_details; removed in v2) | {"value": true} |
Professional Filters
| Filter | Description | Example |
|---|---|---|
job_level | Filter by seniority level | {"values": ["director", "vp", "cxo"]} |
job_department | Filter by department | {"values": ["sales", "marketing", "engineering"]} |
job_title | Filter by job title keywords | {"value": "Sales Representative"} |
total_experience_months | Filter by total experience | {"gte": 60, "lte": 120} |
current_role_months | Filter by time in current role | {"gte": 12} |
Geographic Filters
| Filter | Description | Example |
|---|---|---|
country_code | Filter by prospect’s country | {"values": ["us", "gb", "de"]} |
region_country_code | Filter by prospect’s region | {"values": ["us-ca", "us-ny"]} |
city_region_country | Filter by city, region, country | {"values": ["New York, NY, US"]} |
Company Filters
| Filter | Description | Example |
|---|---|---|
business_id | Filter by specific business IDs | {"values": ["exp_id_1", "exp_id_2"]} |
company_name | Filter by company names | {"values": ["Meta", "Tesla"]} |
company_size | Filter by employee count ranges | {"values": ["51-200", "201-500"]} |
company_revenue | Filter by revenue ranges | {"values": ["10M-50M", "50M-100M"]} |
company_country_code | Filter by company HQ country | {"values": ["us", "ca"]} |
company_region_country_code | Filter by company HQ region | {"values": ["us-ca", "us-tx"]} |
Industry Classification Filters
| Filter | Description | Example |
|---|---|---|
google_category | Filter by Google business category | {"values": ["Software Development", "Retail"]} |
naics_category | Filter by NAICS industry codes | {"values": ["5611", "23"]} |
linkedin_category | Filter by LinkedIn business category | {"values": ["software development", "investment banking"]} |
- Use
{"values": [...]}for multi-value filters - Use
{"value": ...}for single-value or boolean filters - Use
{"gte": ..., "lte": ...}for numeric range filters
Dynamic Response Structure
Dynamic Response Structure
The response intelligently adapts based on the filters used in your request:
Always Included:
| Filters Used | Statistics Returned | Use Case |
|---|---|---|
job_department + region_country_code | Distribution of departments across regions | Territory planning by function |
job_department + country_code | Distribution of departments across countries | Executive targeting analysis |
| Single filter only | Simple count distribution | Quick market sizing |
total_results: Total count of matching prospectsresponse_context: Request metadata and performance metrics
Request Examples
Request Examples
{
"filters": {
"job_department": {
"values": ["engineering", "sales", "marketing"]
},
"region_country_code": {
"values": ["us-ca", "us-ny", "us-tx"]
},
"company_size": {
"values": ["51-200", "201-500"]
}
}
}
Response Examples
Response Examples
Department by Region Response:
{
"response_context": {
"correlation_id": "812719a515474144a8cac019d7776b14",
"request_status": "success",
"time_took_in_seconds": 0.75
},
"total_results": 4500,
"stats": {
"job_departments_per_location": {
"engineering": {
"California, US": 850,
"New York, US": 620,
"Texas, US": 480,
"total": 1950
},
"sales": {
"California, US": 560,
"New York, US": 410,
"Texas, US": 380,
"total": 1350
},
"marketing": {
"California, US": 420,
"New York, US": 350,
"Texas, US": 430,
"total": 1200
},
"total_per_location": {
"California, US": 1830,
"New York, US": 1380,
"Texas, US": 1290,
"total": 4500
}
}
}
}
Use Cases
Use Cases
Sales Territory Planning
- Analyze prospect distribution across regions using
region_country_codeandjob_department - Balance territories based on prospect density with
company_sizeandjob_levelfilters - Identify underserved markets by comparing prospect counts across geographic areas
Account-Based Marketing (ABM)
- Target specific companies using
company_nameorbusiness_idfilters - Analyze decision-maker distribution with
job_levelandjob_department - Segment by company characteristics using
company_revenueandcompany_size
Campaign Targeting
- Size your total addressable market using industry filters (
naics_category,linkedin_category) - Validate contact availability with
has_contact_details(has_emailandhas_phone_numberare deprecated) - Focus on new decision-makers using
current_role_monthsfilter
Market Intelligence
- Compare prospect density across industries using classification filters
- Analyze experience levels with
total_experience_months - Track job mobility trends with role duration filters
Lead Scoring & Qualification
- Identify high-value segments combining
job_level,company_revenue, andjob_department - Find prospects in growth companies using company size and revenue filters
- Target specific buyer personas with precise filter combinations
Best Practices
Best Practices
- Start broad, then narrow: Begin with 1-2 filters to understand market size, then add filters progressively
- Validate before fetching: Always run stats before expensive fetch operations to ensure sufficient results
- Use classification filters: Leverage
naics_categoryorlinkedin_categoryfor accurate industry targeting - Combine geographic levels: Use country → region → city filters for precise location targeting
- Monitor regularly: Schedule weekly/monthly stats queries to track market changes
- Cross-reference filters: Combine professional (job_level) with company (company_size) filters for better segmentation
- Experience targeting: Use experience filters to identify senior professionals or recent role changes
- Industry-specific analysis: Combine industry classifications with other filters for vertical-specific insights
Important Notes
Important Notes
- No credit charges: Statistical queries are free and don’t consume any credits
- Real-time data: Statistics reflect the current state of the prospect database
- Dynamic response: Response structure automatically adapts to your filter combination
- All filters supported: Every filter from the
/v1/prospectsendpoint works here
{
"filters": {
"job_department": {
"values": ["engineering", "sales", "marketing"]
},
"region_country_code": {
"values": ["us-ca", "us-ny", "us-tx"]
},
"company_size": {
"values": ["51-200", "201-500"]
}
}
}
Authorizations
APIKeyHeaderAPIKeyHeader
Body
application/json
Was this page helpful?