# UN Sanctions Checker - Free Security Council Screening API (`ntriqpro/un-sanctions-checker`) Actor

Free API for UN sanctions checking and compliance screening. No subscription. Check names against UN Security Council consolidated list. Essential for global AML programs. Government data, pay-per-use.

- **URL**: https://apify.com/ntriqpro/un-sanctions-checker.md
- **Developed by:** [daehwan kim](https://apify.com/ntriqpro) (community)
- **Categories:** AI, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$100.00 / 1,000 charged when an esg compliance scan is successfulls

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

ESG risk scoring powered entirely by free government data — EPA ECHO violations, OSHA workplace safety records, and SEC EDGAR governance data. A practical alternative to MSCI ESG ($20K–$100K/yr) for teams that need factual, source-cited compliance data at $0.05 per query.

### What does ESG Compliance Intelligence do?

ESG Compliance Intelligence assembles an Environmental, Social, and Governance risk profile for US companies by querying three public regulatory databases in parallel. The Environmental score (weighted 40%) is derived from EPA ECHO facility compliance records — non-compliance quarters, formal enforcement actions, Clean Air Act and Clean Water Act violations, and assessed penalties. The Social score (weighted 30%) comes from OSHA inspection records, counting serious violations, willful violations, workplace fatalities, and total penalties. The Governance score (weighted 30%) is calculated from SEC EDGAR XBRL financial data — revenue scale, profitability, and reporting depth.

The composite ESG score (0–100) is output alongside the individual component scores, risk flags, and the raw data that produced each number. Every score is traceable to a specific regulatory data point: there is no black-box modeling.

Five modes give you control over scope. Run a composite ESG score with all three dimensions, isolate EPA ECHO environmental violations for a company or facility cluster, review OSHA inspection history for workplace safety due diligence, benchmark a whole industry sector using SIC or NAICS codes, or run the full ESG overview dashboard that combines all sources and highlights critical risk flags.

#### Key features

- **Composite ESG score 0–100** — Environmental 40%, Social 30%, Governance 30% with configurable state filter
- **EPA ECHO integration** — queries the EPA's ECHO multi-program facility search for CAA, CWA, and RCRA violations, non-compliance quarters, and formal enforcement actions
- **OSHA enforcement data** — pulls DOL OSHA inspection records including serious violations, willful violations, fatalities, hospitalizations, and assessed penalties
- **SEC EDGAR XBRL governance** — extracts revenue, net income, and total assets from SEC company-facts API; penalizes negative net income
- **Industry benchmark mode** — aggregate EPA violation data by SIC or NAICS code for peer comparison across a sector
- **Risk flag system** — automatically surfaces critical issues (willful OSHA violations, workplace fatalities, high EPA non-compliance quarters, missing SEC filings)
- **State-level filtering** — narrow EPA and OSHA searches to a specific US state for regional compliance analysis
- **No API key required** — EPA ECHO, OSHA enforcement API, and SEC EDGAR are all open and free
- **Traceable scoring** — every score component links back to specific regulatory records, not proprietary models
- **Pay-per-event pricing** — charged only on successful result delivery

### Use cases

- **ESG-focused investors**: Screen portfolio companies or acquisition targets for environmental violations and workplace safety records before investment decisions
- **Institutional asset managers**: Run bulk ESG compliance checks on holdings to satisfy regulatory reporting requirements (SFDR, TCFD)
- **Procurement and supply chain teams**: Evaluate supplier ESG compliance using verifiable regulatory data before onboarding
- **Corporate sustainability teams**: Benchmark your own company's EPA and OSHA record against industry peers using the benchmark mode
- **Law firms and consultants**: Pull factual regulatory violation history as supporting evidence in ESG advisory engagements
- **Journalists and researchers**: Access structured EPA penalty and OSHA violation data for investigative reporting or academic research

### How to use ESG Compliance Intelligence

1. **Configure input** — Select a mode, then provide a company name (e.g., `ExxonMobil`, `Ford Motor`) and an optional 2-letter state code to narrow results. For industry benchmark mode, provide a SIC or NAICS code instead of a company name.
2. **Run the Actor** — Click "Start" in Apify Console or call via the Apify API
3. **Get structured results** — Output is pushed to the Apify dataset as structured JSON

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `mode` | string | Yes | `esg_overview` | Analysis mode: `company_esg_score`, `environmental_violations`, `workplace_safety`, `industry_benchmark`, or `esg_overview` |
| `company` | string | No | `ExxonMobil` | Company name to search. Used in all modes except `industry_benchmark` |
| `state` | string | No | — | 2-letter US state code to filter results (e.g., `TX`, `CA`). Leave empty for nationwide |
| `industryCode` | string | No | — | SIC or NAICS code for `industry_benchmark` mode (e.g., `2911` for petroleum refining) |
| `limit` | integer | No | `20` | Maximum number of facilities or violations to return (1–100) |

### Output example

```json
{
  "mode": "company_esg_score",
  "company": "ExxonMobil",
  "esgScore": {
    "composite": 41.3,
    "riskTier": "medium",
    "riskLabel": "Medium Risk",
    "dataCompleteness": "100%",
    "interpretation": {
      "40-59": "Medium Risk — notable violations or compliance gaps"
    }
  },
  "componentScores": {
    "environmental": {
      "score": 34.5,
      "weight": "40%",
      "details": {
        "facilitiesAnalyzed": 18,
        "nonCompliantFacilities": 11,
        "totalNcQuarters": 87,
        "totalCaaFormalActions": 9,
        "totalCwaExceedanceQuarters": 14,
        "totalCaaPenaltiesUsd": 4200000,
        "avgNcQuartersPerFacility": 4.8
      }
    },
    "social": {
      "score": 52.0,
      "weight": "30%",
      "details": {
        "inspectionsAnalyzed": 34,
        "totalViolations": 127,
        "seriousViolations": 41,
        "willfulViolations": 2,
        "fatalitiesCount": 1,
        "hospitalizationsCount": 3,
        "totalOshaPenaltiesUsd": 318000
      }
    },
    "governance": {
      "score": 85.0,
      "weight": "30%",
      "details": {
        "hasSECFiling": true,
        "cik": "0000034088",
        "latestRevenueUsd": 398675000000,
        "latestNetIncomeUsd": 36010000000,
        "xbrlConceptsReported": 312
      }
    }
  },
  "riskFlags": [
    {
      "type": "willful_osha_violations",
      "severity": "critical",
      "message": "2 willful OSHA violations"
    },
    {
      "type": "workplace_fatalities",
      "severity": "critical",
      "message": "1 workplace fatality in OSHA data"
    },
    {
      "type": "high_formal_actions",
      "severity": "high",
      "message": "9 EPA formal enforcement actions"
    }
  ],
  "dataSources": [
    "EPA ECHO Multi-Program Facility Search (GEOJSOND)",
    "DOL OSHA Enforcement Data",
    "SEC EDGAR XBRL Company Facts"
  ],
  "timestamp": "2026-03-21T10:00:00.000Z"
}
````

### Pricing

Each successful analysis costs **$0.05** under Apify's pay-per-event model. You only pay when results are successfully pushed to the dataset. Failed runs are not charged. [Learn more about pay-per-event pricing](https://docs.apify.com/platform/actors/running/pay-per-event).

Running 500 ESG company scans costs $25 — compared to MSCI ESG data licenses starting at $20,000–$100,000 per year.

### API and integrations

Call this Actor via the [Apify API](https://docs.apify.com/api/v2), schedule quarterly ESG re-screens across a portfolio, or pipe results into Google Sheets or Airtable via Zapier or Make. Results are available as JSON, CSV, or Excel from the Apify dataset.

### Limitations

- Environmental and social data covers US facilities only. EPA ECHO and OSHA enforcement data do not include international operations.
- Governance scoring is based on SEC EDGAR filings and applies only to US public companies. Private companies and non-US companies will return no governance score.
- Company name matching in EPA ECHO and OSHA is string-based and may not capture all subsidiary facilities under a parent company's name.

# Actor input Schema

## `mode` (type: `string`):

Select the type of ESG analysis to run

## `company` (type: `string`):

Company name to search (e.g., 'ExxonMobil', 'Ford Motor', 'Amazon'). Used in all modes except industry\_benchmark.

## `state` (type: `string`):

Optional 2-letter US state code to filter results (e.g., 'TX', 'CA', 'NY'). Leave empty for nationwide search.

## `industryCode` (type: `string`):

SIC or NAICS code for industry\_benchmark mode (e.g., '2911' for petroleum refining, '3711' for motor vehicles). Required for industry\_benchmark mode.

## `limit` (type: `integer`):

Maximum number of facilities/violations to return.

## Actor input object example

```json
{
  "mode": "esg_overview",
  "company": "ExxonMobil",
  "limit": 20
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("ntriqpro/un-sanctions-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("ntriqpro/un-sanctions-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call ntriqpro/un-sanctions-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ntriqpro/un-sanctions-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UN Sanctions Checker - Free Security Council Screening API",
        "description": "Free API for UN sanctions checking and compliance screening. No subscription. Check names against UN Security Council consolidated list. Essential for global AML programs. Government data, pay-per-use.",
        "version": "1.0",
        "x-build-id": "Qr1xWTbAzhg0810Rb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ntriqpro~un-sanctions-checker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ntriqpro-un-sanctions-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ntriqpro~un-sanctions-checker/runs": {
            "post": {
                "operationId": "runs-sync-ntriqpro-un-sanctions-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ntriqpro~un-sanctions-checker/run-sync": {
            "post": {
                "operationId": "run-sync-ntriqpro-un-sanctions-checker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Analysis Mode",
                        "enum": [
                            "company_esg_score",
                            "environmental_violations",
                            "workplace_safety",
                            "industry_benchmark",
                            "esg_overview"
                        ],
                        "type": "string",
                        "description": "Select the type of ESG analysis to run",
                        "default": "esg_overview"
                    },
                    "company": {
                        "title": "Company Name",
                        "type": "string",
                        "description": "Company name to search (e.g., 'ExxonMobil', 'Ford Motor', 'Amazon'). Used in all modes except industry_benchmark.",
                        "default": "ExxonMobil"
                    },
                    "state": {
                        "title": "State Filter",
                        "type": "string",
                        "description": "Optional 2-letter US state code to filter results (e.g., 'TX', 'CA', 'NY'). Leave empty for nationwide search."
                    },
                    "industryCode": {
                        "title": "Industry Code (SIC or NAICS)",
                        "type": "string",
                        "description": "SIC or NAICS code for industry_benchmark mode (e.g., '2911' for petroleum refining, '3711' for motor vehicles). Required for industry_benchmark mode."
                    },
                    "limit": {
                        "title": "Result Limit",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of facilities/violations to return.",
                        "default": 20
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
