Issue with large integer values being rounded in HTTP Request node responses

Describe the problem/error/question

When using the HTTP Request node in n8n to call an API and retrieve data, I’m experiencing an issue with large number values in the JSON response. The large integers are being rounded, for example: 918376628608843776 becomes 918376628608843800. I need to preserve the exact value without any rounding.

What is the error message (if any)?

There’s no error message, but the large integer values are being automatically rounded, which causes data integrity issues for my workflow.

Share the output returned by the last node

json

{
  "id": 918376628608843800,  // This should be 918376628608843776
  "name": "Example Item",
  "status": "active"
}

Information on your n8n setup

  • n8n version: 1.88
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system: ubuntu

This is an effect of how NodeJS (read “JavaScript”) handles big integers.

One option is to get raw json (as text) from HTTP Request node, wrap id values into double quotes using a Code node, and only then parse JSON (probably in the same Code node).

If the above helps to resolve your issue, please mark this post as a :white_check_mark: Solution.

It’s really unfortunate. Even when I set the HTTP Request node’s option to ‘Text’ in N8n version 1.88, the output value is already rounded, and when I check $input in the next CODE node, it’s the same. Is there any way to configure N8n to use json-bigint for JSON processing? The requested API is a global service, so requesting a conversion to String type is difficult in this case.