Check DNC status
DNC
Check DNC status
Check if a specific LinkedIn URL is on your team’s Do Not Contact list
GET
Check DNC status
Documentation Index
Fetch the complete documentation index at: https://docs.kakiyo.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Check if a specific LinkedIn URL is on your team’s Do Not Contact (DNC) list. This endpoint performs a fast lookup with intelligent caching to determine if a prospect should be excluded from outreach campaigns.Use Cases
- Pre-Import Validation: Check URLs before importing prospects to avoid DNC violations
- Real-time Filtering: Validate contacts in real-time before adding to campaigns
- Compliance Verification: Ensure a contact isn’t on the DNC list before outreach
- Integration Checks: Validate contacts from external systems against your DNC list
- Automated Workflows: Build automated systems that respect DNC preferences
Key Features
- Intelligent Caching: 5-minute TTL cache for ultra-fast repeated lookups
- URL Normalization: Automatically normalizes LinkedIn URLs for accurate matching
- Rate Limited: 60 requests per minute for optimal performance
- Team Isolation: Only checks against your team’s DNC entries
- Detailed Response: Returns full entry details if URL is found on list
Testing Example
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | LinkedIn profile URL to check (will be URL-encoded) |
URL Format
The endpoint accepts various LinkedIn URL formats:https://linkedin.com/in/usernamehttps://www.linkedin.com/in/username/linkedin.com/in/usernamein/username
https://linkedin.com/in/username
Response Format
Success Response (200 OK)
URL Found on DNC List
URL NOT Found on DNC List
Error Responses
400 Bad Request - Missing URL
429 Too Many Requests - Rate Limit Exceeded
401 Unauthorized - Invalid API Key
500 Internal Server Error
Caching Mechanism
The DNC check endpoint uses intelligent caching to optimize performance:Cache Details
- TTL: 5 minutes (300 seconds)
- Scope: Team-level isolation
- Key: Based on normalized LinkedIn URL
- Invalidation: Automatic on DNC list modifications
Cache Benefits
- Fast Lookups: Cached responses returned in < 10ms
- Reduced Load: Minimizes database queries for repeated checks
- Cost Savings: Fewer database operations
- Better UX: Near-instant responses for cached URLs
Cache Behavior
URL Normalization
All LinkedIn URLs are automatically normalized before checking:Normalization Rules
| Input | Normalized Output |
|---|---|
https://www.linkedin.com/in/john/ | https://linkedin.com/in/john |
linkedin.com/in/john | https://linkedin.com/in/john |
in/john | https://linkedin.com/in/john |
LINKEDIN.COM/IN/JOHN | https://linkedin.com/in/john |
Rate Limiting
- Limit: 60 requests per minute per team
- Window: Rolling 60-second window
- Shared Limit: Shared with other DNC read operations
- Exceeded: Returns 429 status with
resetTimetimestamp
Integration Examples
Pre-Import Validation
Real-time Campaign Filtering
Batch Validation with Caching
Integration with CRM
Automated Compliance Check
Best Practices
- Always Check Before Adding: Validate URLs before adding to campaigns
- Handle Rate Limits: Implement exponential backoff for 429 responses
- Batch with Delays: Add delays between batch checks to respect rate limits
- URL Encoding: Always URL-encode the LinkedIn URL parameter
- Cache Awareness: Understand that results are cached for 5 minutes
- Error Handling: Always check for
errorfield in response - Automated Integration: Integrate checks into your import workflows
Performance Considerations
- Cached Response: < 10ms for cached entries
- Database Query: ~100ms for non-cached entries
- URL Normalization: Automatic and fast
- Team Isolation: Permissions enforced at database level
- Composite Index: Optimized queries with
teamId+urlindex
Response Fields
| Field | Type | Description |
|---|---|---|
error | string|null | Error code if request failed, null on success |
data.onList | boolean | true if URL is on DNC list, false otherwise |
data.entry | object|null | Full DNC entry details if found, null if not on list |
Common Use Cases
Pre-Campaign Validation
Import Wizard Integration
Next Steps
After checking DNC status:- Add to DNC: If not on list, use Add Single endpoint
- Import Prospects: Proceed with import if URL is not on DNC list
- View All Entries: Use List DNC endpoint
- Remove Entry: Use Delete DNC endpoint if needed
Related Endpoints
- List DNC Entries - View all DNC entries
- Add Single Entry - Add a URL to DNC list
- Bulk Add Entries - Add multiple URLs to DNC list
- Delete Entry - Remove a URL from DNC list
Last modified on January 28, 2026

