← Back to Home

Node.js Guide

Get your IP address using different Node.js libraries

Your IP Address 50.17.198.136

Node.js HTTP Libraries

Choose the library that fits your project

node-fetch

Popular

Lightweight module that brings window.fetch to Node.js

JavaScript
const fetch = require('node-fetch');

fetch('https://ipaddress.sh')
  .then(response => response.text())
  .then(ipAddress => {
    console.log("Your IP address is:", ipAddress);
  });

axios

Popular

Promise based HTTP client for the browser and Node.js

JavaScript
const axios = require('axios');

axios.get('https://ipaddress.sh')
  .then(response => {
    console.log("Your IP address is:", response.data);
  })
  .catch(error => {
    console.log(error);
  });

https (built-in)

Native

Node.js built-in HTTPS module, no dependencies required

JavaScript
const https = require('https');

https.get('https://ipaddress.sh', (res) => {
  res.on('data', (chunk) => {
    console.log("Your IP address is:", chunk.toString('utf8'));
  });
});

http (built-in)

Native

Node.js built-in HTTP module

JavaScript
const http = require('http');

http.get('http://ipaddress.sh', (res) => {
  res.on('data', (chunk) => {
    console.log("Your IP address is:", chunk.toString('utf8'));
  });
});

got

Human-friendly and powerful HTTP request library

JavaScript
const got = require('got');

(async () => {
  try {
    const response = await got('https://ipaddress.sh');
    console.log("Your IP address is:", response.body);
  } catch (error) {
    console.log(error.response.body);
  }
})();

request

Deprecated

Simplified HTTP client (deprecated but still widely used)

JavaScript
const request = require('request');

request('https://ipaddress.sh', (error, response, body) => {
  console.log("Your IP address is:", body);
});

superagent

Small progressive client-side HTTP request library

JavaScript
const superagent = require('superagent');

superagent.get('https://ipaddress.sh')
  .end((err, res) => {
    if (err) return console.log(err);
    console.log("Your IP address is:", res.text);
  });

needle

Nimble, streamable HTTP client for Node.js

JavaScript
const needle = require('needle');

needle.get('https://ipaddress.sh', (error, response) => {
  console.log("Your IP address is:", response.body);
});

sync-request

Make synchronous HTTP requests

JavaScript
const request = require('sync-request');

const res = request('GET', 'https://ipaddress.sh');
console.log("Your IP address is:", res.getBody('utf8'));

sync-fetch

Synchronous wrapper around node-fetch

JavaScript
const fetch = require('sync-fetch');

const res = fetch('https://ipaddress.sh');
console.log("Your IP address is:", res.text());