n8n-nodes-tomorrow-io
v1.0.0
Published
n8n community node for Tomorrow.io Weather API
Readme
Tomorrow.io Weather Node for n8n
A community node that adds Tomorrow.io Weather API support to n8n.
Prerequisites
- Node.js 18+ installed
- npm installed
- An n8n instance (local or self-hosted)
- A Tomorrow.io API key (get one at https://app.tomorrow.io/development/keys)
Installation
Option A: Install from npm (recommended for production)
Use this if the package is published to npm.
- Open your n8n instance in the browser
- Go to Settings (gear icon in the left sidebar)
- Click Community Nodes
- Click Install a community node
- Enter:
n8n-nodes-tomorrow-io - Click Install
- The node will appear in the node panel under "Tomorrow.io"
Option B: Install locally (for development/testing)
Clone and build the node:
cd /path/to/workflow-automation-plugin/n8n npm install npx tscLink the package globally:
npm linkStart n8n with the custom node:
# Option 1: Using N8N_CUSTOM_EXTENSIONS export N8N_CUSTOM_EXTENSIONS="/path/to/workflow-automation-plugin/n8n" npx n8n start # Option 2: Using npm link in n8n's directory cd ~/.n8n npm link n8n-nodes-tomorrow-io npx n8n startOpen http://localhost:5678 in your browser
Option C: Docker (self-hosted n8n)
Build the node:
cd /path/to/workflow-automation-plugin/n8n npm install npx tscMount the node into your n8n Docker container by adding a volume:
# docker-compose.yml services: n8n: image: n8nio/n8n volumes: - ./n8n:/home/node/.n8n/custom/n8n-nodes-tomorrow-io environment: - N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/customRestart the container:
docker-compose up -d
Setup: Add Credentials
- In n8n, go to Credentials (key icon in left sidebar)
- Click Add Credential
- Search for Tomorrow.io API
- Paste your API key
- Click Save — n8n will test the connection automatically
Testing: Create a Test Workflow
Test 1: Get Realtime Weather
- Click Add workflow (or open an existing one)
- Click + to add a node
- Search for Tomorrow.io and select it
- Configure:
- Credential: Select your saved Tomorrow.io credential
- Operation:
Get Realtime Weather - Location:
New York - Units:
Metric
- Click Test step
- You should see output like:
{ "data": { "time": "2026-03-30T12:00:00Z", "values": { "temperature": 18.5, "humidity": 65, "windSpeed": 12.3, "weatherCode": 1100 } }, "location": { "lat": 40.7128, "lon": -74.006 } }
Test 2: Get Forecast
- Add another Tomorrow.io node
- Configure:
- Operation:
Get Forecast - Location:
London - Timesteps:
Daily - Units:
Imperial
- Operation:
- Click Test step
- You should see a
timelinesobject withdailyarray entries
Test 3: Get Recent History
- Add another Tomorrow.io node
- Configure:
- Operation:
Get Recent History - Location:
48.8566,2.3522(Paris coordinates) - Timesteps:
Hourly - Units:
Metric
- Operation:
- Click Test step
- You should see a
timelinesobject withhourlyarray entries from the past ~6 hours
Troubleshooting
| Problem | Solution |
|---------|----------|
| Node doesn't appear in the panel | Restart n8n after installation. Check that N8N_CUSTOM_EXTENSIONS path is correct. |
| "Invalid credentials" error | Verify your API key at https://app.tomorrow.io/development/keys |
| "Rate limit exceeded" error | Free tier allows 25 calls/hour, 500/day. Wait and retry. |
| Build errors (npx tsc) | Run npm install first. Ensure Node.js 18+. |
| Location not found | Try using coordinates instead of place name (e.g. 40.7128,-74.006) |
File Structure
n8n/
├── package.json # Package manifest
├── tsconfig.json # TypeScript config
├── credentials/
│ └── TomorrowIoApi.credentials.ts # API key credential
└── nodes/
└── TomorrowIo/
├── TomorrowIo.node.ts # Main node (declarative)
└── tomorrowio.svg # Node icon