n8n Integration

Oil Price WorkflowsWithout Writing Code

Two nodes β€” a Schedule Trigger and an HTTP Request β€” turn OilPriceAPI into a recurring price feed inside n8n. Route prices to Slack, email, Google Sheets, a database, or any of n8n's hundreds of connectors.

1. Add a Schedule Trigger

In a new workflow, add the Schedule Trigger node and set an interval. Every hour is a sensible default for benchmark prices. At one request per hour a single workflow makes 24 requests/day β€” inside the free tier's 50 requests per day (check the pricing page for current limits). Every 30 minutes (48/day) still fits; every 15 minutes (96/day) needs a paid plan.

2. Add the HTTP Request node

Connect an HTTP Request node to the trigger and configure it:

  • Method: GET
  • URL: https://api.oilpriceapi.com/v1/prices/latest
  • Query parameter: by_code = BRENT_CRUDE_USD (or WTI_USD, NATURAL_GAS_USD, …)
  • Authentication: Generic Credential Type β†’ Header Auth. Create a Header Auth credential with Name Authorization and Value Token YOUR_API_KEY. Credentials are stored encrypted β€” prefer this over pasting the key into the node.

Execute the node once and you should see the price under data.price:

{
  "status": "success",
  "data": {
    "price": 86.24,
    "formatted": "$86.24",
    "currency": "USD",
    "code": "BRENT_CRUDE_USD",
    "created_at": "2026-08-10T14:22:19.000Z",
    "type": "spot_price"
  }
}

3. Or import this minimal workflow

Copy the JSON below, then in n8n use Workflow menu β†’ Import from Clipboard. It wires the two nodes for you. The Authorization header carries a YOUR_API_KEY placeholder so nothing secret lives in the JSON β€” replace it, or better, switch the node to a Header Auth credential after import:

{
  "name": "Hourly Brent price pull",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [{ "field": "hours", "hoursInterval": 1 }]
        }
      },
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [0, 0]
    },
    {
      "parameters": {
        "url": "https://api.oilpriceapi.com/v1/prices/latest",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            { "name": "by_code", "value": "BRENT_CRUDE_USD" }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            { "name": "Authorization", "value": "Token YOUR_API_KEY" }
          ]
        },
        "options": {}
      },
      "name": "Get latest price",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [220, 0]
    }
  ],
  "connections": {
    "Schedule Trigger": {
      "main": [
        [{ "node": "Get latest price", "type": "main", "index": 0 }]
      ]
    }
  }
}

4. Do something with the price

From the HTTP Request node, chain any n8n node. Popular next steps:

  • IF node on {{ $json.data.price }} β†’ Slack/email alert when a threshold is crossed.
  • Google Sheets node β†’ append a row per run for a free price history.
  • Postgres/MySQL node β†’ land prices next to your own operational data.