The Best Free APIs for Building Automation Workflows in 2026

The Best Free APIs for Building Automation Workflows in 2026

What You’ll Need

  • n8n Cloud or self-hosted n8n instance
  • Hetzner VPS or Contabo VPS for hosting your automation infrastructure
  • A code editor (VS Code recommended)
  • Basic familiarity with REST APIs and JSON

Table of Contents


Why Free APIs Matter for Automation

I’ve been building automation workflows for three years, and I can tell you the biggest game-changer hasn’t been expensive tools—it’s been understanding which free APIs actually work at scale. The difference between a startup that scales and one that burns cash on SaaS subscriptions often comes down to API selection.

Free APIs aren’t just cost-effective. They’re educational, flexible, and when combined properly, they replace hundreds of dollars in monthly subscriptions. I’ve written about how 5 n8n Workflows That Replace $200/Month in SaaS Tools by chaining together free APIs with smart orchestration. The workflows that perform best aren’t always the ones using premium integrations—they’re built on rock-solid free APIs with proper error handling and rate limit management.

The trick isn’t finding any free API. It’s finding the right ones—services that won’t disappear next quarter, have reliable documentation, and actually integrate cleanly into your n8n automation pipelines.


The Top 12 Free APIs You Should Know

1. OpenWeather – Real-Time Weather Data

OpenWeather gives you 1,000 free API calls per day. I use this constantly in location-based automation workflows. The free tier includes current weather, forecasts, and air quality data.

Use case: Trigger workflows based on weather conditions, send alerts when temperatures drop below thresholds, or auto-schedule outdoor tasks.

Endpoint example:

GET https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY&units=metric

Response:

{
  "coord": { "lon": -0.1257, "lat": 51.5085 },
  "weather": [{ "id": 803, "main": "Clouds", "description": "broken clouds" }],
  "main": {
    "temp": 12.5,
    "humidity": 72,
    "pressure": 1013
  },
  "wind": { "speed": 4.5, "deg": 210 }
}

2. JSONPlaceholder – Mock Data Testing

JSONPlaceholder is a lifesaver for testing workflows without hitting real APIs. It provides free fake data for posts, users, comments, and more. Zero authentication needed.

Use case: Develop and test your workflow logic before connecting to production APIs.

Endpoint example:

GET https://jsonplaceholder.typicode.com/users/1

Response:

{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
  "address": {
    "street": "Kulas Light",
    "city": "Gwenborough",
    "zipcode": "92998-3874"
  },
  "phone": "1-770-736-8031",
  "website": "hildegard.org",
  "company": {
    "name": "Romaguera-Crona"
  }
}

3. REST Countries – Geographic & Country Data

Get comprehensive country information including borders, languages, currencies, and capitals. No API key needed.

Use case: Auto-populate country fields in forms, validate international phone numbers, determine shipping costs by region.

Endpoint example:

GET https://restcountries.com/v3.1/name/united%20states

Response:

[
  {
    "name": {
      "common": "United States",
      "official": "United States of America"
    },
    "cca2": "US",
    "cca3": "USA",
    "region": "Americas",
    "subregion": "North America",
    "languages": { "eng": "English" },
    "currencies": { "USD": { "name": "United States dollar", "symbol": "$" } },
    "borders": ["CAN", "MEX"]
  }
]

4. Public APIs – The Aggregator

Public APIs is a GitHub project listing over 1,000 free APIs. It’s your go-to directory when you need something specific but haven’t found it yet. APIs are categorized by function: weather, sports, finance, health, news, etc.

Use case: Discover niche APIs for your specific automation needs. I found a free sports API here that powers live score notifications in my workflows.

5. Quotable.io – Random Quote API

Simple, no-auth endpoint that returns random quotes. Useful for social media automation and content generation workflows.

Endpoint example:

GET https://api.quotable.io/random

Response:

{
  "_id": "5d91b45001471c0dc060bcf6",
  "content": "The only way to do great work is to love what you do.",
  "author": "Steve Jobs",
  "tags": ["famous-quotes", "inspiration"],
  "authorSlug": "steve-jobs",
  "length": 50,
  "dateAdded": "2019-10-09"
}

6. IP API – Geolocation by IP Address

Get location, ISP, and timezone data from any IP address. 45 requests per minute free tier.

Use case: Auto-detect user location for workflow routing, identify VPN/proxy usage, validate traffic sources.

Endpoint example:

GET http://ip-api.com/json/8.8.8.8

Response:

{
  "status": "success",
  "country": "United States",
  "countryCode": "US",
  "region": "California",
  "city": "Mountain View",
  "lat": 37.4192,
  "lon": -122.057404,
  "isp": "Google LLC",
  "timezone": "America/Los_Angeles"
}

7. NewsAPI – News Aggregation

Aggregate news from 50,000+ sources worldwide. Free tier gives 100 requests per day. Excellent for building news digest workflows.

Use case: Auto-create daily news roundups, monitor brand mentions, trigger alerts on specific topics.

Endpoint example:

GET https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_API_KEY

Response:

{
  "status": "ok",
  "totalResults": 38,
  "articles": [
    {
      "source": { "id": "bbc-news", "name": "BBC News" },
      "author": "John Smith",
      "title": "Breaking: Major Tech Announcement",
      "description": "Tech giant announces...",
      "url": "https://bbc.com/...",
      "urlToImage": "https://...",
      "publishedAt": "2026-01-15T10:30:00Z",
      "content": "Full article content..."
    }
  ]
}

8. Exchange Rate API – Currency Conversion

Real-time currency exchange rates. 1,500 requests per month free.

Use case: Auto-convert prices in multi-currency workflows, invoice automation, financial dashboards.

Endpoint example:

GET https://api.exchangerate-api.com/v4/latest/USD

Response:

{
  "rates": {
    "EUR": 0.95,
    "GBP": 0.82,
    "CAD": 1.38,
    "JPY": 154.2
  },
  "base": "USD",
  "date": "2026-01-15"
}

9. Agify.io – Predict Age from Name

Cute and simple—predict someone’s age based on their name using statistical data. No auth required.

Use case: Demographic analysis in lead scoring, personalization workflows, A/B testing segments.

Endpoint example:

GET https://api.agify.io/?name=michael

Response:

{
  "name": "michael",
  "age": 42,
  "count": 700000
}

10. Nationalize.io – Predict Nationality from Name

Predicts nationality probability from a first name using statistical modeling. Complement to Agify.

Use case: Segment audiences by likely nationality for localized campaigns, auto-populate country fields.

Endpoint example:

GET https://api.nationalize.io/?name=mario

Response:

{
  "name": "mario",
  "country": [
    { "country_id": "IT", "probability": 0.55 },
    { "country_id": "BR", "probability": 0.32 }
  ]
}

11. Open-Meteo – Weather Without API Key

The cleanest weather API I’ve found. No authentication, no rate limits for reasonable usage, comprehensive data. Seriously underrated.

Use case: Weather-triggered automations, forecast-based scheduling, climate monitoring.

Endpoint example:

GET https://api.open-meteo.com/v1/forecast?latitude=40.7128&longitude=-74.0060&current=temperature_2m,weather_code&hourly=temperature_2m,precipitation

Response:

{
  "latitude": 40.71,
  "longitude": -74.01,
  "timezone": "America/New_York",
  "current": {
    "temperature_2m": 5.2,
    "weather_code": 3,
    "time": "2026-01-15T15:00"
  },
  "hourly": {
    "time": ["2026-01-15T00:00", "2026-01-15T01:00"],
    "temperature_2m": [4.5, 4.2],
    "precipitation": [0.0, 0.1]
  }
}

12. Webhook.site – Webhook Testing & Inspection

Debug incoming webhooks without writing backend code. Generate a unique URL and inspect all requests in real-time.

Use case: Test webhook integrations from n8n or other services, validate payload structure, troubleshoot webhook issues.

Visit https://webhook.site/ and you’ll get a unique URL like https://webhook.site/your-uuid. Post data to it and see everything in your browser.


Building Your First API-Powered Workflow

Let me walk you through a real automation I built last month. It combines three free APIs into a single workflow that runs every morning.

💡 Fast-Track Your Project: Don’t want to configure this yourself? I build custom n8n pipelines and bots. Message me with code SYS3-HUGO.

The Setup: Weather-Based News Digest

The workflow fetches today’s weather, pulls relevant news articles, and sends a summary. Here’s the complete n8n configuration.

Workflow steps:

  1. Schedule trigger (runs daily at 6 AM)
  2. Fetch current weather via Open-Meteo
  3. Query news filtered by weather conditions
  4. Format digest into readable email
  5. Send email via Gmail or SMTP

Here’s the n8n JSON workflow you can import directly:

{
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "recurrenceType": "daily",
              "weeksInterval": 1,
              "daysInterval": 1,
              "hoursInterval": 1
            }
          ]
        }
      },
      "id": "trigger-schedule",
      "name": "Schedule",
      "type": "n8n-nodes-base.cron",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "url": "https://api.open-meteo.com/v1/forecast?latitude=40.7128&longitude=-74.0060&current=temperature_2m,weather_code",
        "method": "GET",
        "authentication": "none"
      },
      "id": "fetch-weather",
      "name": "Get Current Weather",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "const temp = $input.first().json.current.temperature_2m;\nconst weatherCode = $input.first().json.current.weather_code;\n\nlet category = 'general';\nif (temp < 0) {\n  category = 'cold weather';\n} else if (temp > 25) {\n  category = 'heat wave';\n}\n\nif (weatherCode >= 80 && weatherCode <= 82) {\n  category = 'rain';\n} else if (weatherCode >= 85 && weatherCode <= 86) {\n  category = 'snow';\n}\n\nreturn { category, temp, weatherCode };"
      },
      "id": "determine-category",
      "name": "Determine Weather Category",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        650,
        300
      ]
    },
    {
      "parameters": {
        "url": "https://newsapi.org/v2/everything",
        "method": "GET",
        "authentication": "none",
        "queryParameters": {
          "q": "={{ $node['Determine Weather Category'].json.category }}",
          "sortBy": "publishedAt",
          "language": "en",
          "pageSize": 5,
          "apiKey": "YOUR_NEWSAPI_KEY"
        }
      },
      "id": "fetch-news",
      "name": "Fetch Relevant News",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        850,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "const weather = $node['Get Current Weather'].json.current;\nconst articles = $input.first().json.articles || [];\n\nlet digest = `Good morning!\\n\\nWeather: ${weather.temperature_2m}°C\\n\\n`;\ndigest += `Top ${articles.length} News Stories:\\n\\n`;\n\narticles.forEach((article, idx) => {\n  digest += `${idx + 1}. ${article.title}\\n`;\n  digest += `Source: ${article.source.name}\\n`;\n  digest += `${article.description}\\n\\n`;\n});\n\nreturn { emailBody: digest };"
      },
      "id": "format-digest",
      "name": "Format Email Digest",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1050,
        300
      ]
    },
    {
      "parameters": {
        "sendTo": "your-email@example.com",
        "subject": "Daily Weather & News Digest",
        "emailType": "text",
        "textContent": "={{ $node['Format Email Digest'].json.emailBody }}"
      },
      "id": "send-email",
      "name": "Send Email",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        1250,
        300
      ]
    }
  ],
  "connections": {
    "trigger-schedule": {
      "main": [
        [
          {
            "node": "Get Current Weather",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fetch-weather": {
      "main": [
        [
          {
            "node": "Determine Weather Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "determine-category": {
      "main": [
        [
          {
            "node": "Fetch Relevant News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fetch-news": {
      "main": [
        [
          {
            "node": "Format Email Digest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "format-digest": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

The key part here is how we determine what news to fetch based on actual weather conditions. If it’s freezing, we search for “cold weather” stories. If it’s raining, we get rain-related news. This adds real intelligence to an otherwise generic news digest.

To use this: replace YOUR_NEWSAPI_KEY with your actual NewsAPI key (free signup at newsapi.org), update the email address, and adjust the latitude/longitude for your location. The workflow runs daily and sends the digest to your inbox.


Getting Started

You’ve got everything you need now. Here’s how to set up your first API automation:

  1. Sign up for n8n Cloud or deploy to a Hetzner VPS or Contabo VPS for complete control
  2. Grab free API keys from OpenWeather, NewsAPI, and any others you need
  3. Import the workflow JSON above into n8n
  4. Test each node individually before running the full flow
  5. Set your schedule and email credentials
  6. Monitor execution in n8n’s execution history

The APIs listed here are just the foundation. Once you understand how to chain them together—adding error handling, conditional logic, and data transformation—you’ll realize you can automate almost anything without touching a credit card.

Outsource Your Automation

Don’t have time? I build production n8n workflows, WhatsApp bots, and fully automated YouTube Shorts pipelines. Hire me on Fiverr — mention SYS3-HUGO for priority. Or DM at chasebot.online .

Want to automate this yourself?

Start with n8n Cloud (free tier available) or self-host on a Hetzner VPS for full control.

Want this engine running on your own VPS?

This blog publishes itself — daily, unattended, on free API tiers. The full engine, Hugo theme, and setup guide are available as System 3.

Get System 3
system online