Skip to main content

IP Intel | Golang 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.

Geolocate

func (e *ipIntel) Geolocate(ctx context.Context, input *IpGeolocateRequest) (*pangea.PangeaResponse[IpGeolocateResult], error)

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

required parameters

context.Context
input := &ip_intel.IpGeolocateRequest{
	Ip:       "93.231.182.110",
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.Geolocate(ctx, input)

Geolocate V2

func (e *ipIntel) GeolocateBulk(ctx context.Context, input *IpGeolocateBulkRequest) (*pangea.PangeaResponse[IpGeolocateBulkResult], error)

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

required parameters

context.Context
ips := [...]string{"93.231.182.110"}

input := &ip_intel.IpGeolocateBulkRequest{
	Ips:      ips,
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.GeolocateBulk(ctx, input)

Domain

func (e *ipIntel) GetDomain(ctx context.Context, input *IpDomainRequest) (*pangea.PangeaResponse[IpDomainResult], error)

Retrieve the domain name associated with an IP address.

required parameters

context.Context
input := &ip_intel.IpDomainRequest{
	Ip:       "93.231.182.110",
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.GetDomain(ctx, input)

Domain V2

func (e *ipIntel) GetDomainBulk(ctx context.Context, input *IpDomainBulkRequest) (*pangea.PangeaResponse[IpDomainBulkResult], error)

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

required parameters

context.Context
ips := [...]string{"93.231.182.110"}

input := &ip_intel.IpDomainBulkRequest{
	Ip:       ips,
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.GetDomainBulk(ctx, input)

Proxy

func (e *ipIntel) IsProxy(ctx context.Context, input *IpProxyRequest) (*pangea.PangeaResponse[IpProxyResult], error)

Determine if an IP address originates from a proxy.

required parameters

context.Context
input := &ip_intel.IpProxyRequest{
	Ip:       "93.231.182.110",
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.IsProxy(ctx, input)

Proxy V2

func (e *ipIntel) IsProxyBulk(ctx context.Context, input *IpProxyBulkRequest) (*pangea.PangeaResponse[IpProxyBulkResult], error)

Determine which IP addresses originate from a proxy.

required parameters

context.Context
ips := [...]string{"93.231.182.110"}

input := &ip_intel.IpProxyBulkRequest{
	Ip:       ips,
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.IsProxyBulk(ctx, input)

VPN

func (e *ipIntel) IsVPN(ctx context.Context, input *IpVPNRequest) (*pangea.PangeaResponse[IpVPNResult], error)

Determine if an IP address originates from a VPN.

required parameters

context.Context
input := &ip_intel.IpVPNRequest{
	Ip:       "93.231.182.110",
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, _, err := ipintel.IsVPN(ctx, input)

VPN V2

func (e *ipIntel) IsVPNBulk(ctx context.Context, input *IpVPNBulkRequest) (*pangea.PangeaResponse[IpVPNBulkResult], error)

Determine which IP addresses originate from a VPN.

required parameters

context.Context
ips := [...]string{"93.231.182.110"}

input := &ip_intel.IpVPNBulkRequest{
	Ip:       ips,
	Raw:      true,
	Verbose:  true,
	Provider: "digitalelement",
}

checkOutput, err := ipintel.IsVPNBulk(ctx, input)

Reputation

func (e *ipIntel) Reputation(ctx context.Context, input *IpReputationRequest) (*pangea.PangeaResponse[IpReputationResult], error)

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

required parameters

context.Context
input := &ip_intel.IpReputationRequest{
	Ip:       "93.231.182.110",
	Raw:      true,
	Verbose:  true,
	Provider: "crowdstrike",
}

checkOutput, err := ipintel.Reputation(ctx, input)

Reputation V2

func (e *ipIntel) ReputationBulk(ctx context.Context, input *IpReputationBulkRequest) (*pangea.PangeaResponse[IpReputationBulkResult], error)

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

required parameters

context.Context
ips := [...]string{"93.231.182.110"}

input := &ip_intel.IpReputationBulkRequest{
	Ip:       ips,
	Raw:      true,
	Verbose:  true,
	Provider: "crowdstrike",
}

checkOutput, err := ipintel.ReputationBulk(ctx, input)

Type Client

type Client interface

required parameters

func(ctx context.Context, req *IpReputationRequest) (*pangea.PangeaResponse[IpReputationResult], error)
context.Context
func(ctx context.Context, req *IpGeolocateRequest) (*pangea.PangeaResponse[IpGeolocateResult], error)
context.Context
func(ctx context.Context, req *IpDomainRequest) (*pangea.PangeaResponse[IpDomainResult], error)
context.Context
func(ctx context.Context, req *IpVPNRequest) (*pangea.PangeaResponse[IpVPNResult], error)
context.Context
func(ctx context.Context, req *IpProxyRequest) (*pangea.PangeaResponse[IpProxyResult], error)
context.Context
func(ctx context.Context, req *IpReputationBulkRequest) (*pangea.PangeaResponse[IpReputationBulkResult], error)
context.Context
func(ctx context.Context, req *IpGeolocateBulkRequest) (*pangea.PangeaResponse[IpGeolocateBulkResult], error)
context.Context
func(ctx context.Context, req *IpDomainBulkRequest) (*pangea.PangeaResponse[IpDomainBulkResult], error)
context.Context
func(ctx context.Context, req *IpVPNBulkRequest) (*pangea.PangeaResponse[IpVPNBulkResult], error)
context.Context
func(ctx context.Context, req *IpProxyBulkRequest) (*pangea.PangeaResponse[IpProxyBulkResult], error)
context.Context
pangea.BaseServicer

Base service methods

type Client interface {
	Reputation(ctx context.Context, req *IpReputationRequest) (*pangea.PangeaResponse[IpReputationResult], error)
	Geolocate(ctx context.Context, req *IpGeolocateRequest) (*pangea.PangeaResponse[IpGeolocateResult], error)
	GetDomain(ctx context.Context, req *IpDomainRequest) (*pangea.PangeaResponse[IpDomainResult], error)
	IsVPN(ctx context.Context, req *IpVPNRequest) (*pangea.PangeaResponse[IpVPNResult], error)
	IsProxy(ctx context.Context, req *IpProxyRequest) (*pangea.PangeaResponse[IpProxyResult], error)

	ReputationBulk(ctx context.Context, req *IpReputationBulkRequest) (*pangea.PangeaResponse[IpReputationBulkResult], error)
	GeolocateBulk(ctx context.Context, req *IpGeolocateBulkRequest) (*pangea.PangeaResponse[IpGeolocateBulkResult], error)
	GetDomainBulk(ctx context.Context, req *IpDomainBulkRequest) (*pangea.PangeaResponse[IpDomainBulkResult], error)
	IsVPNBulk(ctx context.Context, req *IpVPNBulkRequest) (*pangea.PangeaResponse[IpVPNBulkResult], error)
	IsProxyBulk(ctx context.Context, req *IpProxyBulkRequest) (*pangea.PangeaResponse[IpProxyBulkResult], error)

	// Base service methods
	pangea.BaseServicer
}

Type DomainData

type DomainData struct

required parameters

bool `json:"domain_found"`
string `json:"domain,omitempty"`
type DomainData struct {
	DomainFound	bool	`json:"domain_found"`
	Domain		string	`json:"domain,omitempty"`
}

Type GeolocateData

type GeolocateData struct

required parameters

string `json:"country"`
string `json:"city"`
float32 `json:"latitude"`
float32 `json:"longitude"`
string `json:"postal_code"`
string `json:"country_code"`
type GeolocateData struct {
	Country		string	`json:"country"`
	City		string	`json:"city"`
	Latitude	float32	`json:"latitude"`
	Longitude	float32	`json:"longitude"`
	PostalCode	string	`json:"postal_code"`
	CountryCode	string	`json:"country_code"`
}

Type IpDomainBulkRequest

type IpDomainBulkRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

[]string `json:"ips"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpDomainBulkRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ips		[]string	`json:"ips"`
	Verbose		*bool		`json:"verbose,omitempty"`
	Raw		*bool		`json:"raw,omitempty"`
	Provider	string		`json:"provider,omitempty"`
}

Type IpDomainBulkResult

type IpDomainBulkResult struct

required parameters

map[string]DomainData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpDomainBulkResult struct {
	Data		map[string]DomainData	`json:"data"`
	Parameters	interface{}		`json:"parameters,omitempty"`
	RawData		interface{}		`json:"raw_data,omitempty"`
}

Type IpDomainRequest

type IpDomainRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"ip"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpDomainRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ip		string	`json:"ip"`
	Verbose		*bool	`json:"verbose,omitempty"`
	Raw		*bool	`json:"raw,omitempty"`
	Provider	string	`json:"provider,omitempty"`
}

Type IpDomainResult

type IpDomainResult struct

required parameters

DomainData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpDomainResult struct {
	Data		DomainData	`json:"data"`
	Parameters	interface{}	`json:"parameters,omitempty"`
	RawData		interface{}	`json:"raw_data,omitempty"`
}

Type IpGeolocateBulkRequest

type IpGeolocateBulkRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

[]string `json:"ips"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpGeolocateBulkRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ips		[]string	`json:"ips"`
	Verbose		*bool		`json:"verbose,omitempty"`
	Raw		*bool		`json:"raw,omitempty"`
	Provider	string		`json:"provider,omitempty"`
}

Type IpGeolocateBulkResult

type IpGeolocateBulkResult struct

required parameters

map[string]GeolocateData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpGeolocateBulkResult struct {
	Data		map[string]GeolocateData	`json:"data"`
	Parameters	interface{}			`json:"parameters,omitempty"`
	RawData		interface{}			`json:"raw_data,omitempty"`
}

Type IpGeolocateRequest

type IpGeolocateRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"ip"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpGeolocateRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ip		string	`json:"ip"`
	Verbose		*bool	`json:"verbose,omitempty"`
	Raw		*bool	`json:"raw,omitempty"`
	Provider	string	`json:"provider,omitempty"`
}

Type IpGeolocateResult

type IpGeolocateResult struct

required parameters

GeolocateData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpGeolocateResult struct {
	Data		GeolocateData	`json:"data"`
	Parameters	interface{}	`json:"parameters,omitempty"`
	RawData		interface{}	`json:"raw_data,omitempty"`
}

Type IpProxyBulkRequest

type IpProxyBulkRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

[]string `json:"ips"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpProxyBulkRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ips		[]string	`json:"ips"`
	Verbose		*bool		`json:"verbose,omitempty"`
	Raw		*bool		`json:"raw,omitempty"`
	Provider	string		`json:"provider,omitempty"`
}

Type IpProxyBulkResult

type IpProxyBulkResult struct

required parameters

map[string]ProxyData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpProxyBulkResult struct {
	Data		map[string]ProxyData	`json:"data"`
	Parameters	interface{}		`json:"parameters,omitempty"`
	RawData		interface{}		`json:"raw_data,omitempty"`
}

Type IpProxyRequest

type IpProxyRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"ip"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpProxyRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ip		string	`json:"ip"`
	Verbose		*bool	`json:"verbose,omitempty"`
	Raw		*bool	`json:"raw,omitempty"`
	Provider	string	`json:"provider,omitempty"`
}

Type IpProxyResult

type IpProxyResult struct

required parameters

ProxyData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpProxyResult struct {
	Data		ProxyData	`json:"data"`
	Parameters	interface{}	`json:"parameters,omitempty"`
	RawData		interface{}	`json:"raw_data,omitempty"`
}

Type IpReputationBulkRequest

type IpReputationBulkRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

[]string `json:"ips"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpReputationBulkRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ips		[]string	`json:"ips"`
	Verbose		*bool		`json:"verbose,omitempty"`
	Raw		*bool		`json:"raw,omitempty"`
	Provider	string		`json:"provider,omitempty"`
}

Type IpReputationBulkResult

type IpReputationBulkResult struct

required parameters

map[string]ReputationData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpReputationBulkResult struct {
	Data		map[string]ReputationData	`json:"data"`
	Parameters	interface{}			`json:"parameters,omitempty"`
	RawData		interface{}			`json:"raw_data,omitempty"`
}

Type IpReputationRequest

type IpReputationRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"ip"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpReputationRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ip		string	`json:"ip"`
	Verbose		*bool	`json:"verbose,omitempty"`
	Raw		*bool	`json:"raw,omitempty"`
	Provider	string	`json:"provider,omitempty"`
}

Type IpReputationResult

type IpReputationResult struct

required parameters

ReputationData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpReputationResult struct {
	Data		ReputationData	`json:"data"`
	Parameters	interface{}	`json:"parameters,omitempty"`
	RawData		interface{}	`json:"raw_data,omitempty"`
}

Type IpVPNBulkRequest

type IpVPNBulkRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

[]string `json:"ips"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpVPNBulkRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ips		[]string	`json:"ips"`
	Verbose		*bool		`json:"verbose,omitempty"`
	Raw		*bool		`json:"raw,omitempty"`
	Provider	string		`json:"provider,omitempty"`
}

Type IpVPNBulkResult

type IpVPNBulkResult struct

required parameters

map[string]VPNData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpVPNBulkResult struct {
	Data		map[string]VPNData	`json:"data"`
	Parameters	interface{}		`json:"parameters,omitempty"`
	RawData		interface{}		`json:"raw_data,omitempty"`
}

Type IpVPNRequest

type IpVPNRequest struct

required parameters

pangea.BaseRequest

Base request has ConfigID for multi-config projects

string `json:"ip"`
*bool `json:"verbose,omitempty"`
*bool `json:"raw,omitempty"`
string `json:"provider,omitempty"`
type IpVPNRequest struct {
	// Base request has ConfigID for multi-config projects
	pangea.BaseRequest

	Ip		string	`json:"ip"`
	Verbose		*bool	`json:"verbose,omitempty"`
	Raw		*bool	`json:"raw,omitempty"`
	Provider	string	`json:"provider,omitempty"`
}

Type IpVPNResult

type IpVPNResult struct

required parameters

VPNData `json:"data"`
interface{} `json:"parameters,omitempty"`
interface{} `json:"raw_data,omitempty"`
type IpVPNResult struct {
	Data		VPNData		`json:"data"`
	Parameters	interface{}	`json:"parameters,omitempty"`
	RawData		interface{}	`json:"raw_data,omitempty"`
}

Type ProxyData

type ProxyData struct

required parameters

bool `json:"is_proxy"`
type ProxyData struct {
	IsProxy bool `json:"is_proxy"`
}

Type ReputationData

type ReputationData struct

required parameters

[]string `json:"category"`
int `json:"score"`
string `json:"verdict"`
type ReputationData struct {
	Category	[]string	`json:"category"`
	Score		int		`json:"score"`
	Verdict		string		`json:"verdict"`
}

Type VPNData

type VPNData struct

required parameters

bool `json:"is_vpn"`
type VPNData struct {
	IsVPN bool `json:"is_vpn"`
}

Type ipIntel

type ipIntel struct
type ipIntel struct {
	pangea.BaseService
}