Official Go SDK for ToolkitAPI.io — a family of focused HTTP APIs covering DNS, email, images, PDFs, scraping, AI-powered text tools, barcodes, media extraction, webhooks, and more.
go get github.com/toolkitapi/go-sdkRequires Go 1.21+.
package main
import (
"fmt"
toolkitapi "github.com/toolkitapi/go-sdk"
)
func main() {
client := toolkitapi.NewClient("https://toolkitapi.io", "tk_live_...")
// DNS lookup
result, err := client.Dns.Lookup(map[string]interface{}{
"domain": "example.com",
})
if err != nil {
panic(err)
}
fmt.Println(result)
// Readability analysis
score, err := client.Textanalysis.Readability(map[string]interface{}{
"text": "The quick brown fox jumps over the lazy dog.",
})
if err != nil {
panic(err)
}
fmt.Println(score)
}| Field | Highlights |
|---|---|
Analytics |
Query CSV/JSON/Parquet data with natural language |
Auth |
JWT create/decode, TOTP, OAuth helpers, API-key generation |
Barcode |
Barcode and QR code generation and decoding |
Convert |
Format (JSON/YAML/CSV/XML) and unit conversions |
Devtools |
JSON/YAML/XML validators, regex tester, UUID, hashing, fake data |
Dns |
DNS records, WHOIS, propagation, email auth, typosquat, SSL certs |
Email |
Validation, deliverability, disposable detection, SPF/DMARC |
Geo |
IP geolocation, reverse geocoding, distance/bearing, timezone |
Image |
Resize, convert, optimise, analyse, remove background |
Media |
YouTube metadata/transcripts, universal media extraction |
Pdf |
Generate, merge, split, extract, stamp, protect |
Scrape |
Web scraping, readability, meta, SEO audits, broken-link checks |
Textanalysis |
Readability, PII masking, profanity, similarity, summarize, language |
Webhook |
Request bins, HTTP mocks, replay captured requests |
Full endpoint reference at https://toolkitapi.io/docs.
Every request is authenticated via the X-API-Key header. Pass your key as
the second argument to NewClient.
Get your API key at https://toolkitapi.io/account/signup.
All toolkit methods return an (interface{}, error) pair. Network errors and
non-2xx HTTP responses are returned as the error value.
result, err := client.Dns.Lookup(map[string]interface{}{
"domain": "example.com",
})
if err != nil {
log.Fatalf("lookup failed: %v", err)
}MIT