Skip to main content

IP Intel | Node.js SDK

The IP Intel service allows you to retrieve security information about known IP addresses that have been collected across the internet for several decades, giving you insight into the reputation of an IP.

IP Intel

constructor(token: PangeaToken, config: PangeaConfig): IPIntelService

Creates a new IPIntelService with the given Pangea API token and configuration.

required parameters

PangeaToken

Pangea API token.

Configuration.

Response Object

IPIntelService
const config = new PangeaConfig({ domain: "pangea_domain" });
const ipIntel = new IPIntelService("pangea_token", config);

Geolocate

geolocate(ip: string, options: GeolocateOptions): Promise<PangeaResponse<GeolocateResult>>

Retrieve geolocation information for an IP address from a provider, including an optional detailed report.

required parameters

string

The IP to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use geolocation data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<GeolocateResult>>
const response = await ipIntel.geolocate(
  "1.1.1.1",
  {
    provider: "digitalelement"
  }
);

Geolocate V2

geolocateBulk(ips: string[], options: GeolocateOptions): Promise<PangeaResponse<GeolocateBulkResult>>

Retrieve geolocation information for a list of IP addresses, from a provider, including an optional detailed report.

required parameters

Array<string>

The list of IP addresses to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use geolocation data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<GeolocateBulkResult>>
const response = await ipIntel.geolocateBulk(
  ["1.1.1.1"],
  {
    provider: "digitalelement"
  }
);

Domain

getDomain(ip: string, options: DomainOptions): Promise<PangeaResponse<DomainResult>>

Retrieve the domain name associated with an IP address.

required parameters

string

The IP to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<DomainResult>>
const response = await ipIntel.getDomain(
  "1.1.1.1",
  {
    provider: "digitalelement"
  }
);

Domain V2

getDomainBulk(ips: string[], options: DomainOptions): Promise<PangeaResponse<DomainBulkResult>>

Retrieve the domain names associated with a list of IP addresses.

required parameters

Array<string>

The list of IP addresses to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<DomainBulkResult>>
const response = await ipIntel.getDomainBulk(
  ["1.1.1.1"],
  {
    provider: "digitalelement"
  }
);

Proxy

isProxy(ip: string, options: ProxyOptions): Promise<PangeaResponse<ProxyResult>>

Determine if an IP address originates from a proxy.

required parameters

string

The IP to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<ProxyResult>>
const response = await ipIntel.isProxy(
  "1.1.1.1",
  {
    provider: "digitalelement"
  }
);

Proxy V2

isProxyBulk(ips: string[], options: ProxyOptions): Promise<PangeaResponse<ProxyBulkResult>>

Determine if an IP address originates from a proxy.

required parameters

Array<string>

The list of IP addresses to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<ProxyBulkResult>>
const response = await ipIntel.isProxyBulk(
  ["1.1.1.1"],
  {
    provider: "digitalelement"
  }
);

VPN

isVPN(ip: string, options: VPNOptions): Promise<PangeaResponse<VPNResult>>

Determine if an IP address originates from a VPN.

required parameters

string

The IP to be looked up

VPNOptions

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<VPNResult>>
const response = await ipIntel.isVPN(
  "1.1.1.1",
  {
    provider: "digitalelement"
  }
);

VPN V2

isVPNBulk(ips: string[], options: VPNOptions): Promise<PangeaResponse<VPNBulkResult>>

Determine which IP addresses originate from a VPN.

required parameters

Array<string>
VPNOptions

An object of optional parameters. Parameters supported:

  • provider {String} - Use data from this provider: "digitalelement". Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<VPNBulkResult>>
const response = await ipIntel.isVPNBulk(
  ["1.1.1.1"],
  {
    provider: "digitalelement"
  }
);

Reputation

reputation(ip: string, options: ReputationOptions): Promise<PangeaResponse<ReputationResult>>

Retrieve a reputation score for an IP address from a provider, including an optional detailed report.

required parameters

string

The IP to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use reputation data from this provider. Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<ReputationResult>>
const response = await ipIntel.reputation(
  "190.28.74.251",
  {
    provider: "crowdstrike"
  }
);

Reputation V2

reputationBulk(ips: string[], options: ReputationOptions): Promise<PangeaResponse<ReputationBulkResult>>

Retrieve reputation scores for IP addresses from a provider, including an optional detailed report.

required parameters

Array<string>

A list of IPs to be looked up

An object of optional parameters. Parameters supported:

  • provider {String} - Use reputation data from this provider. Default provider defined by the configuration.
  • verbose {Boolean} - Echo the API parameters in the response. Default: verbose=false.
  • raw {Boolean} - Include raw data from this provider. Default: raw=false.

Response Object

Promise<PangeaResponse<ReputationBulkResult>>
const response = await ipIntel.reputationBulk(
  ["190.28.74.251"],
  {
    provider: "crowdstrike"
  }
);