Reference · Tools

SecurityScorecard

Manage portfolios, retrieve company and industry security scores, generate and download reports via the SecurityScorecard API.

Action (binary) Utility v1 Binary data

The SecurityScorecard node retrieves company and industry security scores, manages portfolios, and generates and downloads reports. A typical build is monitoring vendor scores on a schedule and raising a ticket when one drops below your threshold.

Node type
Action (binary)
Parameters
47
Outputs
Output, Error
Credentials
SecurityScorecard API

SecurityScorecard

Manage SecurityScorecard portfolios, scores, and reports

Overview

SecurityScorecard rates the cybersecurity posture of companies. This tool reads company and industry scores, factor breakdowns and historical trends, manages portfolios and the companies inside them, sends assessment invites, and generates and downloads reports. Report downloads are written to binary data so they can be emailed, stored or uploaded by a later node.

Category: Utility
Tool Name: security_scorecard
Version: 1

Appearance: Icon: lucide-ShieldCheck | Color: #1F2937

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires SecurityScorecard API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Companycompany
Industryindustry
Inviteinvite
Portfolioportfolio
Portfolio CompanyportfolioCompany
Reportreport

Operations

OperationValueDescription
Get Factor ScoresgetFactorCompany factor scores and issue counts, or factor scores for an industry
Get Historical Factor ScoresgetFactorHistoricalA company’s or industry’s historical factor scores
Get Historical ScoresgetHistoricalScoreA company’s historical scores
Get Information and ScorecardgetScorecardCompany information and a summary of their scorecard
Get Score PlangetScorePlanA company’s score improvement plan
Get ScoregetScoreThe score for an industry
CreatecreateCreate an invite for a company/user, or create a portfolio
UpdateupdateUpdate a portfolio
DeletedeleteDelete a portfolio
Get ManygetAllGet many portfolios, many companies in a portfolio, or recently generated reports
AddaddAdd a company to a portfolio
RemoveremoveRemove a company from a portfolio
GenerategenerateGenerate a report
DownloaddownloadDownload a generated report

Which operations you see depends on the resource: companygetFactor, getFactorHistorical, getHistoricalScore, getScorecard, getScorePlan; industrygetFactor, getFactorHistorical, getScore; invitecreate; portfoliocreate, delete, getAll, update; portfolioCompanyadd, getAll, remove; reportdownload, generate, getAll.

Parameters

Company: Get Information and Scorecard

ParameterTypeRequiredDefaultDescription
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain (e.g., example.com). Supports expressions like {{ $json.domain }}.

Company: Get Factor Scores

ParameterTypeRequiredDefaultDescription
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain (e.g., example.com). Supports expressions like {{ $json.domain }}.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
Filters (filters)collectionNo{}Narrow the returned issues.
— SeveritystringNoFilter issues by a single severity.
— Severity InstringNoFilter issues by comma-separated severity list.

Company: Get Historical Factor Scores

ParameterTypeRequiredDefaultDescription
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain (e.g., example.com). Supports expressions like {{ $json.domain }}.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.
Options (options)collectionNo{}Date range and granularity for the history.
— Date FromstringNoHistory start date (YYYY-MM-DD or date string).
— Date TostringNoHistory end date (YYYY-MM-DD or date string).
— TimingoptionsNodailyDate granularity.
Options: daily, weekly, monthly

Company: Get Historical Scores

ParameterTypeRequiredDefaultDescription
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain (e.g., example.com). Supports expressions like {{ $json.domain }}.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.
Options (options)collectionNo{}Date range and granularity for the history.
— Date FromstringNoHistory start date (YYYY-MM-DD or date string).
— Date TostringNoHistory end date (YYYY-MM-DD or date string).
— TimingoptionsNodailyDate granularity.
Options: daily, weekly, monthly

Company: Get Score Plan

ParameterTypeRequiredDefaultDescription
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain (e.g., example.com). Supports expressions like {{ $json.domain }}.
ScorenumberYes0Target score for score improvement plan.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)

Industry: Get Score

ParameterTypeRequiredDefaultDescription
IndustryoptionsYesfoodThe industry to report on.
Options: food, healthcare, manofacturing, retail, technology

Industry: Get Factor Scores

ParameterTypeRequiredDefaultDescription
IndustryoptionsYesfoodThe industry to report on.
Options: food, healthcare, manofacturing, retail, technology
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.

Industry: Get Historical Factor Scores

ParameterTypeRequiredDefaultDescription
IndustryoptionsYesfoodThe industry to report on.
Options: food, healthcare, manofacturing, retail, technology
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.
Options (industryOptions)collectionNo{}Date range for the history.
— Date From (from)stringNoHistory start date (YYYY-MM-DD).
— Date To (to)stringNoHistory end date (YYYY-MM-DD).

Invite: Create

ParameterTypeRequiredDefaultDescription
EmailstringYesEmail address of the invitee. Supports expressions.
First NamestringYesGiven name of the invitee. Supports expressions.
Last NamestringYesFamily name of the invitee. Supports expressions.
MessagestringYesMessage for the invitee. Supports expressions.
Additional FieldscollectionNo{}Optional invite details.
— Days to Resolve IssuenumberNo0Minimum days to resolve a scorecard issue.
— DomainstringNoInvitee company domain.
— Grade to MaintainstringNoRequest the invitee’s organisation to maintain a minimum grade.
— Is Organisation Point of ContactbooleanNofalseWhether the invitee is the organisation’s point of contact.
— Issue DescriptionstringNoBody text describing the issue the invitee should address.
— Issue TitlestringNoTitle of the issue the invitee should address.
— Issue Type (issue_type)stringNoType of the issue the invitee should address.
— Send Me a CopybooleanNofalseWhether to send a copy of the invite to the requesting user.
— Target URLstringNoOptional URL to take the invitee to when arriving to the platform.

Portfolio: Create

ParameterTypeRequiredDefaultDescription
Portfolio Name (name)stringYesName of the portfolio. Supports expressions.
Description (portfolioDescription)stringNoFree-text description of the portfolio.
PrivacyoptionsNosharedWho can see this portfolio.
Options: private (only visible to you), shared (visible to everyone in your company), team (visible to the people on your team)

Portfolio: Update

ParameterTypeRequiredDefaultDescription
Portfolio IDstringYesID of the portfolio to change. Supports expressions.
Portfolio Name (name)stringYesName of the portfolio. Supports expressions.
Description (portfolioDescription)stringNoFree-text description of the portfolio.
PrivacyoptionsNosharedWho can see this portfolio.
Options: private (only visible to you), shared (visible to everyone in your company), team (visible to the people on your team)

Portfolio: Delete

ParameterTypeRequiredDefaultDescription
Portfolio IDstringYesID of the portfolio to delete. Supports expressions.

Portfolio: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)

Portfolio Company: Add

ParameterTypeRequiredDefaultDescription
Portfolio IDstringYesID of the portfolio to add the company to. Supports expressions.
DomainstringYesCompany’s domain name. Supports expressions.

Portfolio Company: Remove

ParameterTypeRequiredDefaultDescription
Portfolio IDstringYesID of the portfolio to remove the company from. Supports expressions.
DomainstringYesCompany’s domain name. Supports expressions.

Portfolio Company: Get Many

ParameterTypeRequiredDefaultDescription
Portfolio IDstringYesID of the portfolio to list. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)
Filters (portfolioCompanyFilters)collectionNo{}Narrow which companies are returned.
— GradestringNoCompany score grade filter.
— IndustrystringNoIndustry filter.
— Issue Type (issueType)stringNoIssue type filter.
— StatusoptionsNoCompany status filter.
Options: active, inactive
— VulnerabilitystringNoCVE vulnerability filter.

Report: Generate

ParameterTypeRequiredDefaultDescription
ReportoptionsYesdetailedWhich report to generate.
Options: detailed (Company Detailed), events-json (Company Events), issues (Company Issues), partnership (Company Partnership), summary (Company Summary), full-scorecard-json (Full Scorecard), portfolio (Portfolio), scorecard-footprint (Scorecard Footprint)
Scorecard IdentifierstringYesPrimary identifier of a company or scorecard, i.e. domain. Supports expressions. (shown when Report is detailed, events-json, full-scorecard-json, issues, partnership, scorecard-footprint, summary)
Portfolio IDstringYesID of the portfolio the report covers. Supports expressions. (shown when Report is portfolio)
BrandingoptionsNosecurityscorecardWhose branding appears on the generated report. (shown when Report is detailed, summary)
Options: securityscorecard, company_and_securityscorecard, company
DatestringYesDate for the events report (YYYY-MM-DD or date string). (shown when Report is events-json)
Options (reportOptions)collectionNo{}Output settings for issues and portfolio reports. (shown when Report is issues, portfolio)
— FormatoptionsNopdfFile format of the generated report.
Options: csv, pdf
Options (footprintOptions)collectionNo{}Scope and output settings for the footprint report. (shown when Report is scorecard-footprint)
— CountriesstringNoComma-separated list of countries.
— FormatoptionsNopdfFile format of the generated report.
Options: csv, pdf
— IPsstringNoComma-separated list of IPs.
— SubdomainsstringNoComma-separated list of subdomains.

Report: Download

ParameterTypeRequiredDefaultDescription
Report URL (url)stringYesURL to a generated report (obtained from Generate or Get Many operations). Supports expressions.
Binary PropertystringYesdataName of the binary property to write the downloaded report to. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.

Report: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. Between 1 and 100. (shown when Return All is false)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

Every operation merges its result onto the input item JSON — the incoming fields pass through unchanged, and binary data is forwarded. Where the operations differ is how many items come out.

Operations that fan out — one output item per record returned, each carrying that record’s fields merged onto the input item:

Resource / OperationOne item per
company / getFactorFactor entry (issue counts and scores per factor)
company / getFactorHistoricalHistorical factor entry
company / getHistoricalScoreHistorical score entry
company / getScorePlanScore-plan entry
industry / getFactorIndustry factor entry
industry / getFactorHistoricalHistorical industry factor entry
portfolio / getAllPortfolio
portfolioCompany / getAllCompany in the portfolio
report / getAllRecently generated report

With Return All off these lists are truncated to Limit before the items are emitted. If nothing matches, the input item produces no output item at all.

Operations that produce exactly one output item:

Resource / OperationFields merged onto the item
company / getScorecardThe company’s scorecard summary.
industry / getScoreThe industry’s score.
invite / createThe API’s invite response.
portfolio / createThe created portfolio.
portfolio / updateThe updated portfolio.
portfolio / deletesuccess: true
portfolioCompany / addThe API’s add response.
portfolioCompany / removesuccess: true
report / generateThe generate response — it carries the URL you later feed to download.
report / downloadreportUrl, downloaded: true and fileSize (bytes). The report file itself is written to the named Binary Property, keeping the file name from the URL, alongside any binary the item already carried.

Reference the result downstream by expression, e.g. {{ $json.fileSize }} or {{ $json.success }}.

Usage Examples

  • Get a company security scorecard by domain
  • Download a SecurityScorecard report as PDF
  • List all portfolios in SecurityScorecard
  • Generate a detailed security report for a company
  • Get historical security scores for a company
  • Add a company to a SecurityScorecard portfolio

Example Configuration

Look up a company’s scorecard by the domain on the incoming item:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "company",
    "operation": "getScorecard",
    "scorecardIdentifier": "{{ $json.domain }}"
  }
}

Pull a company’s high-severity factor issues, one item per factor:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "company",
    "operation": "getFactor",
    "scorecardIdentifier": "example.com",
    "returnAll": false,
    "limit": 25,
    "filters": {
      "severity_in": "high,critical"
    }
  }
}

Track a company’s score month by month over a year:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "company",
    "operation": "getHistoricalScore",
    "scorecardIdentifier": "example.com",
    "returnAll": true,
    "simple": true,
    "options": {
      "date_from": "2023-01-01",
      "date_to": "2023-12-31",
      "timing": "monthly"
    }
  }
}

Create a shared portfolio:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "portfolio",
    "operation": "create",
    "name": "Q1 2024 Vendors",
    "portfolioDescription": "Vendor security assessments for Q1 2024",
    "privacy": "shared"
  }
}

Add a vendor from the incoming item to that portfolio:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "portfolioCompany",
    "operation": "add",
    "portfolioId": "portfolio-123",
    "domain": "{{ $json.vendorDomain }}"
  }
}

List the active technology companies in a portfolio, graded A:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "portfolioCompany",
    "operation": "getAll",
    "portfolioId": "portfolio-123",
    "returnAll": false,
    "limit": 25,
    "portfolioCompanyFilters": {
      "grade": "A",
      "industry": "technology",
      "status": "active",
      "vulnerability": "high"
    }
  }
}

Generate a co-branded detailed company report:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "report",
    "operation": "generate",
    "report": "detailed",
    "scorecardIdentifier": "example.com",
    "branding": "company_and_securityscorecard"
  }
}

Generate a portfolio report as CSV:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "report",
    "operation": "generate",
    "report": "portfolio",
    "portfolioId": "portfolio-123",
    "reportOptions": {
      "format": "csv"
    }
  }
}

Generate a scorecard footprint report scoped to specific countries and subdomains:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "report",
    "operation": "generate",
    "report": "scorecard-footprint",
    "scorecardIdentifier": "example.com",
    "footprintOptions": {
      "format": "pdf",
      "countries": "US,CA,UK",
      "ips": "192.168.1.0/24",
      "subdomains": "*.example.com"
    }
  }
}

Download a generated report into binary data:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "report",
    "operation": "download",
    "url": "{{ $json.url }}",
    "binaryPropertyName": "reportFile"
  }
}

Invite a vendor to complete an assessment:

{
  "type": "security_scorecard",
  "parameters": {
    "resource": "invite",
    "operation": "create",
    "email": "{{ $json.contactEmail }}",
    "firstName": "John",
    "lastName": "Doe",
    "message": "Please join our security assessment program",
    "additionalFields": {
      "domain": "example.com",
      "issue_title": "Security Assessment Required",
      "issue_desc": "We need you to complete a security assessment",
      "issue_type": "vulnerability",
      "days_to_resolve_issue": 30,
      "grade_to_maintain": "A",
      "is_organization_point_of_contact": true,
      "sendme_copy": true
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Retrieve security scores, manage portfolios, and download reports from SecurityScorecard cybersecurity ratings platform.

Behavior notes

  • Generate then download. generate returns a URL rather than a file; feed that URL into a second node running download to get the bytes into binary data.
  • Comma-separated footprint fields. Countries, IPs and Subdomains are typed as comma-separated text and split for you, so US,CA,UK is correct — do not wrap them in brackets.
  • Return All and Limit apply after the API responds. The list is fetched and then truncated, so a large Return All still pulls the full response from SecurityScorecard.
  • Simplify is on by default for the historical operations; turn it off when you need the raw API shape rather than the condensed one.
  • Branding only applies to the detailed and summary reports, and format only to the issues, portfolio and footprint reports — the other report types ignore both.

Common patterns

  • Security assessment workflowcompany / getScorecard for the summary, then getFactor with filters to find the weak points, then report / generate and report / download to produce the document.
  • Portfolio managementportfolio / create, then portfolioCompany / add per vendor, then portfolioCompany / getAll with filters to monitor them, and report / generate with portfolio for a roll-up.
  • Historical analysisgetHistoricalScore with a date range and Simplify on for easy charting, and industry / getFactorHistorical to compare against the sector.

Frequently asked questions

Why does generating a report not give me a file?

Generate returns a URL rather than the file itself. Feed that URL into a second node running download to get the bytes into binary data.

How do I supply multiple countries or IPs?

As comma-separated text — Countries, IPs and Subdomains are typed that way and split for you, so `US,CA,UK` is correct rather than an array.

What can portfolios be used for?

Grouping the companies you monitor, which is what makes ongoing third-party risk tracking manageable rather than a per-company chore.

Which credential does it need?

A SecurityScorecard API credential.

Build with the SecurityScorecard node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need SecurityScorecard API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.