ipify
Get your public IP address
Using the Ipify API or a custom Ipify instance.
Install
Usage
import ipify from 'ipify'; console.log(await ipify()); //=> '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
API
ipify(options?)
Returns a Promise<string> with an IP address.
options
Type: object
useIPv6
Type: boolean
Default: true
Use the IPv6 API endpoint. The IPv6 endpoint will return an IPv6 address if available, IPv4 address otherwise.
Setting the endpoint option will override this.
import ipify from 'ipify'; console.log(await ipify({useIPv6: false})); //=> '82.142.31.236'
endpoint
Type: string | string[]
Default: 'https://api6.ipify.org'
Custom API endpoint.
Can be a single endpoint or an array of endpoints. When multiple endpoints are provided, they will be tried concurrently and the first successful response will be returned.
import ipify from 'ipify'; // Single endpoint console.log(await ipify({endpoint: 'https://api.ipify.org'})); //=> '82.142.31.236' // Multiple endpoints for resilience console.log(await ipify({ endpoint: [ 'https://api.ipify.org', 'https://ipify.example.org' ] })); //=> '82.142.31.236'
FAQ
How is this different from public-ip?
This package only targets the Ipify service, while public-ip targets multiple services, is faster, and more resilient. Unless you run your own Ipify instance, you probably want public-ip instead.
Related
- ipify-cli - CLI for this package
- internal-ip - Get your internal IPv4 or IPv6 address