# U.S. Export Transaction Screening (`tryva/export-transaction-risk-api`) Actor

Screen buyers, sellers, consignees, and end users against the official U.S. Consolidated Screening List with explainable multi-field matching.

- **URL**: https://apify.com/tryva/export-transaction-risk-api.md
- **Developed by:** [smile flow](https://apify.com/tryva) (community)
- **Categories:**
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 party screenings

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## U.S. Export Transaction Restricted-Party Screening API

A small B2B API that screens every named party in an export transaction against the official U.S. Consolidated Screening List (CSL) and returns explainable candidate matches for human review.

### Core rule

The API never returns LEGAL, ILLEGAL, APPROVED, DENIED, or CLEAR.

It returns only:

- NO\_LIST\_MATCH — no actionable candidate match was found in the synchronized CSL data.
- REVIEW — evidence is sufficiently similar to require human review.
- POTENTIAL\_MATCH — strong evidence of a possible CSL identity match; human review is required.

### V1 endpoints

- POST /v1/party/screen
- POST /v1/transaction/screen — primary commercial endpoint
- POST /v1/transaction/batch
- GET /v1/lists/status
- GET /health

### Example request

```
{
  "transaction_id": "TX-9472",
  "destination_country": "AE",
  "parties": [
    {
      "name": "Example Industrial Trading LLC",
      "role": "consignee",
      "country": "AE",
      "address": "12 Example Road",
      "city": "Dubai"
    }
  ]
}
```

The engine separates primary-name similarity, alias similarity, address similarity, country consistency, identifier matches, and entity-type consistency. The API exposes these signals rather than hiding them inside a single opaque risk score.

### Dataset synchronization

scripts/sync\_csl.py downloads the official machine-readable CSL feed and creates a compact local dataset. A GitHub Actions workflow refreshes it daily. The API therefore has near-zero marginal data cost per screening and does not depend on an LLM.

Official source: https://www.trade.gov/consolidated-screening-list

### Important limitations

This is a restricted-party screening aid, not legal advice or a transaction authorization system. NO\_LIST\_MATCH is not a compliance clearance. V1 does not evaluate beneficial ownership or OFAC's 50 Percent Rule, ECCN/classification, end-use, licensing, or non-U.S. sanctions lists. Potential matches require additional due diligence against authoritative source lists and applicable regulations.

### Required ITA attribution

> This product uses the International Trade Administration’s Data API but is not endorsed or certified by the International Trade Administration.

### Local development

```
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
python scripts/sync_csl.py
uvicorn app.main:app --reload
```

Run tests:

```
pytest -q
```

# Actor input Schema

## Actor input object example

```json
{}
```

# Actor output Schema

# 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("tryva/export-transaction-risk-api").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("tryva/export-transaction-risk-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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 tryva/export-transaction-risk-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tryva/export-transaction-risk-api"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7KXIs6nIc96RZPDCH/builds/xIFr2HUdOWxnrknOd/openapi.json
