Skip to content

Score API

Returns a composite score (0–800, higher is better) for any domain, reflecting company size, time in business, and technology adoption. Based on ten years of SSL certificate history. Subdomains are automatically normalized.

Use alongside BizData for full firmographic profiles and Growth for quarter-over-quarter changes.

The score combines four components: a base score from historical certificate activity, a recency multiplier that rewards sustained activity, a growth boost comparing recent vs older activity, and an expiration penalty for certificates nearing expiration.

ComponentDescription
Base Score (β)Accumulated points from 10 years of certificate history, weighted by market and time
Recency Multiplier (ε)Ranges 0-1; penalizes domains where all certificates are very recent
Growth Boost (φ)Positive if certificate activity increased year-over-year, negative if declined. The decline side is floored at half the base score
Expiration Penalty (λ)Ramps down over the final 14 days of the newest certificate’s validity; 0 once no valid certificate remains

1. Base Score. For each of the past 10 years, we calculate how many certificates were issued compared to the expected baseline for the market. More certificates = more points, with a cap at 100% of baseline.

2. Recency Check. If all certificates were issued within the current year, the score is reduced proportionally. A domain with 3+ years of history gets the full score.

3. Growth Adjustment. We compare certificate activity from the past 360 days against the prior 360 days (720-360 days ago). Growing companies get a boost; declining activity results in a penalty. A domain with no activity in the prior period receives no adjustment either way, and the penalty can never remove more than half the base score — a company that slows down is ranked below its peers, not erased.

4. Expiration Penalty. The penalty tracks the newest certificate still valid. It is neutral while more than 14 days of validity remain, then ramps down linearly to zero on the expiration date. Once no valid certificate remains, the score is zero regardless of history.

SymbolNameNotes
ΔTDays since the first certificate was issued in the last 3 yearsCertificates with a validity period over three years are ignored
εRecency Penalty multiplierDecreases score in case all company certificates were created in the current year
|Cy|Certificates per yearNumber of certificates generated in a year
βcertsBaseline Certificate NumberCalculated number of certificates expected for a business
βptBaseline pointsThe number of points to be awarded for a year (distribution of points between years is not uniform)
τMarket CoefficientEstablishes a more accurate baseline for each specific market
Ω360Lookback 360Number of certificates generated in the past 360 days
Ω720Lookback 720Number of certificates generated between 720 and 360 days
βBase scoreThe baseline score for the domain provided over ten years
θGrowth pointsPoints awarded for growth, currently static at 50
φGrowth boostYear-over-year growth metric
φminGrowth decline floorLargest share of the base score a decline can remove, currently static at 0.5
ΔτDays until the expiration of certificateMeasured against the latest-expiring certificate still valid on the scoring date
λdExpiration penalty rangeRange is in days (currently static at 14 days)
λExpiration penaltyRamps from 1 to 0 across the final λd days of certificate validity
ε=min(ΔT365,1)\varepsilon = \min\left(\frac{\Delta T}{365},\, 1\right) β=y=110(min(Cyβcerts,1)βptτ(0.4+0.5exp((x6)28)+0.05(x1)))\beta = \sum_{y=1}^{10}\left(\min\left(\frac{\lvert C_y \rvert}{\beta_{\text{certs}}},\, 1\right)\cdot \beta_{\text{pt}}\cdot \tau \cdot \left(0.4 + 0.5 \cdot \exp\left(-\frac{(x - 6)^2}{8}\right) + 0.05 \cdot (x - 1)\right)\right) (Ω360Ω720θsign=1)(Ω360<Ω720θsign=1)(\Omega_{360} \geq \Omega_{720} \rightarrow \theta_{\text{sign}} = 1) \wedge (\Omega_{360} < \Omega_{720} \rightarrow \theta_{\text{sign}} = -1) φ={0Ω720=0max(Ω360Ω720Ω360+Ω720θ,  βφmin)otherwise\varphi = \begin{cases} 0 & \Omega_{720} = 0 \\[6pt] \max\left(\dfrac{\Omega_{360} - \Omega_{720}}{\Omega_{360} + \Omega_{720}} \cdot \theta,\; -\beta \cdot \varphi_{\min}\right) & \text{otherwise} \end{cases} λ=min(max(Δτ,0)λd,1)\lambda = \min\left(\frac{\max(\Delta\tau,\, 0)}{\lambda_d},\, 1\right)

λ is 0 when the domain has no certificate valid on the scoring date.

Score=min(max((βε+φ)λ,0),800)\text{Score} = \left\lceil \min\left(\max\left((\beta \cdot \varepsilon + \varphi) \cdot \lambda,\, 0\right),\, 800\right) \right\rceil
GET https://api.discolike.com/v1/score
ParameterDescription
domainDomain to investigate.
FieldFormatDescription
domainStringNormalized domain name (excluding any subdomain).
scoreUnsigned Int32Final calculated score.
first_eventDate (YYYY-MM-DD)Date of first registration event.
confidenceDecimal (1,2)Confidence score for classification label.
parametersArray[ParameterObjects]Set of calculation parameters as described in the parameters section.
base_scoreDecimal (3,2)The baseline score for the domain provided over 10 years (β).
recency_multiplierDecimal(1,2)Decreases score in case of all company certificates were created in the current year (ε).
growth_boostDecimal(3,2)Increases score if the number of certificates opened in the last 360 days is greater than those opened 2 years before, decreases it if vice versa. Never below -base_score / 2 (φ).
expiration_penaltyDecimal(1,2)Ramps from 1 to 0 across the final λd days of certificate validity; 0 when no certificate is valid on the scoring date (λ).
lookback_360Unsigned Int32Number of certificates generated in the past 360 days (Ω360).
lookback_720Unsigned Int32Number of certificates generated between 720 and 360 days (Ω720).
Terminal window
curl "https://api.discolike.com/v1/score?domain=acmecorp.com" \
-H "x-discolike-key: API_KEY"
{
"domain": "acmecorp.com",
"score": 658,
"parameters": {
"base_score": 700,
"recency_multiplier": 1,
"growth_boost": -42.78,
"lookback_360": 14796,
"lookback_720": 190199,
"expiration_penalty": 1
},
"first_event": "2010-03-01"
}