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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Type ReputationData

type ReputationData struct

[]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

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

Type ipIntel

type ipIntel struct
type ipIntel struct {
	pangea.BaseService
}