> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Go SDK now available as a pre-release

Use our Go SDK to streamline integrating with Paddle Billing. Core operations are available now — including products, customers, and subscription management — with full feature parity with the API coming soon. Available now on GitHub.

---

## What's new?

We've released an SDK for Paddle Billing for Go. It's [available now on GitHub](https://github.com/PaddleHQ/paddle-go-sdk/).

## How it works

SDKs make it easier to work with the Paddle Billing platform. They reduce the amount of boilerplate code you need to write and include helper functions to make it quicker and easier to integrate Paddle Billing.

[Go](https://go.dev/) was developed by Google and is known for its simplicity, portability, and concurrency features. It's used by companies like Uber, Twitch, and Docker.

Today, we're excited to release our SDK for Go. It's a pre-release, meaning it includes all the core operations in the Paddle API but we're still working on full feature parity.

### Key features

* Available as a Go package for install using `go get`.
* Core operations are available now, with full feature parity with the API coming soon.
* Includes helper functions to help you verify webhook signatures.
* Released under the Apache 2.0 license, so anyone in the Paddle community can contribute.

Full details about which operations in the API are available in the SDK, check [the repo `README.md` file on GitHub](https://github.com/PaddleHQ/paddle-go-sdk). We maintain a summary of changes in the `CHANGELOG.md` file at the root of the repo.

## Examples

This example shows initializing a new Paddle client with an [API key](https://developer.paddle.com/api-reference/about/api-keys.md) and iterating through products.

<!-- This example shows initializing a new Paddle client with an API key and iterating through products. -->
```go {% title="Initialize and iterate through products" %}
package main

import (
 "os"
 "fmt"
 "context"

 paddle "github.com/PaddleHQ/paddle-go-sdk"
 "log"
)

func main() {
 ctx := context.Background()

 client, _ := paddle.New(
  os.Getenv("PADDLE_API_KEY"),
  paddle.WithBaseURL(paddle.ProductionBaseURL),
 )

 products, _ := client.ListProducts(ctx, &paddle.ListProductsRequest{IncludePrices: true})

 products.Iter(ctx, func(p *paddle.Product) (bool, error) {
  // Do something with the product
  fmt.Printf("%+v\n", p)
  return true, nil
 })
}
```

For more examples, see [`@PaddleHQ/paddle-go-sdk`](https://github.com/PaddleHQ/paddle-go-sdk/) on GitHub.

## Next steps

This change is available now. Install using `go get`:

```shell
go get -u github.com/PaddleHQ/paddle-go-sdk
```

See [`@PaddleHQ/paddle-go-sdk`](https://github.com/PaddleHQ/paddle-go-sdk/) on GitHub to learn more.

There are no changes to endpoints or fields in the API as a result of this change.