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.

PangeaToken

Pangea API token.

Configuration.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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