API Documentation & Code Examples | Autonomous Leads
Complete API documentation for Autonomous Leads with code examples in curl, Node.js, PHP, and Python. HMAC-signed webhooks, rate limits, and background processing.
Developer-First API
Built for developers, designed for scale
Available SDKs
Rate Limits
RESTful API with comprehensive documentation
Our API is designed for developers, with clear documentation, code examples, and SDKs for all major languages.
RESTful Design
Clean, intuitive API design following REST principles with comprehensive HTTP status codes.
HMAC Security
All webhook deliveries are signed with HMAC-SHA256 for authenticity and security.
Background Processing
Research jobs run asynchronously with real-time status updates and progress tracking.
Comprehensive Docs
Detailed documentation with code examples in multiple languages and interactive API explorer.
Core API endpoints
Everything you need to integrate knockd with your application.
/v1/jobs
Create a new research job with idempotency support. Jobs run in the background and can be monitored via webhooks.
Request Body
{
"prompt": "Find enterprise SaaS companies in Toronto with 100+ employees",
"parameters": {
"depth": "deep",
"sources": ["LinkedIn", "Crunchbase", "Company Websites"],
"filters": {
"industry": ["Software", "Technology", "SaaS"],
"role": ["CTO", "VP Engineering", "Head of Product"],
"geography": ["Toronto", "GTA"],
"company_size": ["100-500", "500-1000", "1000+"]
}
},
"webhook_url": "https://your-app.com/webhooks/knockd",
"idempotency_key": "unique-key-123"
}
Response
{
"id": "job_123456789",
"status": "queued",
"created_at": "2025-01-15T10:30:00Z",
"estimated_completion": "2025-01-15T10:35:00Z",
"webhook_url": "https://your-app.com/webhooks/knockd"
}
/v1/jobs/{id}
Get the current status and progress of a research job.
Response
{
"id": "job_123456789",
"status": "completed",
"progress": 100,
"created_at": "2025-01-15T10:30:00Z",
"completed_at": "2025-01-15T10:35:00Z",
"prospects_found": 247,
"prospects_accepted": 189,
"duplicates_removed": 58
}
Status Values
queued
- Job is queued for processingrunning
- Job is currently runningcompleted
- Job completed successfullyfailed
- Job failed with error
/v1/jobs/{id}/results
Retrieve the results of a completed job with cursor-based pagination.
Query Parameters
cursor
- Pagination cursorlimit
- Number of results (max 100)
Response
{
"data": [
{
"id": "prospect_123",
"name": "Sarah Johnson",
"company": "TechCorp Inc.",
"title": "Director of IT",
"email": "sarah.johnson@techcorp.com",
"phone": "+1 (555) 123-4567",
"location": "Toronto, ON",
"score": 92,
"source": "LinkedIn",
"created_at": "2025-01-15T10:35:00Z"
}
],
"pagination": {
"next_cursor": "eyJpZCI6InByb3NwZWN0XzEyNCJ9",
"has_more": true
}
}
/v1/dedupe/check
Check if prospects already exist in your database before creating a research job.
Request Body
{
"prospects": [
{
"email": "sarah.johnson@techcorp.com",
"company": "TechCorp Inc."
},
{
"email": "mike@dataflow.com",
"company": "DataFlow Systems"
}
]
}
Response
{
"results": [
{
"email": "sarah.johnson@techcorp.com",
"company": "TechCorp Inc.",
"exists": true,
"duplicate_id": "existing_123"
},
{
"email": "mike@dataflow.com",
"company": "DataFlow Systems",
"exists": false
}
]
}
/v1/suppressions
Manage suppression lists to avoid contacting prospects who shouldn't be targeted.
Request Body
{
"action": "add",
"suppressions": [
{
"email": "unsubscribe@example.com",
"reason": "unsubscribed"
},
{
"domain": "competitor.com",
"reason": "competitor"
}
]
}
Response
{
"success": true,
"added_count": 2,
"total_suppressions": 1247
}
Additional features
Enterprise-grade features for production applications.
HMAC-Signed Webhooks
All webhook deliveries are signed with HMAC-SHA256 to ensure authenticity and prevent tampering.
// Verify webhook signature
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expectedSignature = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature, 'hex'),
Buffer.from(expectedSignature, 'hex')
);
}
Rate Limits
API requests are rate limited to ensure fair usage and system stability.
- • 100 requests per minute for most endpoints
- • 10 requests per minute for job creation
- • Rate limit headers included in responses
- • Higher limits available for Enterprise customers
Background Processing
Research jobs run in the background with comprehensive status tracking and progress updates.
- • Jobs run asynchronously
- • Real-time progress updates
- • Automatic retry on failure
- • Dead letter queue for failed jobs
SDKs Available
Official SDKs for all major programming languages with comprehensive documentation.
- • Node.js / JavaScript
- • Python
- • PHP
- • Ruby
- • Go
Ready to integrate?
Get your API key and start building with knockd today.