The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Phuket Radar - Scheduled Scrape",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 2
}
]
}
},
"id": "schedule-trigger",
"name": "Every 2 Hours",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
250,
300
]
},
{
"parameters": {
"method": "POST",
"url": "={{ $env.PHUKETRADAR_BASE_URL || 'https://phuketradar.com' }}/api/cron/scrape",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": false,
"options": {
"timeout": 300000
}
},
"id": "trigger-scrape",
"name": "Trigger Scrape",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
480,
300
],
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"leftValue": "={{ $json.statusCode || $response.statusCode }}",
"rightValue": 200,
"operator": {
"type": "number",
"operation": "equals"
}
}
]
}
},
"id": "check-success",
"name": "Check Success",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
700,
300
]
},
{
"parameters": {
"jsCode": "const response = $input.first().json;\n\nconst summary = {\n status: 'SUCCESS',\n timestamp: new Date().toISOString(),\n result: response\n};\n\nconsole.log('\u2705 Scrape completed successfully:', JSON.stringify(summary, null, 2));\n\nreturn [{ json: summary }];"
},
"id": "log-success",
"name": "Log Success",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
920,
200
]
},
{
"parameters": {
"jsCode": "const response = $input.first().json;\nconst error = {\n status: 'FAILED',\n timestamp: new Date().toISOString(),\n statusCode: response.statusCode,\n error: response.error || 'Unknown error',\n message: response.message || 'Scrape endpoint returned an error'\n};\n\nconsole.error('\u274c Scrape failed:', JSON.stringify(error, null, 2));\n\nreturn [{ json: error }];"
},
"id": "log-failure",
"name": "Log Failure",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
920,
400
]
}
],
"connections": {
"Every 2 Hours": {
"main": [
[
{
"node": "Trigger Scrape",
"type": "main",
"index": 0
}
]
]
},
"Trigger Scrape": {
"main": [
[
{
"node": "Check Success",
"type": "main",
"index": 0
}
]
]
},
"Check Success": {
"main": [
[
{
"node": "Log Success",
"type": "main",
"index": 0
}
],
[
{
"node": "Log Failure",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [
{
"name": "Scheduled",
"id": "scheduled"
},
{
"name": "Scraping",
"id": "scraping"
}
],
"triggerCount": 0,
"updatedAt": "2024-01-05T00:00:00.000Z",
"versionId": "1"
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
httpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Phuket Radar - Scheduled Scrape. Uses httpRequest. Scheduled trigger; 5 nodes.
Source: https://github.com/Dannydropz/phuketradar/blob/63cb0275109de8bbc3529013b50563f634190819/n8n-workflows/scheduled-scrape.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
> Watch the full Youtube Video Tutorial [](https://youtu.be/Y-wUr2-UYZk)
Very straightforward workflow. It checks the Epic Games website if the HTML container with free games has changed. If it did then it will send a notification to Discord with a list of embeds containin
This workflow automatically scrapes business leads from Google Maps on a daily schedule and ensures only high-quality, unique leads are processed. New businesses are cleaned, validated, and deduplicat
Women creators, homemakers-turned-entrepreneurs, and feminine lifestyle brands who want a graceful, low-lift way to keep an eye on competitor content and spark weekly ideas.
This workflow automatically searches YouTube Data API for videos related to specific keywords, extracts channel data, filters channels based on performance metrics, and saves the results into Google S