Get your IP address using different Node.js libraries
Choose the library that fits your project
Lightweight module that brings window.fetch to Node.js
const fetch = require('node-fetch');
fetch('https://ipaddress.sh')
.then(response => response.text())
.then(ipAddress => {
console.log("Your IP address is:", ipAddress);
});
Promise based HTTP client for the browser and Node.js
const axios = require('axios');
axios.get('https://ipaddress.sh')
.then(response => {
console.log("Your IP address is:", response.data);
})
.catch(error => {
console.log(error);
});
Node.js built-in HTTPS module, no dependencies required
const https = require('https');
https.get('https://ipaddress.sh', (res) => {
res.on('data', (chunk) => {
console.log("Your IP address is:", chunk.toString('utf8'));
});
});
Node.js built-in HTTP module
const http = require('http');
http.get('http://ipaddress.sh', (res) => {
res.on('data', (chunk) => {
console.log("Your IP address is:", chunk.toString('utf8'));
});
});
Human-friendly and powerful HTTP request library
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);
}
})();
Simplified HTTP client (deprecated but still widely used)
const request = require('request');
request('https://ipaddress.sh', (error, response, body) => {
console.log("Your IP address is:", body);
});
Small progressive client-side HTTP request library
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);
});
Nimble, streamable HTTP client for Node.js
const needle = require('needle');
needle.get('https://ipaddress.sh', (error, response) => {
console.log("Your IP address is:", response.body);
});
Make synchronous HTTP requests
const request = require('sync-request');
const res = request('GET', 'https://ipaddress.sh');
console.log("Your IP address is:", res.getBody('utf8'));
Synchronous wrapper around node-fetch
const fetch = require('sync-fetch');
const res = fetch('https://ipaddress.sh');
console.log("Your IP address is:", res.text());