← S/1 Scorecard

API

Free Tier Available

Logged-in users get a free API key instantly — 10 req/min, 100/day, 500/month. Create an account or sign in and head to your Account page to generate keys.

Need higher limits or dedicated support? [email protected]

Programmatic access to S/1 Scorecard country risk data. All endpoints require an API key and return JSON.

Authentication

Include your API key in the x-api-key header on every request.

curl -H "x-api-key: s1_live_xxxxxxxxxxxxx" \
  https://s1.salientone.eu/scorecard/api/scorecards

Endpoints

POST/scorecard/api/scorecards

Returns full scorecard payloads for up to 50 ISO alpha-3 country codes in a single request.

Request Body

{
  "isos": ["RUS", "AFG", "CHN", "BRA"]
}

Response (200)

{
  "results": [
    {
      "country": { "iso_a3": "RUS", "name": "Russia", "region": "Europe", "population": 144373535 },
      "composite_risk_band": "high",
      "composite_score": 66,
      "composite_rationale": "High risk driven by...",
      "scores": {
        "governance": { "value": 30.8, "source": "WB WGI", "latest_year": 2026, ... },
        "corruption": { "value": 22, "source": "TI CPI", "latest_year": 2024, ... },
        ...
      }
    }
  ],
  "meta": { "requested": 4, "found": 4 }
}

Rate Limits — Free Plan

LimitPer KeyPer Account
Monthly quota500 req500 req (1 key)
Per minute10 req— (per key)
Per day100 req100 req (1 key)
Max keys1

Rate limit headers on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

GET/scorecard/api/countries

Returns a list of all available countries with ISO codes and regions.

{
  "countries": [
    { "iso_a3": "AFG", "name": "Afghanistan", "region": "Asia" },
    ...
  ]
}
GET/scorecard/api/country/:iso

Returns a single scorecard for the given ISO alpha-3 code.

GET /scorecard/api/country/RUS
POST/api/screen

Sanctions screening against 70,000+ designations across 18 sanctions and debarment sources (EU, OFAC, UK, UN, SECO, DFAT, GAC, World Bank Debarment, EBRD, EIB, BIS, UFLPA, SAM.gov, U.S. State Department, Treasury non-SDN, ADB, IDB, AfDB). Fuzzy matching with transliteration (Cyrillic, Arabic, Chinese) and multi-field scoring. Type-aware weights for Person vs Entity searches.

Request Body

{
  "name": "putin",           // required — full or partial name
  "type": "person",          // optional — "person" | "entity" | "all"
  "country": "RUS",          // optional — ISO alpha-3 nationality filter
  "registry": "eu",          // optional — "eu"|"ofac"|"uk"|"un"|"seco"|"dfat"|"gac"|"worldbank"|"ebrd"|"bis"|"uflpa"|"adb"|"idb"|"afdb"|"all"
  "dob": "1952-10-07",       // optional — date of birth
  "passport": "A1234567",    // optional — passport/ID number
  "imo": "1234567",          // optional — IMO ship number
  "address": "Moscow",       // optional — address search
  "placeOfBirth": "Leningrad", // optional
  "minScore": 0.5,           // optional — minimum match score 0–1 (default 0.35)
  "limit": 20                // optional — max results (default 50, max 100)
}

Response (200)

{
  "query": { "name": "putin", "type": "person", "country": "RUS", ... },
  "matches": [
    {
      "designated_name": "Vladimir Vladimirovich Putin",
      "designated_type": "person",
      "nationality_iso_a3": "RUS",
      "source": "uk",
      "list_program": "Ukraine — Kremlin elites",
      "designation_date": "2022-02-25",
      "date_of_birth": "07/10/1952",
      "aliases": ["Vladimir Putin", "Владимир Путин"],
      "score": 0.92,
      "matchDetails": {
        "nameScore": 0.92, "aliasScore": 0.85,
        "dobMatch": true, "idMatch": false, ...
      }
    }
  ],
  "total": 3,
  "meta": { "searchedRecords": 70000, "thresholdApplied": 0.5,
            "sourcesQueried": ["eu","ofac","uk","un","seco","dfat","gac","worldbank","ebrd","eib","bis","uflpa","sam","state_dept","treasury_non_sdn","adb","idb","afdb"], "executionMs": 145 }
}
POST/api/intelligence/profile

Intelligence profile — generates a sector-adjusted operational risk profile using a 3-layer model: country risk inheritance, sector weighting, and optional sanctions screening.

Request Body

{
  "subjectName": "Kabul Textile Trading Ltd.",   // required
  "countryIso": "AFG",                           // required — ISO alpha-3
  "sector": "textiles",                          // required
  "runSanctionsCheck": true                      // optional — default true
}

Supported sectors: textiles, mining, logistics, agriculture, defense, electronics, financial_services, professional_services, automotive, construction

Response (200)

{
  "profile": {
    "supplierName": "Kabul Textile Trading Ltd.",
    "countryIso": "AFG",
    "countryName": "Afghanistan",
    "sector": "textiles",
    "sectorLabel": "Textiles & Garments",
    "compositeBand": "severe",
    "compositeScore": 82,
    "keyDrivers": [
      { "text": "severe governance weakness", "domain": "governance", "severity": "severe" },
      { "text": "severe forced labour risk (sector-adjusted)", "domain": "forced_labour", "severity": "severe" }
    ],
    "sectorExplanation": "The textiles and garments sector carries elevated...",
    "dueDiligenceActions": [
      { "label": "Enhanced due diligence", "required": true },
      { "label": "Forced labour assessment", "required": true }
    ],
    "exposureDomains": [
      { "domain": "governance", "countryBand": "severe", "sectorWeight": 1.2, "adjustedBand": "severe" }
    ],
    "narrativeSummary": "Kabul Textile Trading Ltd. operates in a severely fragile...",
    "sanctionsCheck": { "performed": true, "matchesFound": 0, "summary": "..." },
    "generatedAt": "2026-05-27T...",
    "dataFreshness": "2026-05-26T..."
  }
}
GET/api/map-data— public

Lightweight endpoint returning all country scores with risk bands for choropleth map rendering. No authentication required. Cached 5 minutes.

{
  "countries": [
    {
      "iso_a3": "AFG", "name": "Afghanistan", "region": "Asia",
      "composite": { "band": "severe", "score": 100 },
      "governance": { "value": 18.2, "band": "severe" },
      "corruption": { "value": 16, "band": "high" },
      "inform": { "value": 7.6, "band": "severe" },
      "forced_labour": { "goods": 3, "band": "moderate" },
      "sanctions": { "total": 1234, "band": "severe" },
      "conflict": { "intensity": 76.4, "band": "severe" },
      "fatf": { "status": "grey", "band": "high" },
      "fsi": { "value": 106.6, "band": "severe" },
      "rsf": { "value": 29.5, "band": "high" },
      "epi": { "value": 35.2, "band": "high" }
    }
  ]
}
GET/api/country/:iso/pdf— Pro+ · requires x-api-key

Print-optimized HTML scorecard. Opens browser print dialog for saving as A4 PDF. Includes all 10 indicators, composite band, and rationale.

GET /api/country/RUS/pdf
GET/api/trends/:iso

Historical risk band trend for a country. Returns current band, trend direction (improving / stable / deteriorating / insufficient_data), band change events, and up to 24 historical snapshots. History accumulates over time; recent deployments will return a single data point.

GET /api/trends/UKR
GET/api/export/csv

Download all scorecard data as CSV. Session-authenticated — accessible from your Account page. Includes all 10 indicators for every country with a scorecard.

GET /api/export/csv
→ Content-Type: text/csv
→ Content-Disposition: attachment; filename="s1-scorecard-export-2026-05-24.csv"

Errors

StatusMeaning
401Missing or invalid API key
429Rate limit exceeded — check Retry-After header
400Invalid request body or too many ISOs
503Database unavailable — retry later

For pricing, higher rate limits, or dedicated support, contact [email protected].