> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanoss.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The SCANOSS Go SDK (pkg/scanoss) is a library for integrating with the SCANOSS API and scanning engine from Go applications.

[`pkg/scanoss`](https://github.com/scanoss/scanoss.go) is the Go SDK behind [SCANOSS-CLI](/en/latest/cli/scanoss-cli/overview): the same scan and decoration services, fingerprinting, file filtering, and SBOM read/write, available as a library for your own Go programs.

## Prerequisites

Before you begin, ensure you have:

* [Go 1.25 or higher](https://go.dev/dl/)

## Installation

```bash theme={null}
go get github.com/scanoss/scanoss.go/pkg/scanoss
```

## Quick Start

To scan a folder using all the SCANOSS defaults:

```go theme={null}
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/scanoss/scanoss.go/pkg/scanoss"
)

func main() {
	client, err := scanoss.New(scanoss.Config{
		APIKey: os.Getenv("SCANOSS_API_KEY"),
	})
	if err != nil {
		panic(err)
	}

	result, err := client.Scan.Folder(context.Background(), "./my-project")
	if err != nil {
		panic(err)
	}

	fmt.Println(result)
}
```

See [Authentication](authentication) for API key and custom-endpoint options, and [Usage](usage) for the decoration pipeline, per-service progress reporting, and logging.
