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 identified in a 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
- INVALID_PURL: The provided PURL format is invalid
- COMPONENT_NOT_FOUND: The component was not found in the database
- NO_INFO: No cryptographic information available for the component
- INVALID_SEMVER: The provided semantic version or requirement is invalid
When a component-level error occurs, the overall response status remains “SUCCESS” since the request was processed. Individual component errors are indicated within the component block itself.
GetComponentsAlgorithms
See Common API Types forComponentsRequest documentation.
HTTP Request Example
Response Examples
Successful Response
Mixed Response with Error
GetComponentAlgorithmsInRange
Analyses a single software component across specified version ranges and returns all cryptographic algorithms detected along with the versions where they appear. This is useful for tracking cryptographic evolution across component development.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Format
The method returns comprehensive algorithm information including:componentobject: Contains the component analysis resultspurlfield: the requested componentversionsarray: List of component versions where cryptographic algorithms were detectedalgorithmsarray: List of all cryptographic algorithms found across the version range
statusfield: Response status indicating success or failure
- Algorithm name and strength classification
- Detection metadata and analysis results
Response Examples
Component with Algorithms Across Versions
Component with No Cryptographic Algorithms
GetComponentsAlgorithmsInRange
Batch version of GetComponentAlgorithmsInRange - analyses multiple components across version ranges and returns cryptographic algorithms for each in a single request.Request Format
See Common API Types forComponentsRequest documentation.
HTTP Request Example
ComponentVersionsInRange
Analyses a software component and returns lists of versions that either contain cryptographic algorithms or don’t, helping assess cryptographic presence across component evolution.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Example
ComponentHintsInRange
Retrieves cryptographic hints for a single component, providing insights about cryptographic protocols, libraries, SDKs and frameworks used by the component.Request Format
See Common API Types forComponentRequest documentation.
HTTP Request Example
Response Format
The method returns comprehensive cryptographic hint information including:purlfield: the requested componenthintsarray: List of cryptographic hints detected in the componentversionfield: Shows the specific version that was analyzedstatusfield: Response status indicating success or failure
- Unique identifier and name of the cryptographic entity
- Description of the detected usage or implementation
- Category classification (protocol/library/sdk/framework)
- Reference URL and PURL information
protocol: Cryptographic protocols (e.g., TLS, SSH, HTTPS)library: Cryptographic libraries (e.g., OpenSSL, Bouncy Castle)sdk: Software Development Kits with cryptographic capabilitiesframework: Frameworks that include cryptographic functionality
Response Examples
Component with Cryptographic Hints
Component with No Cryptographic Hints
ComponentsHintsInRange
Batch version of ComponentHintsInRange - retrieves cryptographic hints for multiple components in a single request, providing insights into cryptographic dependencies across multiple components.Request Format
See Common API Types forComponentsRequest documentation.