Nacho Portmanteau Meltdown

    TypeScript icon, indicating that this package has built-in type declarations

    4.2.0 • Public • Published

    npm npm

    IP2Proxy Node.js Module

    This module allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data center, web hosting (DCH) range, search engine robots (SES) and residential (RES). It lookup the proxy IP address from IP2Proxy BIN Data file. This data file can be downloaded at

    As an alternative, this module can also call the IP2Proxy Web Service. This requires an API key. If you don't have an existing API key, you can subscribe for one at the below:


    To install this module type the following:

    npm install ip2proxy-nodejs



    Below are the methods supported in this class.

    Method Name Description
    open Open the IP2Proxy BIN data for lookup.
    close Close and clean up the file pointer.
    getPackageVersion Get the package version (1 to 11 for PX1 to PX11 respectively).
    getModuleVersion Get the module version.
    getDatabaseVersion Get the database version.
    isProxy Check whether if an IP address was a proxy. Returned value:
    • -1 : errors
    • 0 : not a proxy
    • 1 : a proxy
    • 2 : a data center IP address or search engine robot
    getAll Return the proxy information in an object.
    getProxyType Return the proxy type. Please visit IP2Location for the list of proxy types supported
    getCountryShort Return the ISO3166-1 country code (2-digits) of the proxy.
    getCountryLong Return the ISO3166-1 country name of the proxy.
    getRegion Return the ISO3166-2 region name of the proxy. Please visit ISO3166-2 Subdivision Code for the information of ISO3166-2 supported
    getCity Return the city name of the proxy.
    getISP Return the ISP name of the proxy.
    getDomain Return the domain name of the proxy.
    getUsageType Return the usage type classification of the proxy. Please visit IP2Location for the list of usage types supported.
    getASN Return the autonomous system number of the proxy.
    getAS Return the autonomous system name of the proxy.
    getLastSeen Return the number of days that the proxy was last seen.
    getThreat Return the threat type of the proxy.
    getProvider Return the provider of the proxy.


    const {IP2Proxy} = require("ip2proxy-nodejs");
    let ip2proxy = new IP2Proxy();
    	ip = '';
    	console.log("GetModuleVersion: " + ip2proxy.getModuleVersion());
    	console.log("GetPackageVersion: " + ip2proxy.getPackageVersion());
    	console.log("GetDatabaseVersion: " + ip2proxy.getDatabaseVersion());
    	// functions for individual fields
    	console.log("isProxy: " + ip2proxy.isProxy(ip));
    	console.log("ProxyType: " + ip2proxy.getProxyType(ip));
    	console.log("CountryShort: " + ip2proxy.getCountryShort(ip));
    	console.log("CountryLong: " + ip2proxy.getCountryLong(ip));
    	console.log("Region: " + ip2proxy.getRegion(ip));
    	console.log("City: " + ip2proxy.getCity(ip));
    	console.log("ISP: " + ip2proxy.getISP(ip));
    	console.log("Domain: " + ip2proxy.getDomain(ip));
    	console.log("UsageType: " + ip2proxy.getUsageType(ip));
    	console.log("ASN: " + ip2proxy.getASN(ip));
    	console.log("AS: " + ip2proxy.getAS(ip));
    	console.log("LastSeen: " + ip2proxy.getLastSeen(ip));
    	console.log("Threat: " + ip2proxy.getThreat(ip));
    	console.log("Provider: " + ip2proxy.getProvider(ip));
    	// function for all fields
    	let all = ip2proxy.getAll(ip);
    	console.log("isProxy: " + all.isProxy);
    	console.log("proxyType: " + all.proxyType);
    	console.log("countryShort: " + all.countryShort);
    	console.log("countryLong: " + all.countryLong);
    	console.log("region: " + all.region);
    	console.log("city: " +;
    	console.log("isp: " + all.isp);
    	console.log("domain: " + all.domain);
    	console.log("usagetype: " + all.usageType);
    	console.log("asn: " + all.asn);
    	console.log("as: " +;
    	console.log("lastSeen: " + all.lastSeen);
    	console.log("threat: " + all.threat);
    	console.log("provider: " + all.provider);
    else {
    	console.log("Error reading BIN file.");



    Below are the methods supported in this class.

    Method Name Description
    open(apiKey, apiPackage, useSSL = true) Expects 2 or 3 input parameters:
    1. IP2Proxy API Key.
    2. Package (PX1 - PX11)
    3. Use HTTPS or HTTP
    lookup(myIP, callback) Query IP address. This method returns an object containing the proxy info.
    • countryCode
    • countryName
    • regionName
    • cityName
    • isp
    • domain
    • usageType
    • asn
    • as
    • lastSeen
    • threat
    • proxyType
    • isProxy
    • provider
      getCredit(callback) This method returns the web service credit balance in an object.


      const {IP2ProxyWebService} = require("ip2proxy-nodejs");
      let ws = new IP2ProxyWebService();
      let ip = "";
      let apiKey = "YOUR_API_KEY";
      let apiPackage = "PX11";
      let useSSL = true;
   , apiPackage, useSSL);
      ws.lookup(ip, (err, data) => {
      	if (!err) {
      		ws.getCredit((err, data) => {
      			if (!err) {

      Proxy Type

      Proxy Type Description
      VPN Anonymizing VPN services
      TOR Tor Exit Nodes
      PUB Public Proxies
      WEB Web Proxies
      DCH Hosting Providers/Data Center
      SES Search Engine Robots
      RES Residential Proxies [PX10+]

      Usage Type

      Usage Type Description
      COM Commercial
      ORG Organization
      GOV Government
      MIL Military
      EDU University/College/School
      LIB Library
      CDN Content Delivery Network
      ISP Fixed Line ISP
      MOB Mobile ISP
      DCH Data Center/Web Hosting/Transit
      SES Search Engine Spider
      RSV Reserved

      Threat Type

      Threat Type Description
      SPAM Spammer
      SCANNER Security Scanner or Attack
      BOTNET Spyware or Malware


      npm i ip2proxy-nodejs

      DownloadsWeekly Downloads






      Unpacked Size

      38.7 kB

      Total Files


      Last publish


      • ip2location-nodejs