Skip to main content

Default Behaviour

By default, the Scanner class connects to the SCANOSS OSS Knowledge Base API at https://api.osskb.org without requiring any authentication.

Using an API Key

When an API key is provided without a custom URL, the SDK automatically switches to the SCANOSS Premium endpoint at https://api.scanoss.com. Pass the key using the .apiKey() builder method:
import com.scanoss.Scanner;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = Scanner.builder()
                .apiKey("your-api-key")
                .build();

        List<String> results = scanner.scanFolder("/path/to/project");
        results.forEach(System.out::println);
    }
}

Using a Custom API Endpoint

To direct the SDK to a different API endpoint, pass the full endpoint URL using the .url() builder method:
import com.scanoss.Scanner;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = Scanner.builder()
                .url("https://your-custom-api-url")
                .build();

        List<String> results = scanner.scanFolder("/path/to/project");
        results.forEach(System.out::println);
    }
}

Using an API Key with a Custom Endpoint

An API key and a custom endpoint URL can be used together. When a url is explicitly set, it always takes precedence over the SCANOSS Premium endpoint (https://api.scanoss.com):
import com.scanoss.Scanner;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = Scanner.builder()
                .url("https://your-custom-api-url")
                .apiKey("your-api-key")
                .build();

        List<String> results = scanner.scanFolder("/path/to/project");
        results.forEach(System.out::println);
    }
}