This workflow corresponds to n8n.io template #6395 — we link there as the canonical source.
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 →
{
"id": "MIllJmbqayQrZM1F",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Automate News Article Scraping with ScrapegraphAI and Store in Google Sheets",
"tags": [],
"nodes": [
{
"id": "37df323b-5c75-495f-ba19-b8642c02d96f",
"name": "Automated News Collection Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
700,
820
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "efd61ca5-e248-4027-b705-6d9c5dabe820",
"name": "AI-Powered News Article Scraper",
"type": "n8n-nodes-scrapegraphai.scrapegraphAi",
"position": [
1380,
820
],
"parameters": {
"userPrompt": "Extract all the articles from this site. Use the following schema for response { \"request_id\": \"5a9de102-8a43-4e89-8aae-397c9ca80a9b\", \"status\": \"completed\", \"website_url\": \"https://www.bbc.com/\", \"user_prompt\": \"Extract all the articles from this site.\", \"title\": \"'My friend died right in front of me' - Student describes moment air force jet crashed into school\", \"url\": \"https://www.bbc.com/news/articles/cglzw8y5wy5o\", \"category\": \"Asia\" }",
"websiteUrl": "https://www.bbc.com/"
},
"credentials": {
"scrapegraphAIApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "976d9123-7585-4700-9972-5b2838571a44",
"name": "Google Sheets News Storage",
"type": "n8n-nodes-base.googleSheets",
"position": [
2980,
820
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": []
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "6d11ae64-e2f8-47ed-854a-c749881ce72c",
"name": "News Data Formatting and Processing",
"type": "n8n-nodes-base.code",
"notes": "Hey this is where \nyou \nformat results ",
"position": [
2140,
820
],
"parameters": {
"jsCode": "// Get the input data\nconst inputData = $input.all()[0].json;\n\n// Extract articles array\nconst articles = inputData.result.articles;\n\n// Map each article and return only title, url, category\nreturn articles.map(article => ({\n json: {\n title: article.title,\n url: article.url,\n category: article.category\n }\n}));"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "ca78baaf-0480-490d-aa9a-3663ca93f5d0",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1180,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 2: AI-Powered News Article Scraper \ud83e\udd16\n\nThis is the core node which uses ScrapeGraphAI to intelligently extract news articles from any website.\n\n## How to Use\n- Configure the target news website URL\n- Use natural language to describe what data to extract\n- The AI will automatically parse and structure the results\n\n## Configuration\n- **Website URL**: Target news website (e.g., BBC, CNN, Reuters)\n- **User Prompt**: Natural language instructions for data extraction\n- **API Credentials**: ScrapeGraphAI API key required\n\n## Example\n- **Website**: BBC News homepage\n- **Instruction**: \"Extract all article titles, URLs, and categories\"\n\n\u26a0\ufe0f **Note**: This is a community node requiring self-hosting"
},
"typeVersion": 1
},
{
"id": "51a1337b-6a50-43a5-8d6f-8345bc771c7b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1920,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 3: News Data Formatting and Processing \ud83e\uddf1\n\nThis node transforms and structures the scraped news data for optimal Google Sheets compatibility.\n\n## What it does\n- Extracts articles array from ScrapeGraphAI response\n- Maps each article to standardized format\n- Ensures data consistency and structure\n- Prepares clean data for spreadsheet storage\n\n## Data Structure\n- **title**: Article headline and title\n- **url**: Direct link to the article\n- **category**: Article category or section\n\n## Customization\n- Modify the JavaScript code to extract additional fields\n- Add data validation and cleaning logic\n- Implement error handling for malformed data"
},
"typeVersion": 1
},
{
"id": "2e8cde8e-f534-4f37-a1f9-bcf0fe0b09f9",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 1: Automated News Collection Trigger \u23f1\ufe0f\n\nThis trigger automatically invokes the workflow at specified intervals to collect fresh news content.\n\n## Configuration Options\n- **Frequency**: Daily, hourly, or custom intervals\n- **Time Zone**: Configure for your business hours\n- **Execution Time**: Choose optimal times for news collection\n\n## Best Practices\n- Set appropriate intervals to respect rate limits\n- Consider news website update frequencies\n- Monitor execution logs for any issues\n- Adjust frequency based on your monitoring needs"
},
"typeVersion": 1
},
{
"id": "5606537c-a531-490a-b4ff-6d0dc5e642b4",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2680,
460
],
"parameters": {
"color": 5,
"width": 574.9363634768473,
"height": 530.4701664623029,
"content": "# Step 4: Google Sheets News Storage \ud83d\udcca\n\nThis node securely stores the processed news article data in your Google Sheets for analysis and tracking.\n\n## What it does\n- Connects to your Google Sheets account via OAuth2\n- Appends new article data as rows\n- Maintains historical data for trend analysis\n- Provides structured data for business intelligence\n\n## Configuration\n- **Spreadsheet**: Select or create target Google Sheets document\n- **Sheet Name**: Configure worksheet (default: Sheet1)\n- **Operation**: Append mode for continuous data collection\n- **Column Mapping**: Automatic mapping of title, url, category fields\n\n## Data Management\n- Each execution adds new article entries\n- Historical data preserved for analysis\n- Easy export and sharing capabilities\n- Built-in Google Sheets analytics and filtering"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "c2fee060-f99e-48aa-a280-ac5492715fd9",
"connections": {
"AI-Powered News Article Scraper": {
"main": [
[
{
"node": "News Data Formatting and Processing",
"type": "main",
"index": 0
}
]
]
},
"Automated News Collection Trigger": {
"main": [
[
{
"node": "AI-Powered News Article Scraper",
"type": "main",
"index": 0
}
]
]
},
"News Data Formatting and Processing": {
"main": [
[
{
"node": "Google Sheets News Storage",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApiscrapegraphAIApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. News aggregators and content curators Media monitoring professionals Market researchers tracking industry news PR professionals monitoring brand mentions Journalists and content…
Source: https://n8n.io/workflows/6395/ — 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.
This comprehensive workflow automatically analyzes competitor content strategies and identifies content gaps in your market. Using advanced AI-powered scraping and analysis, it provides actionable ins
This workflow automatically discovers and analyzes backlinks for any website, providing comprehensive SEO insights and competitive intelligence using AI-powered analysis. Website Input - Accepts targe
Compliance officers and regulatory teams Financial services firms monitoring regulatory updates Investment advisors tracking regulatory changes Risk management professionals Corporate legal department
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n ins