SmileID Go SDK provides easy integration for Smile ID's digital identity verification, KYC, fraud prevention, and user authentication services for Africa.
- Digital KYC: Instant user onboarding and verification
- Identity Verification: Support for 8500+ ID types, 220+ countries
- User Authentication: Secure, real-time authentication
- Seamless Integration: Simple, idiomatic Go API
go get github.com/nutcas3/smileid-go
First, import the package from the root:
import (
"fmt"
"github.com/nutcas3/smileid-go"
)
ctx := context.Background()
client := smileid.NewClient(smileid.Config{
APIKey: "your-api-key",
PartnerID: "your-partner-id",
Env: smileid.Sandbox,
})
kycReq := smileid.KYCRequest{
CountryCode: "NG",
IDType: "NIN",
IDNumber: "12345678901",
FirstName: "Jane",
LastName: "Doe",
}
kycResp, err := client.KYC.VerifyUser(ctx, kycReq)
if err != nil {
// Handle error
log.Fatal(err)
}
fmt.Println(kycResp)
idReq := smileid.IdentityVerificationRequest{
CountryCode: "GH",
IDType: "PASSPORT",
IDNumber: "A1234567",
}
idResp, err := client.Identity.VerifyID(ctx, idReq)
if err != nil {
log.Fatal(err)
}
fmt.Println(idResp)
authReq := smileid.AuthRequest{
UserID: "user-123",
Event: "login",
DeviceID: "device-abc",
}
authResp, err := client.Authentication.Authenticate(ctx, authReq)
if err != nil {
log.Fatal(err)
}
fmt.Println(authResp)
All API methods return detailed errors. Use Go's error wrapping/unwrapping to inspect and handle errors.
See docs for full API reference and integration guides.
© 2025 Smile ID. All rights reserved.