Endpoint: /search-by-keyword
Required Permissions: search-by-keyword
The Keyword Search endpoint enables searching for compromised credentials using specific keywords. This endpoint is particularly useful for discovering compromises related to specific services, applications, or patterns across your infrastructure.
Discover compromised services
Track specific applications
Monitor sensitive systems
Identify shadow IT
Track credential exposure patterns
JSON
{
"keywords": [
"vpn",
"admin",
"portal"
],
"min_employees_compromised": 10,
"max_employees_compromised": 100,
"min_users_compromised": 5,
"max_users_compromised": 50,
"last_employee_compromised": "2024-01-01T00:00:00Z",
"last_user_compromised": "2024-01-01T00:00:00Z",
"last_employee_uploaded": "2024-01-01T00:00:00Z",
"last_user_uploaded": "2024-01-01T00:00:00Z",
"cursor": "base64_encoded_cursor"
}
Parameter Type Description Constraints keywords array[string] List of keywords to search 1-10 keywords
Parameter Type Description Example min_employees_compromised number Minimum employee compromises 10 max_employees_compromised number Maximum employee compromises 100 min_users_compromised number Minimum user compromises 5 max_users_compromised number Maximum user compromises 50 last_employee_compromised datetime Last employee compromise date "2024-01-01T00:00:00Z" last_user_compromised datetime Last user compromise date "2024-01-01T00:00:00Z" last_employee_uploaded datetime Last employee upload date "2024-01-01T00:00:00Z" last_user_uploaded datetime Last user upload date "2024-01-01T00:00:00Z" cursor string Pagination cursor base64 encoded string
JSON
{
"keywords": [
"vpn",
"gateway",
"remote"
],
"min_employees_compromised": 1
}
JSON
{
"keywords": [
"admin",
"manage",
"console"
],
"last_employee_compromised": "2024-01-01T00:00:00Z"
}
JSON
{
"keywords": [
"aws",
"azure",
"cloud"
],
"min_employees_compromised": 5
}
Use specific terms
Consider variations
Include common misspellings
Think about abbreviations
JSON
//Broad search with filtering
{
"keywords": [
"mail"
],
"min_employees_compromised": 10,
"last_employee_compromised": "2024-01-01T00:00:00Z"
}
JSON
//Specific service search
{
"keywords": [
"salesforce",
"crm"
],
"min_users_compromised": 5
}
Group related findings
Track temporal patterns
Monitor compromise volumes
Analyze service patterns
JavaScript
async function searchKeywords(keywords) {
return await api.post('/search-by-keyword', {
keywords,
min_employees_compromised: 1
});
}
JavaScript
async function getAllResults(keywords) {
let results = [];
let cursor = null;
while (true) {
const response = await api.post('/search-by-keyword', {
keywords,
cursor
});
results = results.concat(response.data);
if (!response.nextCursor) break;
cursor = response.nextCursor;
}
return results;
}
JavaScript
async function monitorCriticalServices() {
const services = [
["vpn", "remote"],
["mail", "exchange"],
["admin", "portal"]
];
const results = await Promise.all(
services.map(keywords => searchKeywords(keywords))
);
return analyzeResults(results);
}
Status Cause Solution 400 Empty keywords Provide at least one keyword 400 Too many keywords Reduce to ≤10 keywords 408 Request timeout Reduce search scope 429 Rate limit exceeded Implement backoff
Use specific terms
Combine related keywords
Avoid generic terms
Consider context
Set appropriate thresholds
Use date ranges effectively
Combine filters logically
Monitor result volumes
Batch related searches
Implement caching
Use pagination
Handle timeouts
JSON
{
"keywords": [
"vpn",
"gateway"
],
"min_employees_compromised": 1,
"last_employee_compromised": "2024-01-01T00:00:00Z"
}
JSON
{
"keywords": [
"cloud",
"storage",
"share"
],
"min_employees_compromised": 5
}
JSON
{
"keywords": [
"gdpr",
"pci",
"hipaa"
],
"min_employees_compromised": 1
}
Forward results
Create alerts
Track patterns
Monitor volumes
Group findings
Track trends
Generate summaries
Highlight critical issues
Schedule searches
Update keywords
Process results
Generate alerts
Document keywords
Review regularly
Update patterns
Track effectiveness
Limit access
Audit searches
Monitor usage
Document findings
Secure storage
Encrypt results
Control access
Set retention
Batch processing
Result aggregation
Efficient filtering
Resource management
Optimize searches
Cache results
Handle timeouts
Monitor usage
Update keywords
Clean old results
Monitor effectiveness
Adjust thresholds