| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Retrieves the ESG score for a company: an overall score, the industry benchmark, and, where available, a score for each pillar and each of the 26 risk criteria. Every score carries a justification.
When to use it
To qualify a supplier or a counterparty. Retrieve a company's score during onboarding or periodic review, and gate on the specific risk criteria your policy names rather than on the headline number alone.
To compare companies consistently. The same scale and the same 26 criteria apply to every company, which makes a portfolio or supplier base comparable in a way that narrative ESG disclosure is not.
To screen early in an evaluation. A single call gives you a graded assessment with reasoning attached, before committing to a deeper review.
Request
There are no filters and no pagination. One company yields one score payload.
Successful response
Every response carries the same envelope, whatever state the request is in.
| Field | What it holds |
|---|---|
veridion_id | The company you requested. |
status | The state of the request. See Response states below. |
active_processing_session | The session currently scoring this company, or null where none is running. See Following a processing session below. |
last_computed_at | When the score being returned was produced. Where no score is being served, it reports when the most recent completed run finished, however old that is. null only where no run has ever completed for this company. |
result | The score payload, or null where no score is available. The three pillar keys within it are nullable. |
Response fieldsFor a comprehensive list of all data points in the score payload, see the Response fields and types page.
Response states
status takes one of three values.
status | Meaning | What to do |
|---|---|---|
complete | A score for this company is in result. A complete response can also carry result: null, meaning none is available at present. | Consume it. A null result is a valid answer rather than an error. |
processing | The score is being computed. result is null. | Request again after a short interval, or follow the processing session. |
not_found | The company was not found in Veridion's data sources. | Check the veridion_id. Repeating the request immediately returns the same answer. |
Branch onstatus, not on the HTTP codeEvery outcome of this endpoint is
200 OK, includingnot_found. Thestatusfield in the body is the answer.
A null result is not a dead endA
completeresponse withresult: nullmeans no score is available for this company at present. Requesting again later may return one, so you can re-check on your own schedule rather than treating it as final.
Following a processing session
While status is processing, the response carries an active_processing_session, identifying the session scoring this company. It is null in every other state, because no session is running. Read more about processing sessions.
Capture it from a processing response if you intend to poll. Pass it to ESG processing status to check on that session without requesting the score again. That endpoint is read-only.
A score arrives wholeUnlike a paginated feed there is no partial state to consume, so the session's count is only ever
1once a score exists, or0before that. Either a score is available or it is still being produced.
Example: score returned
Abridged to a few criteria. Where the pillars are present, all 26 risks are nested under them.
{
"veridion_id": "abc-123",
"status": "complete",
"active_processing_session": null,
"last_computed_at": "2026-02-15T10:30:00.000Z",
"result": {
"overall": {
"score": 61,
"description": "The company demonstrates a moderate ESG profile for a logistics and energy services operator...",
"justification": "The company has made measurable progress on renewable energy infrastructure, while broader disclosure on emissions and supply chain labour standards remains limited..."
},
"industry": {
"average": 54,
"average_justification": "The freight logistics sector carries moderate ESG risk, driven by fuel consumption, fleet emissions, and complex subcontracting arrangements...",
"quartile": "Top (25%)",
"quartile_justification": "With a score of 61 against an industry average of 54, the company is positioned in the top quartile for its sector..."
},
"environmental": {
"score": 59,
"justification": "The company operates renewable energy infrastructure alongside a carbon intensive freight business...",
"risks": {
"carbon_footprint": {
"score": 55,
"justification": "Fleet and terminal operations represent a material source of emissions. The company reports investment in renewable capacity, but no comprehensive emissions inventory is disclosed."
},
"mining_techniques": {
"score": null,
"justification": "The company handles steel scrap and bulk cargo but does not engage in mining activities. This criterion is not applicable to the company's industry."
},
"unlawful_fishing": {
"score": null,
"justification": "The company operates in the logistics and energy sectors and has no involvement in fishing activities. This criterion is not applicable to the company's industry."
},
"testing_on_animals": {
"score": null,
"justification": "The company operates in the logistics, supply chain, and energy sectors, specifically handling freight, container yards, bulk cargo, and renewable energy infrastructure. There is no business activity, product line, or operational process involving the testing of animals. This criterion is not applicable to the company's industry or operations."
}
/* ...remaining environmental criteria */
}
},
"social": {
"score": 62,
"justification": "...",
"risks": {
/* 5 social criteria */
}
},
"governance": {
"score": 63,
"justification": "...",
"risks": {
/* 5 governance criteria */
}
}
}
}
A null score carries a justificationWhere a criterion could not be scored,
scoreisnulland the justification says why, asmining_techniques,unlawful_fishing, andtesting_on_animalsdo above.Note that a
nullscore is not a zero. Treating it as one in an aggregate penalises companies for risks they are not exposed to.
Example: score without pillars
Where a company has no pillar breakdown, the three pillar keys are null and the response carries the overall score and the industry benchmark only.
{
"veridion_id": "abc-123",
"status": "complete",
"active_processing_session": null,
"last_computed_at": "2026-02-15T10:30:00.000Z",
"result": {
"overall": {
"score": 48,
"description": "No ESG-specific disclosures or media coverage were identified for this company. The assessment reflects its industry and business profile: metal fabrication carries moderate environmental exposure through energy use and waste handling, alongside workforce safety risk typical of the sector...",
"justification": "The score is grounded in the company's industry and business profile rather than in observed ESG activity. It sits marginally below the industry average, reflecting the absence of identified certifications or published policies rather than evidence of poor performance."
},
"industry": {
"average": 52,
"average_justification": "Fabricated metal product manufacturing carries moderate ESG risk, driven by energy intensity, waste and effluent handling, and workplace safety exposure...",
"quartile": "Third (50-75%)",
"quartile_justification": "With a score of 48 against an industry average of 52, the company sits modestly below the sector norm..."
},
"environmental": null,
"social": null,
"governance": null
}
}Example: score being computed
{
"veridion_id": "abc-123",
"status": "processing",
"active_processing_session": "0c5b4e7a-1d52-4a4f-9c3c-1e0e5e8f1a2b",
"last_computed_at": null,
"result": null
}Error responses
Standard HTTP error responses are detailed in the Response codes section.
Any error response follows a specific structure. Please see the Error response format section for more details.

