Keyword
Checks if specified keywords exist or do not exist on a webpage. This node is perfect for monitoring website content changes, verifying deployments, detecting errors, or ensuring critical content is present on your pages.
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.
Inputs
- URL - URL of the webpage to check for keywords. If no protocol is provided,
https://is automatically prepended. - Keywords - List of keywords to search for on the webpage. Must be an array of strings.
Options
- Check If Keywords - Determines the check condition:
- Exist - Returns keywords that were found on the page
- Not Exist - Returns keywords that were NOT found on the page
- Timeout - Timeout in seconds for the HTTP request (default: 60 seconds)
Output
- Result - Array of keywords that matched the check condition:
- If "Exist" is selected: returns keywords found on the page
- If "Not Exist" is selected: returns keywords NOT found on the page
How It Works
The Keyword node fetches a webpage and searches its HTML content for specified keywords. When executed, the node:
- Validates the URL and keywords input
- Prepends
https://if no protocol is specified - Fetches the webpage content with the specified timeout
- Searches the entire HTML for each keyword (case-sensitive)
- Categorizes keywords as existing or non-existing
- Returns the appropriate list based on the check condition
Example Use Cases
Monitor Error Messages
Check if error messages appear on your website:
// Input
URL: "https://myapp.com/dashboard"
Keywords: ["Error 500", "Database connection failed", "Service unavailable"]
Check If Keywords: "Not Exist"
// Output - If all is well, returns empty array
[]
// Output - If errors found, returns empty array
// But if you set to "Exist", you'd get:
["Error 500"]
Verify Deployment Success
Ensure new content appears after deployment:
// Input
URL: "https://myapp.com"
Keywords: ["Version 2.5.0", "New Feature Available", "Updated Dashboard"]
Check If Keywords: "Exist"
// Output - Successfully deployed
["Version 2.5.0", "New Feature Available", "Updated Dashboard"]
// Output - Deployment incomplete
["Version 2.5.0"] // Only partial content visible
Content Quality Assurance
Verify important elements are present on landing pages:
// Input
URL: "https://shop.com/product/12345"
Keywords: ["Add to Cart", "In Stock", "Free Shipping", "Customer Reviews"]
Check If Keywords: "Exist"
// Output - Page is complete
["Add to Cart", "In Stock", "Free Shipping", "Customer Reviews"]
Monitor Competitor Pricing
Track if competitors have changed their pricing:
// Input
URL: "https://competitor.com/pricing"
Keywords: ["$99/month", "$199/month", "$499/month"]
Check If Keywords: "Exist"
// Output - Detect which plans are advertised
["$99/month", "$199/month"] // Enterprise plan changed!
Security Monitoring
Detect if your site has been compromised:
// Input
URL: "https://mysite.com"
Keywords: ["hacked by", "defaced", "malware", "phishing"]
Check If Keywords: "Not Exist"
// Output - Site is clean
["hacked by", "defaced", "malware", "phishing"]
// Output - Site compromised (empty array means keywords exist!)
[]
API Documentation Monitoring
Ensure API docs show the correct version:
// Input
URL: "https://api.example.com/docs"
Keywords: ["API v3.0", "deprecated", "sunset"]
Check If Keywords: "Exist"
// Use to track documentation updates and deprecation notices
Tips for Effective Use
- Case Sensitivity - Keyword matching is case-sensitive. "Error" and "error" are different.
- Exact Matching - The node searches for exact string matches in the HTML source code.
- Use Specific Keywords - More specific keywords reduce false positives (e.g., "Payment Successful" vs "Payment").
- HTML Source Search - Keywords are searched in raw HTML, including tags and attributes.
- Multiple Keywords - Check multiple variations (e.g., ["Error", "error", "ERROR"]) for reliability.
- Regular Monitoring - Combine with Schedule triggers for continuous monitoring.
- Protocol Handling - The node adds
https://if missing, but explicit protocols are better for clarity.
Common Errors and Solutions
Error: "URL cannot be empty"
Cause: The URL input is missing or contains an empty string.
Solution: Ensure the URL input variable contains a valid URL.
Error: "Keywords cannot be empty"
Cause: The Keywords input is missing, null, or undefined.
Solution:
- Ensure Keywords is set to an array variable
- Verify the array is not empty
- Check that the variable is properly initialized
Error: "Keywords must be an array"
Cause: The Keywords input is not in array format.
Solution:
- Use an array variable:
["keyword1", "keyword2"] - If using a message variable, ensure it's formatted as an array
- Avoid passing strings or objects
Error: "Check method should be selected"
Cause: The "Check If Keywords" option is not set to either "exist" or "not_exist".
Solution: Select either "Exist" or "Not Exist" in the options.
Request Timeout
Cause: The webpage took longer to load than the specified timeout.
Solution:
- Increase the Timeout value
- Check if the website is responding slowly
- Verify the URL is correct and accessible
- Check your network connectivity
All Keywords Returned as Not Existing
Cause: Keywords might have different casing, or page content has changed.
Solution:
- Verify exact spelling and casing of keywords
- Check the webpage manually to confirm content
- Consider alternative keywords or phrases
- Use browser's "View Source" to see the exact text
Integration Examples
Website Uptime Monitor with Content Verification
// 1. Use Website node to check if site is alive
// 2. Use Keyword node to verify content is correct
// 3. Send alert if:
// - Site is down (Website node)
// - Critical content is missing (Keyword node)
E-commerce Product Monitor
// Monitor product availability
URL: "https://shop.com/products/item123"
Keywords: ["Out of Stock", "Sold Out", "Unavailable"]
Check: "Not Exist"
// If result is empty array, product is out of stock!
// Send notification to restock
Multi-Page Content Audit
// Create array of pages to check
const pages = [
"https://site.com/page1",
"https://site.com/page2",
"https://site.com/page3"
];
// For each page, check required keywords
// Store results in data table
// Generate compliance report
A/B Test Detection
// Check which version of page is served
Keywords: ["Version A", "Version B"]
Check: "Exist"
// Track which version appears over time
// Analyze distribution
Error Page Detection
// Check if any error pages appear
Keywords: [
"404 Not Found",
"500 Internal Server Error",
"503 Service Unavailable",
"Access Denied"
]
Check: "Exist"
// Empty result = no errors
// Non-empty result = errors detected