Prerequisites
Before using the SCANOSS API, ensure you have:- SCANOSS API key
- curl: Command-line tool (pre-installed on Linux/macOS)
- jq (optional): JSON processor for readable output
Authentication Setup
Configure your API key as an environment variable:GetComponentAlgorithms
Retrieves cryptographic algorithms detected in a single software component.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Examples
Successful Response
Error Response — Component Not Found
Error Response — Invalid PURL
Error Handling
Component responses include optional error fields when issues occur during processing:error_message: Human-readable description of the errorerror_code: Machine-readable error code for programmatic handling
Error Codes
| Code | Description |
|---|---|
INVALID_PURL | The provided PURL format is invalid |
COMPONENT_NOT_FOUND | The component was not found in the database |
NO_INFO | No cryptographic information is available for the component |
INVALID_SEMVER | The provided version requirement is invalid |
Note: When a component-level error occurs, the overall responsestatusremains"SUCCESS"because the request itself was processed successfully. Component-level errors are indicated within the individual component object.
GetComponentsAlgorithms
Retrieves cryptographic algorithms detected across multiple software components in a single request.Request Format
See Common API Types forComponentsRequest documentation.
HTTP Request Example
Response Examples
Successful Response
Mixed Response with Error
GetComponentAlgorithmsInRange
Analyses a single software component across a specified version range and returns all cryptographic algorithms detected, along with the versions in which each algorithm appears. Use this endpoint to audit cryptographic changes across a component’s release history.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Format
The response contains the following fields:componentobject: Contains the component analysis resultspurl: The PURL of the requested componentversionsarray: Component versions in which at least one cryptographic algorithm was detectedalgorithmsarray: All cryptographic algorithms found across the specified version range
status: Response status indicating success or failure
algorithm: Algorithm name (e.g."AES","RSA","MD5")strength: Strength classification ("Strong"or"Weak")
Response Examples
Component with Algorithms Across Versions
Component Not Found
GetComponentsAlgorithmsInRange
Analyses multiple software components across specified version ranges and returns cryptographic algorithms for each in a single request.Request Format
See Common API Types forComponentsRequest documentation.
HTTP Request Example
GetComponentVersionsInRange
Analyses a single software component and returns two lists: versions that contain cryptographic algorithms, and versions that do not. Use this endpoint to determine at which point in a component’s release history cryptographic functionality was introduced or removed.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Example
GetComponentHintsInRange
Retrieves cryptographic hints for a single component, identifying the cryptographic protocols, libraries, SDKs, and frameworks detected within it.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Format
The response contains the following fields:componentobject: Contains the component analysis resultspurl: The PURL of the requested componentversion: The specific version analysedhintsarray: Cryptographic hints detected in the component
status: Response status indicating success or failure
id: Unique identifier for the hintname: Name of the cryptographic entity detecteddescription: Description of the detected usage or implementationcategory: Classification of the hint (see categories below)url: Reference URL for further informationpurl: PURL of the detected entity, where available
Hint Categories
Hints are classified into the following categories:| Category | Description |
|---|---|
protocol | Cryptographic protocols (e.g. TLS, SSH, HTTPS) |
library | Cryptographic libraries (e.g. OpenSSL, Bouncy Castle) |
sdk | Software development kits with cryptographic capabilities |
framework | Frameworks that include cryptographic functionality |
Response Examples
Component with Cryptographic Hints
Component with No Cryptographic Hints
GetComponentsHintsInRange
Retrieves cryptographic hints for multiple components in a single request, returning the cryptographic protocols, libraries, SDKs, and frameworks detected across all specified components.Request Format
See Common API Types forComponentsRequest documentation.