https://github.com/whois-api-llc/website-categorization-go
Website Categorization API client library for Go
https://github.com/whois-api-llc/website-categorization-go
categorization category-api go golang website-categorization whoisxmlapi
Last synced: about 1 year ago
JSON representation
Website Categorization API client library for Go
- Host: GitHub
- URL: https://github.com/whois-api-llc/website-categorization-go
- Owner: whois-api-llc
- License: mit
- Created: 2022-10-17T09:36:50.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-10-30T08:56:01.000Z (over 2 years ago)
- Last Synced: 2025-01-25T21:27:59.437Z (over 1 year ago)
- Topics: categorization, category-api, go, golang, website-categorization, whoisxmlapi
- Language: Go
- Homepage: https://website-categorization.whoisxmlapi.com/api
- Size: 10.7 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/licenses/MIT)
[](https://pkg.go.dev/github.com/whois-api-llc/website-categorization-go)
[](https://github.com/whois-api-llc/website-categorization-go/actions/)
# Overview
The client library for
[Website Categorization API](https://website-categorization.whoisxmlapi.com/)
in Go language.
The minimum go version is 1.17.
# Installation
The library is distributed as a Go module
```bash
go get github.com/whois-api-llc/website-categorization-go
```
# Examples
Full API documentation available [here](https://website-categorization.whoisxmlapi.com/api/documentation/v3/making-requests)
You can find all examples in `example` directory.
## Create a new client
To start making requests you need the API Key.
You can find it on your profile page on [whoisxmlapi.com](https://whoisxmlapi.com/).
Using the API Key you can create Client.
Most users will be fine with `NewBasicClient` function.
```go
client := websitecategorization.NewBasicClient(apiKey)
```
If you want to set custom `http.Client` to use proxy then you can use `NewClient` function.
```go
transport := &http.Transport{Proxy: http.ProxyURL(proxyUrl)}
client := websitecategorization.NewClient(apiKey, websitecategorization.ClientParams{
HTTPClient: &http.Client{
Transport: transport,
Timeout: 20 * time.Second,
},
})
```
## Make basic requests
Website Categorization API lets you get all supported categories for websites.
```go
// Make request to get a list of categories by a domain name as a model instance.
wCategorizationResp, _, err := client.Get(ctx, "whoisxmlapi.com")
if err != nil {
log.Fatal(err)
}
for _, obj := range wCategorizationResp.Categories {
log.Printf("ID: %d, Name: %s, Confidence: %f ", obj.ID, obj.Name, obj.Tier1.Confidence)
}
// Make request to get raw data in XML.
resp, err := client.GetRaw(context.Background(), "whoisxmlapi.com",
websitecategorization.OptionOutputFormat("XML"))
if err != nil {
log.Fatal(err)
}
log.Println(string(resp.Body))
```