Authentication
Every WhoisFreaks API request requires an API key, passed as theapiKey query parameter. Each SDK exposes a configuration hook so you set the key once and it is attached to every request automatically.
Get an API key
New to WhoisFreaks? Follow the step-by-step guide,Getting Started with WhoisFreaks: How to Sign Up and Get Your API Key, which walks through account creation and locating your key.
In short:
- Sign in at
https://billing.whoisfreaks.com. - Copy your API key from the dashboard.
- Keep it secret. Do not commit it to source control. Prefer an environment variable such as
WHOISFREAKS_API_KEY.
About
The official WhoisFreaks Go SDK — a complete client for WHOIS, DNS, SSL, domain availability, subdomain, IP geolocation, IP reputation, ASN, typosquatting, and domain reputation lookups, plus bulk database downloads. Query real-time and historical domain data, reverse WHOIS, and threat intelligence from Go with a single API key. Generated from the WhoisFreaks OpenAPI specification and published to Go modules.
Install
go get github.com/WhoisFreaks/whoisfreaks-goBuild from Source
Prefer to build the SDK yourself instead of installing from Go modules? Clone the monorepo and build the Go package locally:
git clone https://github.com/WhoisFreaks/whoisfreaks-go
cd whoisfreaks-go
go build ./... # or import the module path directlyGetting Started
A complete walkthrough from an empty directory to a running program:
mkdir whoisfreaks-test && cd whoisfreaks-test
go mod init whoisfreaks-test # creates go.mod (required)
go get github.com/WhoisFreaks/whoisfreaks-go> Note: go get only works inside a module. If you see 'go.mod file not found', run go mod init <name> first (as above).
Create main.go:
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.WhoisLive(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Run it:
go mod tidy
go run main.goConfigure
See Authentication for how to obtain a key. Minimal setup:
// Runnable example: Live WHOIS Lookup (GET /v2.0/whois/live)
// Parameters for whoisLive (GET /v2.0/whois/live):
// - domainName (string, required)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.WhoisLive(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Endpoints
WHOIS
Live WHOIS Lookup
/v2.0/whois/live| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Live WHOIS Lookup (GET /v2.0/whois/live)
// Parameters for whoisLive (GET /v2.0/whois/live):
// - domainName (string, required)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.WhoisLive(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Bulk WHOIS Lookup
/v2.0/bulkwhois/live| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string (one of: json, xml) | optional | — |
| body | BulkWhoisRequest | required | request body object |
// Runnable example: Bulk WHOIS Lookup (POST /v2.0/bulkwhois/live)
// Parameters for bulkWhois (POST /v2.0/bulkwhois/live):
// - format (string (one of: json, xml), optional)
// - body: BulkWhoisRequest (required) -- request body object
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.BulkWhois(ctx).BulkWhoisRequest(*wf.NewBulkWhoisRequest()).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Historical WHOIS records for a domain
/v2.0/whois/history| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | Domain to fetch historical WHOIS records for |
| page | integer | optional | Page number |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Historical WHOIS records for a domain (GET /v2.0/whois/history)
// Parameters for whoisHistory (GET /v2.0/whois/history):
// - domainName (string, required): Domain to fetch historical WHOIS records for
// - page (integer, optional): Page number
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.WhoisHistory(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Reverse WHOIS lookup by keyword
/v2.0/whois/reverse| Parameter | Type | Required | Description |
|---|---|---|---|
| keyword | string | required | Keyword to search across WHOIS records |
| page | integer | optional | Page number |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Reverse WHOIS lookup by keyword (GET /v2.0/whois/reverse)
// Parameters for whoisReverse (GET /v2.0/whois/reverse):
// - keyword (string, required): Keyword to search across WHOIS records
// - page (integer, optional): Page number
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.WHOISAPI.WhoisReverse(ctx).Keyword("value").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}DNS
Live DNS Lookup
/v2.0/dns/live| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | — |
| ipAddress | string | required | Use for PTR lookups |
| type | string | required | all or comma-separated: A,MX,NS,TXT,SOA,SPF,AAAA,CNAME |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Live DNS Lookup (GET /v2.0/dns/live)
// Parameters for dnsLive (GET /v2.0/dns/live):
// - domainName (string, required)
// - ipAddress (string, required): Use for PTR lookups
// - type (string, required): all or comma-separated: A,MX,NS,TXT,SOA,SPF,AAAA,CNAME
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DNSAPI.DnsLive(ctx).DomainName("example.com").IpAddress("8.8.8.8").Type("value").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Historical DNS Lookup
/v2.0/dns/historical| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | — |
| type | string | required | — |
| page | integer | optional | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Historical DNS Lookup (GET /v2.0/dns/historical)
// Parameters for dnsHistorical (GET /v2.0/dns/historical):
// - domainName (string, required)
// - type (string, required)
// - page (integer, optional)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DNSAPI.DnsHistorical(ctx).DomainName("example.com").Type("value").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Reverse DNS Lookup
/v2.1/dns/reverse| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | required | IP, CIDR, or record value |
| type | string (one of: a, mx, cname, ns, aaaa, txt, soa) | required | — |
| exact | boolean | optional | — |
| page | integer | optional | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Reverse DNS Lookup (GET /v2.1/dns/reverse)
// Parameters for dnsReverse (GET /v2.1/dns/reverse):
// - value (string, required): IP, CIDR, or record value
// - type (string (one of: a, mx, cname, ns, aaaa, txt, soa), required)
// - exact (boolean, optional)
// - page (integer, optional)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DNSAPI.DnsReverse(ctx).Value("value").Type("a").Exact(true).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Bulk DNS Lookup
/v2.0/dns/bulk/live| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | required | — |
| format | string (one of: json, xml) | optional | — |
| body | DnsBulkRequest | required | request body object |
// Runnable example: Bulk DNS Lookup (POST /v2.0/dns/bulk/live)
// Parameters for dnsBulk (POST /v2.0/dns/bulk/live):
// - type (string, required)
// - format (string (one of: json, xml), optional)
// - body: DnsBulkRequest (required) -- request body object
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DNSAPI.DnsBulk(ctx).Type("value").DnsBulkRequest(*wf.NewDnsBulkRequest()).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Domain Availability
Domain Availability Check with Suggestions
/v2.0/domain/availability| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | required | The domain name to check |
| sug | boolean | optional | Whether to return TLD suggestions alongside the queried domain. |
| count | integer | optional | Number of TLD suggestions to return when sug=true. Maximum is 100. |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Domain Availability Check with Suggestions (GET /v2.0/domain/availability)
// Parameters for domainAvailabilityV2 (GET /v2.0/domain/availability):
// - domain (string, required): The domain name to check
// - sug (boolean, optional): Whether to return TLD suggestions alongside the queried domain.
// - count (integer, optional): Number of TLD suggestions to return when sug=true. Maximum is 100.
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DomainAvailabilityAPI.DomainAvailabilityV2(ctx).Domain("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Bulk Domain Availability Check
/v2.0/domain/availability| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | optional | Required for TLD-mode bulk check (base domain). |
| format | string (one of: json, xml) | optional | — |
| body | BulkDomainAvailabilityRequest | required | request body object |
// Runnable example: Bulk Domain Availability Check (POST /v2.0/domain/availability)
// Parameters for bulkDomainAvailabilityV2 (POST /v2.0/domain/availability):
// - domain (string, optional): Required for TLD-mode bulk check (base domain).
// - format (string (one of: json, xml), optional)
// - body: BulkDomainAvailabilityRequest (required) -- request body object
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DomainAvailabilityAPI.BulkDomainAvailabilityV2(ctx).BulkDomainAvailabilityRequest(*wf.NewBulkDomainAvailabilityRequest()).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Typosquatting
Typosquatting Lookup
/v3.0/domain/typos| Parameter | Type | Required | Description |
|---|---|---|---|
| keyword | string | optional | — |
| pattern | string | optional | — |
| pageToken | string | optional | — |
// Runnable example: Typosquatting Lookup (GET /v3.0/domain/typos)
// Parameters for typosquatting (GET /v3.0/domain/typos):
// - keyword (string, optional)
// - pattern (string, optional)
// - pageToken (string, optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.TyposquattingAPI.Typosquatting(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}SSL
SSL Certificate Lookup
/v1.0/ssl/live| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | — |
| chain | boolean | optional | — |
| sslRaw | boolean | optional | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: SSL Certificate Lookup (GET /v1.0/ssl/live)
// Parameters for sslLookup (GET /v1.0/ssl/live):
// - domainName (string, required)
// - chain (boolean, optional)
// - sslRaw (boolean, optional)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.SSLAPI.SslLookup(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Geolocation
IP Geolocation Lookup
/v1.0/geolocation| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | required | — |
// Runnable example: IP Geolocation Lookup (GET /v1.0/geolocation)
// Parameters for geolocation (GET /v1.0/geolocation):
// - ip (string, required)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.GeolocationAPI.Geolocation(ctx).Ip("8.8.8.8").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Bulk IP Geolocation
/v1.0/geolocation| Parameter | Type | Required | Description |
|---|---|---|---|
| body | BulkGeolocationRequest | required | request body object |
// Runnable example: Bulk IP Geolocation (POST /v1.0/geolocation)
// Parameters for bulkGeolocation (POST /v1.0/geolocation):
// - body: BulkGeolocationRequest (required) -- request body object
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.GeolocationAPI.BulkGeolocation(ctx).BulkGeolocationRequest(*wf.NewBulkGeolocationRequest()).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Subdomains
Subdomains Lookup
/v1.0/subdomains| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | required | — |
| after | string | optional | — |
| before | string | optional | — |
| status | string (one of: active, inactive) | optional | — |
| page | integer | optional | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Subdomains Lookup (GET /v1.0/subdomains)
// Parameters for subdomains (GET /v1.0/subdomains):
// - domain (string, required)
// - after (string, optional)
// - before (string, optional)
// - status (string (one of: active, inactive), optional)
// - page (integer, optional)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.SubdomainsAPI.Subdomains(ctx).Domain("example.com").After("2000-01-01").Before(time.Now().Format("2006-01-02")).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}IP Reputation
IP Reputation Lookup
/v1.0/security| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | required | — |
// Runnable example: IP Reputation Lookup (GET /v1.0/security)
// Parameters for ipReputation (GET /v1.0/security):
// - ip (string, required)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.IPReputationAPI.IpReputation(ctx).Ip("8.8.8.8").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Bulk IP Reputation
/v1.0/security| Parameter | Type | Required | Description |
|---|---|---|---|
| body | BulkIpReputationRequest | required | request body object |
// Runnable example: Bulk IP Reputation (POST /v1.0/security)
// Parameters for bulkIpReputation (POST /v1.0/security):
// - body: BulkIpReputationRequest (required) -- request body object
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.IPReputationAPI.BulkIpReputation(ctx).BulkIpReputationRequest(*wf.NewBulkIpReputationRequest()).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Domain Reputation
Domain Reputation Lookup
/v1/domain/security| Parameter | Type | Required | Description |
|---|---|---|---|
| domainName | string | required | The domain name to assess |
| format | string (one of: json, xml) | optional | — |
// Runnable example: Domain Reputation Lookup (GET /v1/domain/security)
// Parameters for domainReputation (GET /v1/domain/security):
// - domainName (string, required): The domain name to assess
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DomainReputationAPI.DomainReputation(ctx).DomainName("example.com").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}ASN WHOIS
ASN WHOIS Lookup
/v2.0/asn-whois| Parameter | Type | Required | Description |
|---|---|---|---|
| asn | string | required | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: ASN WHOIS Lookup (GET /v2.0/asn-whois)
// Parameters for asnWhois (GET /v2.0/asn-whois):
// - asn (string, required)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.ASNWHOISAPI.AsnWhois(ctx).Asn("AS15169").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}IP WHOIS
IP WHOIS Lookup
/v1.0/ip-whois| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | required | — |
| format | string (one of: json, xml) | optional | — |
// Runnable example: IP WHOIS Lookup (GET /v1.0/ip-whois)
// Parameters for ipWhois (GET /v1.0/ip-whois):
// - ip (string, required)
// - format (string (one of: json, xml), optional)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.IPWHOISAPI.IpWhois(ctx).Ip("8.8.8.8").Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Account
Rotate API Key
/v1.0/api-key/rotate// Runnable example: Rotate API Key (GET /v1.0/api-key/rotate)
// Parameters for rotateApiKey (GET /v1.0/api-key/rotate):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.AccountAPI.RotateApiKey(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Account Usage
/v1.0/whoisapi/usage// Runnable example: Account Usage (GET /v1.0/whoisapi/usage)
// Parameters for accountUsage (GET /v1.0/whoisapi/usage):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.AccountAPI.AccountUsage(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Database File Status (Public)
/v3.3/status// Runnable example: Database File Status (Public) (GET /v3.3/status)
// Parameters for databaseFileStatus (GET /v3.3/status):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.AccountAPI.DatabaseFileStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Databases - Newly Registered
Newly Registered gTLD (CSV)
/v3.1/download/domainer/gtld| Parameter | Type | Required | Description |
|---|---|---|---|
| whois | boolean | required | — |
| date | string | optional | yyyy-MM-dd; omit for latest |
| tlds | string | optional | — |
// Runnable example: Newly Registered gTLD (CSV) (GET /v3.1/download/domainer/gtld)
// Parameters for dbNewlyGtld (GET /v3.1/download/domainer/gtld):
// - whois (boolean, required)
// - date (string, optional): yyyy-MM-dd; omit for latest
// - tlds (string, optional)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyGtld(ctx).Whois(false).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbNewlyGtld.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbNewlyGtld.gz\n", len(data))
}Newly Registered ccTLD (CSV)
/v3.1/download/domainer/cctld| Parameter | Type | Required | Description |
|---|---|---|---|
| whois | boolean | required | — |
| date | string | optional | yyyy-MM-dd; omit for latest |
| tlds | string | optional | — |
// Runnable example: Newly Registered ccTLD (CSV) (GET /v3.1/download/domainer/cctld)
// Parameters for dbNewlyCctld (GET /v3.1/download/domainer/cctld):
// - whois (boolean, required)
// - date (string, optional): yyyy-MM-dd; omit for latest
// - tlds (string, optional)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyCctld(ctx).Whois(false).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbNewlyCctld.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbNewlyCctld.gz\n", len(data))
}Newly Registered gTLD Cleaned WHOIS (CSV)
/v3.1/download/domainer/gtld/cleaned| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Newly Registered gTLD Cleaned WHOIS (CSV) (GET /v3.1/download/domainer/gtld/cleaned)
// Parameters for dbNewlyGtldCleaned (GET /v3.1/download/domainer/gtld/cleaned):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyGtldCleaned(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbNewlyGtldCleaned.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbNewlyGtldCleaned.gz\n", len(data))
}Newly Registered ccTLD Cleaned WHOIS (CSV)
/v3.1/download/domainer/cctld/cleaned| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Newly Registered ccTLD Cleaned WHOIS (CSV) (GET /v3.1/download/domainer/cctld/cleaned)
// Parameters for dbNewlyCctldCleaned (GET /v3.1/download/domainer/cctld/cleaned):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyCctldCleaned(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbNewlyCctldCleaned.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbNewlyCctldCleaned.gz\n", len(data))
}Newly Registered gTLD (JSON)
/v3.1/domains/newly/gtld| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
| tlds | string | optional | — |
// Runnable example: Newly Registered gTLD (JSON) (GET /v3.1/domains/newly/gtld)
// Parameters for dbNewlyGtldJson (GET /v3.1/domains/newly/gtld):
// - date (string, optional): yyyy-MM-dd; omit for latest
// - tlds (string, optional)
package main
import (
"context"
"encoding/json"
"fmt"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyGtldJson(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Newly Registered ccTLD (JSON)
/v3.1/domains/newly/cctld| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
| tlds | string | optional | — |
// Runnable example: Newly Registered ccTLD (JSON) (GET /v3.1/domains/newly/cctld)
// Parameters for dbNewlyCctldJson (GET /v3.1/domains/newly/cctld):
// - date (string, optional): yyyy-MM-dd; omit for latest
// - tlds (string, optional)
package main
import (
"context"
"encoding/json"
"fmt"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyCctldJson(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Newly Registered With DNS
/v3.1/download/domainer/newly/dns| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Newly Registered With DNS (GET /v3.1/download/domainer/newly/dns)
// Parameters for dbNewlyDns (GET /v3.1/download/domainer/newly/dns):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesNewlyRegisteredAPI.DbNewlyDns(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbNewlyDns.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbNewlyDns.gz\n", len(data))
}Databases - Expiring & Dropped
Expiring Domains
/v3.1/download/domainer/expired| Parameter | Type | Required | Description |
|---|---|---|---|
| whois | boolean | required | — |
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Expiring Domains (GET /v3.1/download/domainer/expired)
// Parameters for dbExpired (GET /v3.1/download/domainer/expired):
// - whois (boolean, required)
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesExpiringDroppedAPI.DbExpired(ctx).Whois(false).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbExpired.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbExpired.gz\n", len(data))
}Expiring Cleaned WHOIS
/v3.1/download/domainer/expired/cleaned| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Expiring Cleaned WHOIS (GET /v3.1/download/domainer/expired/cleaned)
// Parameters for dbExpiredCleaned (GET /v3.1/download/domainer/expired/cleaned):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesExpiringDroppedAPI.DbExpiredCleaned(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbExpiredCleaned.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbExpiredCleaned.gz\n", len(data))
}Dropped Domains
/v3.1/download/domainer/dropped| Parameter | Type | Required | Description |
|---|---|---|---|
| whois | boolean | required | — |
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Dropped Domains (GET /v3.1/download/domainer/dropped)
// Parameters for dbDropped (GET /v3.1/download/domainer/dropped):
// - whois (boolean, required)
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesExpiringDroppedAPI.DbDropped(ctx).Whois(false).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbDropped.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbDropped.gz\n", len(data))
}Dropped Domains (JSON)
/v3.1/domains/dropped| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
| tlds | string | optional | — |
// Runnable example: Dropped Domains (JSON) (GET /v3.1/domains/dropped)
// Parameters for dbDroppedJson (GET /v3.1/domains/dropped):
// - date (string, optional): yyyy-MM-dd; omit for latest
// - tlds (string, optional)
package main
import (
"context"
"encoding/json"
"fmt"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesExpiringDroppedAPI.DbDroppedJson(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Dropped With Backlinks
/v3.3/download/domainer/dropped/backlinks| Parameter | Type | Required | Description |
|---|---|---|---|
| whois | boolean | optional | — |
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Dropped With Backlinks (GET /v3.3/download/domainer/dropped/backlinks)
// Parameters for dbDroppedBacklinks (GET /v3.3/download/domainer/dropped/backlinks):
// - whois (boolean, optional)
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesExpiringDroppedAPI.DbDroppedBacklinks(ctx).Whois(false).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbDroppedBacklinks.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbDroppedBacklinks.gz\n", len(data))
}Databases - WHOIS
WHOIS Database Daily
/v3.3/download/dbupdate/daily/domains/whois| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: WHOIS Database Daily (GET /v3.3/download/dbupdate/daily/domains/whois)
// Parameters for dbWhoisDaily (GET /v3.3/download/dbupdate/daily/domains/whois):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesWHOISAPI.DbWhoisDaily(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbWhoisDaily.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbWhoisDaily.gz\n", len(data))
}WHOIS Database Weekly
/v3.3/download/dbupdate/weekly/domains/whois| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: WHOIS Database Weekly (GET /v3.3/download/dbupdate/weekly/domains/whois)
// Parameters for dbWhoisWeekly (GET /v3.3/download/dbupdate/weekly/domains/whois):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesWHOISAPI.DbWhoisWeekly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbWhoisWeekly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbWhoisWeekly.gz\n", len(data))
}WHOIS Database Monthly
/v3.3/download/dbupdate/monthly/domains/whois| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: WHOIS Database Monthly (GET /v3.3/download/dbupdate/monthly/domains/whois)
// Parameters for dbWhoisMonthly (GET /v3.3/download/dbupdate/monthly/domains/whois):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesWHOISAPI.DbWhoisMonthly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbWhoisMonthly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbWhoisMonthly.gz\n", len(data))
}Databases - DNS
DNS Database Daily
/v3.2/download/dbupdate/daily/dns| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: DNS Database Daily (GET /v3.2/download/dbupdate/daily/dns)
// Parameters for dbDnsDaily (GET /v3.2/download/dbupdate/daily/dns):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesDNSAPI.DbDnsDaily(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbDnsDaily.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbDnsDaily.gz\n", len(data))
}DNS Database Weekly
/v3.2/download/dbupdate/weekly/dns| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: DNS Database Weekly (GET /v3.2/download/dbupdate/weekly/dns)
// Parameters for dbDnsWeekly (GET /v3.2/download/dbupdate/weekly/dns):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesDNSAPI.DbDnsWeekly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbDnsWeekly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbDnsWeekly.gz\n", len(data))
}DNS Database Monthly
/v3.2/download/dbupdate/monthly/dns| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: DNS Database Monthly (GET /v3.2/download/dbupdate/monthly/dns)
// Parameters for dbDnsMonthly (GET /v3.2/download/dbupdate/monthly/dns):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesDNSAPI.DbDnsMonthly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbDnsMonthly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbDnsMonthly.gz\n", len(data))
}Databases - Subdomains
Subdomains Daily
/v3.2/download/dbupdate/daily/subdomains| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Subdomains Daily (GET /v3.2/download/dbupdate/daily/subdomains)
// Parameters for dbSubdomainsDaily (GET /v3.2/download/dbupdate/daily/subdomains):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesSubdomainsAPI.DbSubdomainsDaily(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbSubdomainsDaily.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbSubdomainsDaily.gz\n", len(data))
}Subdomains Weekly
/v3.2/download/dbupdate/weekly/subdomains| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Subdomains Weekly (GET /v3.2/download/dbupdate/weekly/subdomains)
// Parameters for dbSubdomainsWeekly (GET /v3.2/download/dbupdate/weekly/subdomains):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesSubdomainsAPI.DbSubdomainsWeekly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbSubdomainsWeekly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbSubdomainsWeekly.gz\n", len(data))
}Subdomains Monthly
/v3.2/download/dbupdate/monthly/subdomains| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | optional | yyyy-MM-dd; omit for latest |
// Runnable example: Subdomains Monthly (GET /v3.2/download/dbupdate/monthly/subdomains)
// Parameters for dbSubdomainsMonthly (GET /v3.2/download/dbupdate/monthly/subdomains):
// - date (string, optional): yyyy-MM-dd; omit for latest
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesSubdomainsAPI.DbSubdomainsMonthly(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbSubdomainsMonthly.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbSubdomainsMonthly.gz\n", len(data))
}Databases - IP Geolocation
IP to Country Snapshot Status
/v3.3/status/snapshot/ip/country// Runnable example: IP to Country Snapshot Status (GET /v3.3/status/snapshot/ip/country)
// Parameters for dbIpCountryStatus (GET /v3.3/status/snapshot/ip/country):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesIPGeolocationAPI.DbIpCountryStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}IP to Country Snapshot
/v3.3/download/snapshot/ip/country| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | required | — |
// Runnable example: IP to Country Snapshot (GET /v3.3/download/snapshot/ip/country)
// Parameters for dbIpCountry (GET /v3.3/download/snapshot/ip/country):
// - date (string, required)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesIPGeolocationAPI.DbIpCountry(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbIpCountry.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbIpCountry.gz\n", len(data))
}IP to City Snapshot Status
/v3.3/status/snapshot/ip/city// Runnable example: IP to City Snapshot Status (GET /v3.3/status/snapshot/ip/city)
// Parameters for dbIpCityStatus (GET /v3.3/status/snapshot/ip/city):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesIPGeolocationAPI.DbIpCityStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}IP to City Snapshot
/v3.3/download/snapshot/ip/city| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | required | — |
// Runnable example: IP to City Snapshot (GET /v3.3/download/snapshot/ip/city)
// Parameters for dbIpCity (GET /v3.3/download/snapshot/ip/city):
// - date (string, required)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesIPGeolocationAPI.DbIpCity(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbIpCity.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbIpCity.gz\n", len(data))
}Databases - ASN WHOIS
ASN WHOIS Snapshot
/v3.3/download/snapshot/asn/whois| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | required | — |
// Runnable example: ASN WHOIS Snapshot (GET /v3.3/download/snapshot/asn/whois)
// Parameters for dbAsnWhois (GET /v3.3/download/snapshot/asn/whois):
// - date (string, required)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesASNWHOISAPI.DbAsnWhois(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbAsnWhois.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbAsnWhois.gz\n", len(data))
}ASN WHOIS Snapshot Status
/v3.3/status/snapshot/asn/whois// Runnable example: ASN WHOIS Snapshot Status (GET /v3.3/status/snapshot/asn/whois)
// Parameters for dbAsnWhoisStatus (GET /v3.3/status/snapshot/asn/whois):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesASNWHOISAPI.DbAsnWhoisStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Databases - IP WHOIS
IP WHOIS Snapshot
/v3.3/download/snapshot/ip/whois| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | required | — |
// Runnable example: IP WHOIS Snapshot (GET /v3.3/download/snapshot/ip/whois)
// Parameters for dbIpWhois (GET /v3.3/download/snapshot/ip/whois):
// - date (string, required)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesIPWHOISAPI.DbIpWhois(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbIpWhois.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbIpWhois.gz\n", len(data))
}IP WHOIS Snapshot Status
/v3.3/status/snapshot/ip/whois// Runnable example: IP WHOIS Snapshot Status (GET /v3.3/status/snapshot/ip/whois)
// Parameters for dbIpWhoisStatus (GET /v3.3/status/snapshot/ip/whois):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesIPWHOISAPI.DbIpWhoisStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}Databases - IP Security
IP Security Snapshot
/v3.3/download/snapshot/ip/security| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | required | — |
// Runnable example: IP Security Snapshot (GET /v3.3/download/snapshot/ip/security)
// Parameters for dbIpSecurity (GET /v3.3/download/snapshot/ip/security):
// - date (string, required)
package main
import (
"context"
"fmt"
"os"
"time"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
// returns raw bytes (compressed/binary file) -- write to disk
data, _, err := client.DatabasesIPSecurityAPI.DbIpSecurity(ctx).Date(time.Now().AddDate(0,0,-1).Format("2006-01-02")).Execute()
if err != nil { panic(err) }
if err := os.WriteFile("dbIpSecurity.gz", data, 0644); err != nil { panic(err) }
fmt.Printf("saved %d bytes to dbIpSecurity.gz\n", len(data))
}IP Security Snapshot Status
/v3.3/status/snapshot/ip/security// Runnable example: IP Security Snapshot Status (GET /v3.3/status/snapshot/ip/security)
// Parameters for dbIpSecurityStatus (GET /v3.3/status/snapshot/ip/security):
// (no parameters; the API key is set on the client)
package main
import (
"context"
"encoding/json"
"fmt"
wf "github.com/WhoisFreaks/whoisfreaks-go"
)
func main() {
cfg := wf.NewConfiguration()
client := wf.NewAPIClient(cfg)
// apiKey is set once via the request context
ctx := context.WithValue(context.Background(), wf.ContextAPIKeys,
map[string]wf.APIKey{"ApiKeyAuth": {Key: "YOUR_API_KEY"}})
result, _, err := client.DatabasesIPSecurityAPI.DbIpSecurityStatus(ctx).Execute()
if err != nil { panic(err) }
b, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(b))
}