Skip to main content

Audiences

Audiences are dynamic smart lists that automatically surface domains matching your Ideal Customer Profile (ICP). Define filters for industry, country, tech signals, and intent score — CronDB continuously finds new matches.

API Playground

tip

Try this endpoint live in the API Playground.

Endpoints

MethodEndpointDescription
GET/v1/audiencesList your audiences
POST/v1/audiencesCreate an audience
GET/v1/audiences/{id}Get audience details
PUT/v1/audiences/{id}Update an audience
DELETE/v1/audiences/{id}Delete an audience
POST/v1/audiences/previewPreview matching domains
GET/v1/audiences/signalsList available filter signals

Plan Limits

PlanMax Audiences
Free1
Starter3
Pro10
EnterpriseUnlimited

Create Audience

POST /v1/audiences

Body Parameters

ParameterTypeRequiredDescription
namestringYesAudience name (1–200 chars)
descriptionstringNoDescription (max 1,000 chars)
filtersobjectYesICP filter criteria

Filter Object

FieldTypeDefaultDescription
industriesstring[][]Industries to include
countriesstring[][]ISO country codes
min_confidenceinteger0Minimum AI confidence (0–100)
required_signalsstring[][]Tech signals that must be present
excluded_signalsstring[][]Tech signals that must NOT be present
business_typesstring[][]B2B, B2C, Marketplace, etc.
min_intent_scoreinteger0Minimum intent score (0–100)

Example Request

curl -X POST \
-H "Authorization: Bearer cdb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise SaaS without CRM",
"description": "B2B SaaS companies that need CRM solutions",
"filters": {
"industries": ["Technology", "Software"],
"countries": ["US", "GB", "CA"],
"min_confidence": 70,
"required_signals": ["has_analytics", "has_forms"],
"excluded_signals": ["has_crm"],
"business_types": ["B2B SaaS"],
"min_intent_score": 50
}
}' \
"https://api.crondb.com/v1/audiences"
import requests

response = requests.post(
"https://api.crondb.com/v1/audiences",
headers={"Authorization": "Bearer cdb_your_api_key_here"},
json={
"name": "Enterprise SaaS without CRM",
"filters": {
"industries": ["Technology"],
"required_signals": ["has_analytics", "has_forms"],
"excluded_signals": ["has_crm"],
"min_intent_score": 50,
},
},
)
audience = response.json()
print(f"Audience '{audience['name']}' matches {audience['match_count']} domains")

Response (201)

{
"id": 3,
"name": "Enterprise SaaS without CRM",
"description": "B2B SaaS companies that need CRM solutions",
"filters": {
"industries": ["Technology", "Software"],
"required_signals": ["has_analytics", "has_forms"],
"excluded_signals": ["has_crm"],
"min_intent_score": 50
},
"match_count": 342,
"new_since_viewed": 0,
"is_active": true,
"created_at": "2026-03-22T10:00:00Z"
}

Preview Audience

POST /v1/audiences/preview

Test your filters before creating an audience — see how many domains match.

curl -X POST \
-H "Authorization: Bearer cdb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"industries": ["E-commerce"],
"required_signals": ["has_ecommerce"],
"excluded_signals": ["has_crm"],
"min_confidence": 70
}
}' \
"https://api.crondb.com/v1/audiences/preview"

Response

{
"match_count": 189,
"sample_domains": [
{
"domain": "shopnew.com",
"industry": "E-commerce",
"confidence": 0.88,
"country": "US"
}
]
}

Get Available Signals

GET /v1/audiences/signals

Returns the list of tech signals you can use in required_signals and excluded_signals filters.

Response

{
"signals": [
"has_analytics", "has_crm", "has_ecommerce",
"has_marketing_automation", "has_live_chat",
"has_helpdesk", "has_cdn", "has_ssl", "has_blog",
"has_social_media", "has_payment", "has_advertising",
"has_newsletter", "has_video", "has_podcast",
"has_forum", "has_job_board", "has_login",
"has_api", "has_mobile_app", "has_saas"
]
}

How Audiences Work

  1. Define filters — specify your ICP criteria
  2. Automatic matching — CronDB scans new domains continuously
  3. New match countnew_since_viewed increments as new domains match
  4. View audience — resets the new count, showing latest matches
  5. Push to CRM — export audience to HubSpot, Salesforce, or webhooks

Next Steps

  • Alerts — Get notified about new matches
  • Lead Lists — Manually curated lists
  • Scoring — Score audience members