HTTP GET request refused with ECONNRESET

Describe the problem/error/question

I’m trying to get an HTTP GET request to work with an api, specifically https://api.propmix.io/pubrec/assessor/v2/GetPropertyDetails. The developers sent me an example curl request, which I imported into the request node. This request always fails with ECONNRESET. When you import the curl request, the AccessToken field gets added to the Header portion of the node. I’ve tried pasting my API key directly into the header field → ECONNRESET. I’ve then tried to use the header auth with the API key saved as a credential, still → ECONNRESET. This isn’t a problem with the curl request, testing in postman verifies that the request works.

What is the error message (if any)?

Error code

ECONNRESET

Full message

read ECONNRESET

Request

{ "headers": { "Access-Token": "**hidden**", "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7" }, "method": "GET", "uri": "https://api.propmix.io/pubrec/assessor/v2/GetPropertyDetails", "gzip": true, "rejectUnauthorized": true, "followRedirect": true, "resolveWithFullResponse": true, "sendCredentialsOnCrossOriginRedirect": false, "followAllRedirects": true, "maxRedirects": 21, "timeout": 300000, "qs": { "orderId": "testPubrec", "PostalCode": "60521", "State": "IL", "City": "Hinsdale", "StreetAddress": "211 fuller rd" }, "encoding": null, "json": false, "useStream": true }
Other info

Item Index

0

Node type

n8n-nodes-base.httpRequest

Node version

4.4 (Latest)

n8n version

2.9.4 (Self Hosted)

Time

3/4/2026, 9:45:01 AM

Stack trace

NodeApiError: The connection to the server was closed unexpectedly, perhaps it is offline. You can retry the request immediately or wait and retry later. at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:864:16) at processTicksAndRejections (node:internal/process/task_queues:103:5) at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1043:8) at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1222:11) at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1659:27 at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2302:11

Please share your workflow

{
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -432,
        0
      ],
      "id": "ee62764d-587d-4e90-9c80-b9171244c738",
      "name": "When clicking ‘Execute workflow’"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "85e4fa19-9288-4970-8a94-9c184a0b701c",
              "name": "OrderId",
              "value": "pubRec",
              "type": "string"
            },
            {
              "id": "4bb7aa72-dd5f-4eb5-8777-a34431dfcdc6",
              "name": "StreetAddress",
              "value": "1381 Rocky Branch Road",
              "type": "string"
            },
            {
              "id": "e183a5be-1dc0-409d-84a5-861e7f2da1a1",
              "name": "City",
              "value": "Bogart",
              "type": "string"
            },
            {
              "id": "9ddeec1b-a127-44c9-828e-b8e50ff9c986",
              "name": "State",
              "value": "GA",
              "type": "string"
            },
            {
              "id": "b84ed782-2978-47ec-9d83-c1095687710c",
              "name": "PostalCode",
              "value": "30622",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -272,
        0
      ],
      "id": "5ea8edcb-292b-4acf-821b-6182a3feae29",
      "name": "StaticAddress"
    },
    {
      "parameters": {
        "url": "https://api.propmix.io/pubrec/assessor/v2/GetPropertyDetails",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "orderId",
              "value": "testPubrec"
            },
            {
              "name": "PostalCode",
              "value": "60521"
            },
            {
              "name": "State",
              "value": "IL"
            },
            {
              "name": "City",
              "value": "Hinsdale"
            },
            {
              "name": "StreetAddress",
              "value": "211 fuller rd"
            }
          ]
        },
        "options": {
          "redirect": {
            "redirect": {}
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        -96,
        0
      ],
      "id": "8c2e5a87-3d0b-4159-b55c-fd7fd0bf79b6",
      "name": "GetPropertyDetails",
      "alwaysOutputData": false,
      "executeOnce": false,
      "retryOnFail": false,
      "credentials": {
        "httpHeaderAuth": {
          "id": "9cGGLZgf6mTa87L3",
          "name": "RG_pubrec_header"
        }
      }
    }
  ],
  "connections": {
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "StaticAddress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "StaticAddress": {
      "main": [
        [
          {
            "node": "GetPropertyDetails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "2bdbb5fc50465d9b46bded2adb7ca31e16e402112116487a71c6ea3237c2d9d0"
  }
}workflow.)

ECONNRESET with n8n’s HTTP Request node but works fine in Postman is almost always the remote server rejecting the connection based on TLS fingerprint or User-Agent. Try adding a User-Agent header set to something like PostmanRuntime/7.29.2 in the HTTP Request node and see if that gets you through. Also worth toggling on “Ignore SSL Issues” under the node’s options.

I tried both suggestions, no dice. Still receiving ECONNRESET. Here is the request that was sent, from the Chrome developer console:

{headers: {…}, method: 'GET', uri: 'https://api.propmix.io/pubrec/assessor/v2/GetPropertyDetails', gzip: true, rejectUnauthorized: false, …}
encoding: null
followAllRedirects: true
followRedirect: true
gzip: true
headers: 
    AccessToken: "**hidden**"
    accept: "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7"
    user-agent: "PostmanRuntime/7.29.2"
[[Prototype]]: Object
json: false
maxRedirects: 21
method: "GET"
qs: 
    City: "Hinsdale"
    PostalCode: "60521"
    State: "IL"
    StreetAddress: "211 fuller rd"
    orderId: "testPubrec"
[[Prototype]]: Object
rejectUnauthorized: false
resolveWithFullResponse: true
sendCredentialsOnCrossOriginRedirect: false
timeout: 300000
uri: "https://api.propmix.io/pubrec/assessor/v2/GetPropertyDetails"
useStream: true
1 Like

Hi @Rex_Goeckeritz Welcome!
If the same requests works with API service tester but throws an error in the n8n workflow, this is certainly an issue with the n8n workspace, I would suggest try to upgrade/downgrade to the stable version from your current version, as this is not an issue which was repeated in either of the builds.

The version of n8n is 2.9.4 which is the latest stable release.

If it makes a difference, here is the raw log from Postman (I’ve manually hidden the token):

GET /pubrec/assessor/v2/GetPropertyDetails?orderId=testPubrec&PostalCode=60521&State=IL&City=Hinsdale&StreetAddress=211%20fuller%20rd HTTP/2.0
AccessToken: hidden
User-Agent: PostmanRuntime/7.52.0
Accept: */*
Postman-Token: hidden
Accept-Encoding: gzip, deflate, br
:path: /pubrec/assessor/v2/GetPropertyDetails?orderId=testPubrec&PostalCode=60521&State=IL&City=Hinsdale&StreetAddress=211%20fuller%20rd
:method: GET
:authority: api.propmix.io
:scheme: https

Here is the chrome console request, after executing the n8n node:

I have also tried encoding the parameters into the url, like Postman does, but this was not successful either.

Here is the full response from n8n:
{
“errorMessage”: “The connection to the server was closed unexpectedly, perhaps it is offline. You can retry the request immediately or wait and retry later.”,
“errorDetails”: {
“rawErrorMessage”: [
“read ECONNRESET”,
“read ECONNRESET”
],
“httpCode”: “ECONNRESET”
},
“n8nDetails”: {
“nodeName”: “GetPropertyDetails”,
“nodeType”: “n8n-nodes-base.httpRequest”,
“nodeVersion”: 4.4,
“itemIndex”: 0,
“time”: “3/4/2026, 11:34:21 AM”,
“n8nVersion”: “2.9.4 (Self Hosted)”,
“binaryDataMode”: “filesystem”,
“stackTrace”: [
“NodeApiError: The connection to the server was closed unexpectedly, perhaps it is offline. You can retry the request immediately or wait and retry later.”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:864:16)“,
" at processTicksAndRejections (node:internal/process/task_queues:103:5)”,
" at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1043:8)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1222:11)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1659:27",
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@opentelemetry+exporter-trace-otlp_9f358c3eeaef0d2736f54ac9757ada43/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2302:11"
]
}
}

1 Like

@Rex_Goeckeritz understood, although rolling back or upgrading to the next stable version might not have effected that much, is this issue only with propmix? Or any other similar service (kinda similar credentials) works or shows the same error?

Hi @Rex_Goeckeritz, welcome to the n8n community :t_rex: !
from what I can see the error was caused by a mismatch in the header name, it needs to be AccessToken (I might be mistaken, but it looks like it is currently set as Access-Token). I also added a User-Agent header (for ex PostmanRuntime/7.52.0 or Mozilla/5.0). Since your instance is self-hosted, I also enabled Ignore SSL Issues in the node options to avoid strict certificate validation problems that sometimes don’t appear in tools like Postman or browsers. Finally, I replaced the hardcoded query values with expressions that pull the data dynamically from the previous node so the workflow can use incoming data instead of fixed parameters.

I’ve tried both Access-Token and AccessToken (see the latest request sent, uses AccessToken). Same response received for both.

Ignore SSL Issues, is already enabled. I”ve tried adding a user-agent header both the postman version and the mozilla version, neither make a difference:

The node already uses expressions for the query parameters

I’ve been in touch with the propMix.io people, and they’ve said they were able to get the api to work with n8n. But when they compared the console output, their request did not include the ‘useStream’ parameter. Does anybody know how to remove that parameter from the node request?

^ I’ve confirmed this method removed the ‘useStream’ parameter. However, it is a red herring. Since our organization is self-hosting 2.9.4 internally, the ECONNRESET was a result of the requests being dropped by the outbound firewall. I’ve been working with IT to get an allow rule for the propmix domain.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.