AIDEVELOPER TOOLS

Export Compliance Screening

Export compliance screening gives trade compliance teams, legal counsel, and defense contractors a structured risk verdict — APPROVED, LICENSE_REQUIRED, ENHANCED_REVIEW, or DENIED — on any entity, technology, or trade corridor in minutes. The actor queries seven live data sources in parallel: OFAC sanctions, OpenSanctions international databases, USPTO patent records, UN COMTRADE trade flows, the Federal Register, and Congress bill tracking. Any OFAC match triggers an automatic DENIED verdict wi

Try on Apify Store
$0.40per event
0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.40
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

analysis-runs
Estimated cost:$40.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
analysis-runFull intelligence analysis run$0.40

Example: 100 events = $40.00 · 1,000 events = $400.00

Documentation

Export compliance screening gives trade compliance teams, legal counsel, and defense contractors a structured risk verdict — APPROVED, LICENSE_REQUIRED, ENHANCED_REVIEW, or DENIED — on any entity, technology, or trade corridor in minutes. The actor queries seven live data sources in parallel: OFAC sanctions, OpenSanctions international databases, USPTO patent records, UN COMTRADE trade flows, the Federal Register, and Congress bill tracking. Any OFAC match triggers an automatic DENIED verdict with no human review required.

The engine applies four independent scoring models — transaction risk, dual-use technology classification, diversion route detection, and regulatory change velocity — then combines them into a weighted composite score (0–100). Results include every risk signal, a list of required compliance actions, hard blockers, and up to 120 raw records from the underlying data sources for audit documentation. No code is required to run a screening.

What data can you extract?

Data PointSourceExample
📊 Composite scoreAll models72
⚖️ Compliance verdictScoring engineDENIED
🔴 OFAC SDN hitsOFAC Sanctions Search2 matches — Pinnacle Export Ltd
🌐 International sanctions hitsOpenSanctions4 matches — EU, UN, UK lists
🔬 Dual-use classification levelPatent analysisCONTROLLED
🗂️ CCL technology categoriesPatent corpusCat 3 — Electronics, Cat 5 — Information Security
🚢 Trade diversion levelUN COMTRADESUSPICIOUS
🔀 Transshipment hub flagsCOMTRADE trade flows5 flows via UAE, Malaysia, Singapore
⚠️ Destination country riskREST CountriesEntity List concern country: China
📋 Required compliance actionsScoring engineBIS export license required before shipment
🚫 Hard blockersScoring engineOFAC sanctions match — automatic DENIED
📰 Regulatory change levelFederal Register + CongressHIGH — 4 final rules, 6 bills in Congress
📁 Raw source recordsAll 7 sub-actorsUp to 120 records for audit documentation
🕐 Screening timestampSystem2026-03-20T14:22:05.000Z

Why use Export Compliance Screening?

Manual export compliance screening means opening six or more browser tabs, cross-referencing OFAC's SDN list by hand, searching the BIS Entity List separately, checking the Federal Register for recent rule changes, and trying to piece together a risk picture across disconnected sources. For a single transaction that process takes 2–4 hours. For a batch of 20 deals closing at quarter-end, you are looking at a full week of analyst time.

This actor automates the entire pre-shipment screening workflow. It hits all seven sources simultaneously, applies four calibrated scoring models, and returns a single actionable verdict with the supporting evidence in under three minutes per entity. Compliance teams use it for pre-shipment due diligence. Legal teams use the raw source records for audit files. Trade operations teams schedule it to run nightly on their active customer list.

  • Scheduling — run nightly or weekly on your full customer or supplier list to catch newly added sanctions designations the moment they appear
  • API access — trigger screenings from your ERP, CRM, or TMS system via Python, JavaScript, or any HTTP client
  • Proxy rotation — Apify's built-in proxy infrastructure ensures reliable data access at scale without IP-based throttling
  • Monitoring — get Slack or email alerts when a run fails or a verdict changes from APPROVED to DENIED on a previously cleared entity
  • Integrations — push DENIED verdicts directly to Zapier, Make, HubSpot, or webhooks to trigger hold workflows in your trade management system

Features

  • OFAC SDN automatic block — any match against the Specially Designated Nationals list sets riskLevel to BLOCKED and overrides the composite score with a DENIED verdict; no manual review required
  • OpenSanctions international coverage — screens against EU Consolidated Sanctions, UN Security Council designations, UK sanctions, and dozens of additional national lists, scoring 8 risk points per match (max 25 points)
  • Ten-category CCL dual-use classification — patent titles and abstracts are scanned against 30+ keyword patterns mapped to all 10 Commerce Control List categories (Cat 0: Nuclear through Cat 9: Aerospace/Propulsion), including encryption, laser/lidar, guidance systems, biological materials, advanced semiconductors, and high-performance computing
  • Critical technology escalation — nuclear, aerospace propulsion, and biological materials patents trigger automatic score bonuses and critical signals beyond the base keyword scoring
  • Diversion route detection across 9 transshipment hubs — flags trade flows routed through UAE, Malaysia, Singapore, Hong Kong, Turkey, Georgia, Armenia, Kyrgyzstan, and Uzbekistan, all countries identified by BIS as common diversion intermediaries
  • Unit-price anomaly detection — COMTRADE trade flows where unit price exceeds $100,000 or falls below $0.01 are flagged as potential commodity misclassification, a primary diversion indicator
  • Partner diversity layering detection — trade networks spanning 8+ destination countries trigger a complex-distribution-network signal, indicating potential sanctions evasion through layered transactions
  • Federal Register rule velocity tracking — counts proposed rules and final rules related to the entity or technology and scores regulatory change pressure (max 40 points), with separate signals for tightening vs. incoming restrictions
  • Congressional bill tracking — monitors export control legislation in Congress, with score bonuses for bills that have advanced to passed or enrolled status
  • Weighted composite model — transaction risk 35%, dual-use classification 25%, diversion routes 25%, regulatory change 15% — calibrated to weight OFAC and sanctions risk most heavily
  • Structured required actions — each risk trigger maps to a plain-English compliance action (e.g., "BIS export license required before shipment", "Conduct end-use verification and site visit")
  • Parallel sub-actor execution — all 7 data sources run concurrently with Promise.allSettled, so a single slow source never blocks the full report

Use cases for export compliance screening

Trade compliance pre-shipment screening

Export compliance officers screen every outbound deal against sanctions lists before release. Manual SDN lookups catch obvious hits but miss international sanctions, Entity List nuances, and diversion risk patterns. This actor replaces the manual checklist with a scored verdict and a complete evidence package — transaction risk, technology classification, and trade route analysis — in under three minutes per deal, at a fraction of the cost of enterprise screening platforms.

Defense contractor technology classification

Defense manufacturers and their subcontractors need to know whether a product falls under EAR or ITAR before they can quote international customers. The dual-use classification model analyzes the entity's patent portfolio against all 10 CCL categories and flags critical categories (nuclear, propulsion, biological) with explicit signals. Compliance teams use the output to decide whether a commodity jurisdiction request or BIS advisory opinion is needed before proceeding.

Freight forwarder end-user screening

Freight forwarders are legally required to perform due diligence on shippers, consignees, and end-users before accepting controlled cargo. This actor screens the end-user entity against OFAC and international sanctions in seconds, checks the destination country's risk tier, and flags transshipment hub routing patterns that indicate the stated destination may not be the actual end-use location.

Legal counsel audit documentation

Trade counsel building compliance files for BIS audits or internal investigations need documented evidence that screening was performed. The actor's raw data output includes up to 120 records from seven live sources — OFAC result sets, sanctions database responses, patent records, COMTRADE flows, Federal Register citations, and Congressional bill tracking — all timestamped and structured for inclusion in audit packages.

Regulatory intelligence monitoring

Trade compliance programs must update their Internal Compliance Programs (ICPs) when export control regulations change. The regulatory change model tracks Federal Register proposed and final rules alongside Congressional bills related to the entity's technology sector. A HIGH or CRITICAL regulatory change score is an early warning signal that your existing licenses or compliance procedures may need review.

Sanctions evasion investigation

Investigators and financial crime teams screening entities for potential sanctions evasion can use the diversion route model to identify suspicious trade patterns — transshipment hub clustering, unit price anomalies indicating commodity misclassification, and partner diversity patterns consistent with layering. The model scores these signals on the same 0–100 scale as sanctions hits, giving investigators a single prioritized queue.

How to screen an entity for export compliance

  1. Enter the entity name — type the company name, individual name, or organization you want to screen in the "Entity Name" field (e.g., "Pinnacle Advanced Systems"). This is the only required field.
  2. Optionally add technology and destination — enter the product or technology being exported (e.g., "fiber optic communications equipment") and the destination country (e.g., "United Arab Emirates"). These unlock dual-use classification and country risk scoring.
  3. Click Start and wait 2–4 minutes — the actor calls all seven data sources in parallel. Most runs complete in under three minutes.
  4. Download your compliance report — go to the Dataset tab and export as JSON, CSV, or Excel. The verdict, composite score, all signals, required actions, and raw source records are all in the same record.

Input parameters

ParameterTypeRequiredDefaultDescription
entityNamestringYesEntity, company, or individual to screen. Sent as the query to OFAC, OpenSanctions, Federal Register, and Congress bill sub-actors. Example: "Huawei Technologies"
technologystringNonullTechnology, product, or commodity being exported. Used for dual-use patent classification and COMTRADE trade flow queries. Example: "semiconductor lithography"
destinationCountrystringNonullDestination country name or ISO 2-letter code. Triggers country risk analysis against sanctioned, arms-embargo, and Entity List countries. Example: "China" or "CN"

Input examples

Standard pre-shipment screening:

{
  "entityName": "Pinnacle Advanced Systems GmbH",
  "technology": "fiber optic communications equipment",
  "destinationCountry": "Iran"
}

Technology classification only (no destination):

{
  "entityName": "Solaris Aerospace Ltd",
  "technology": "inertial navigation guidance system"
}

Entity-only sanctions check (fastest run):

{
  "entityName": "Meridian Trading Co"
}

Input tips

  • Always provide technology when it exists — the patent analysis is the richest signal for dual-use classification and adds significant accuracy to the composite score, even if the destination is domestic.
  • Use the ISO country code for destination — codes like "CN", "IR", "AE" are more reliable than full country names when the country has multiple English spellings.
  • Run entity-only first, then add technology — if you need a fast sanctions-only check, omit technology and destination. Add them for the full compliance picture when a deal progresses.
  • Batch through the API for multiple entities — processing 50 transactions via the API in sequence is more efficient than manually submitting them through the UI one at a time.
  • Save the rawData block for your audit file — the raw OFAC, sanctions, patent, and COMTRADE records are included in the output and can be attached directly to a transaction compliance record.

Output example

{
  "entity": "Pinnacle Advanced Systems GmbH",
  "technology": "fiber optic communications equipment",
  "destinationCountry": "Iran",
  "compositeScore": 78,
  "verdict": "DENIED",
  "transactionRisk": {
    "score": 85,
    "ofacHits": 1,
    "sanctionsHits": 3,
    "countryRiskFlags": 10,
    "riskLevel": "BLOCKED",
    "signals": [
      "OFAC MATCH: 1 hit(s) — BLOCKED, transaction prohibited",
      "3 international sanctions matches — enhanced screening required",
      "Sanctioned country detected: Iran"
    ]
  },
  "dualUseClassification": {
    "score": 44,
    "patentCount": 18,
    "sensitivePatents": 6,
    "technologyCategories": [
      "Cat 5 — Information Security",
      "Cat 6 — Sensors & Lasers"
    ],
    "classificationLevel": "DUAL_USE",
    "signals": [
      "6 patents with dual-use technology indicators",
      "Technology spans 2 CCL categories: Cat 5 — Information Security, Cat 6 — Sensors & Lasers"
    ]
  },
  "diversionRoute": {
    "score": 30,
    "tradeAnomalies": 1,
    "sanctionedDestinations": 1,
    "transshipmentFlags": 2,
    "diversionLevel": "WATCH",
    "signals": [
      "Trade flow to sanctioned country: ir",
      "1 trade flows with suspicious unit pricing — potential misclassification"
    ]
  },
  "regulatoryChange": {
    "score": 42,
    "totalRegulations": 7,
    "proposedRules": 3,
    "finalRules": 3,
    "congressBills": 4,
    "changeLevel": "MODERATE",
    "signals": [
      "3 final rules — export control framework tightening"
    ]
  },
  "allSignals": [
    "OFAC MATCH: 1 hit(s) — BLOCKED, transaction prohibited",
    "3 international sanctions matches — enhanced screening required",
    "Sanctioned country detected: Iran",
    "6 patents with dual-use technology indicators",
    "Technology spans 2 CCL categories: Cat 5 — Information Security, Cat 6 — Sensors & Lasers",
    "Trade flow to sanctioned country: ir",
    "3 final rules — export control framework tightening"
  ],
  "requiredActions": [
    "OFAC match — all exports prohibited",
    "BIS export license required before shipment",
    "Enhanced due diligence on all transaction parties"
  ],
  "blockers": [
    "OFAC sanctions match — automatic DENIED",
    "Trade flows to sanctioned destinations detected"
  ],
  "rawData": {
    "ofacResults": [ { "name": "Pinnacle Advanced Systems GmbH", "list": "SDN", "score": 0.94 } ],
    "sanctionsResults": [ { "caption": "Pinnacle Advanced Systems GmbH", "schema": "Company", "datasets": ["eu_fsf", "un_sc_sanctions"] } ],
    "patentResults": [ { "patent_title": "High-sensitivity optical fiber sensing system", "abstract": "Laser-based fiber optic sensor for infrared detection..." } ],
    "comtradeResults": [ { "partner": "Iran", "trade_value": "840000", "quantity": "4", "commodity": "optical fiber cable" } ],
    "federalRegisterResults": [ { "title": "Export Controls on Optical Communications Equipment", "type": "Final Rule", "agency": "BIS" } ],
    "congressBillResults": [ { "bill_title": "Fiber Optics Export Restriction Act", "status": "Passed House" } ],
    "countryResults": [ { "name": { "common": "Iran" }, "cca2": "IR", "region": "Asia" } ]
  },
  "screenedAt": "2026-03-20T14:22:05.000Z"
}

Output fields

FieldTypeDescription
entitystringEntity name as provided in input
technologystring | nullTechnology string as provided, or null
destinationCountrystring | nullDestination country as provided, or null
compositeScorenumberWeighted composite risk score 0–100 (transaction 35%, dual-use 25%, diversion 25%, regulatory 15%)
verdictstringFinal compliance verdict: APPROVED, LICENSE_REQUIRED, ENHANCED_REVIEW, or DENIED
transactionRisk.scorenumberTransaction risk sub-score 0–100
transactionRisk.ofacHitsnumberNumber of OFAC SDN list matches
transactionRisk.sanctionsHitsnumberNumber of international sanctions database matches
transactionRisk.countryRiskFlagsnumberAggregate country risk flag score
transactionRisk.riskLevelstringCLEAR, LOW, MODERATE, HIGH, or BLOCKED
transactionRisk.signalsstring[]Human-readable signals from transaction risk analysis
dualUseClassification.scorenumberDual-use technology sub-score 0–100
dualUseClassification.patentCountnumberTotal patents analyzed
dualUseClassification.sensitivePatentsnumberPatents matching CCL-relevant keyword patterns
dualUseClassification.technologyCategoriesstring[]CCL categories detected (e.g., "Cat 5 — Information Security")
dualUseClassification.classificationLevelstringUNRESTRICTED, COMMERCIAL, DUAL_USE, CONTROLLED, or MILITARY
dualUseClassification.signalsstring[]Human-readable signals from technology analysis
diversionRoute.scorenumberTrade diversion risk sub-score 0–100
diversionRoute.tradeAnomaliesnumberNumber of unit-price anomalies in COMTRADE data
diversionRoute.sanctionedDestinationsnumberNumber of trade flows to sanctioned countries
diversionRoute.transshipmentFlagsnumberNumber of flows through known transshipment hubs
diversionRoute.diversionLevelstringNORMAL, WATCH, SUSPICIOUS, LIKELY_DIVERSION, or CONFIRMED_DIVERSION
diversionRoute.signalsstring[]Human-readable signals from diversion analysis
regulatoryChange.scorenumberRegulatory change velocity sub-score 0–100
regulatoryChange.totalRegulationsnumberTotal Federal Register documents found
regulatoryChange.proposedRulesnumberCount of proposed rule documents
regulatoryChange.finalRulesnumberCount of final rule documents
regulatoryChange.congressBillsnumberCount of Congressional bills found
regulatoryChange.changeLevelstringSTATIC, LOW, MODERATE, HIGH, or CRITICAL
regulatoryChange.signalsstring[]Human-readable signals from regulatory analysis
allSignalsstring[]Concatenated signals from all four scoring models
requiredActionsstring[]Specific compliance actions required based on findings
blockersstring[]Hard blocking conditions that trigger automatic DENIED verdict
rawData.ofacResultsobject[]Up to 20 raw OFAC screening records
rawData.sanctionsResultsobject[]Up to 20 raw OpenSanctions records
rawData.patentResultsobject[]Up to 20 raw patent records
rawData.comtradeResultsobject[]Up to 25 raw UN COMTRADE trade flow records
rawData.federalRegisterResultsobject[]Up to 20 raw Federal Register records
rawData.congressBillResultsobject[]Up to 15 raw Congressional bill records
rawData.countryResultsobject[]Up to 5 raw country data records
screenedAtstringISO 8601 timestamp of when the screening ran

How much does it cost to screen an entity for export compliance?

Export Compliance Screening uses pay-per-run pricing — each run consumes Apify platform compute credits. A typical run costs $0.25–$0.60 depending on how much data the seven sub-actors return. Platform compute costs are included.

ScenarioScreeningsEst. cost per runTotal cost
Quick test1$0.25–$0.60$0.25–$0.60
Small batch10~$0.40~$4.00
Medium batch50~$0.40~$20.00
Large batch200~$0.40~$80.00
Enterprise1,000~$0.40~$400/month

Apify's free tier includes $5 of monthly credits — enough for 8–20 screenings at no cost. You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached.

Compare this to enterprise trade compliance platforms like Descartes Visual Compliance or Amber Road at $500–$2,000/month. With Export Compliance Screening, most teams running 50–200 screenings per month spend $20–$80 with no subscription commitment.

Export compliance screening using the API

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("ryanclinton/export-compliance-screening").call(run_input={
    "entityName": "Pinnacle Advanced Systems GmbH",
    "technology": "fiber optic communications equipment",
    "destinationCountry": "UAE"
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"Entity: {item['entity']}")
    print(f"Verdict: {item['verdict']} (score: {item['compositeScore']}/100)")
    print(f"OFAC hits: {item['transactionRisk']['ofacHits']}")
    print(f"Required actions: {item['requiredActions']}")
    print(f"Blockers: {item['blockers']}")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const run = await client.actor("ryanclinton/export-compliance-screening").call({
    entityName: "Pinnacle Advanced Systems GmbH",
    technology: "fiber optic communications equipment",
    destinationCountry: "UAE"
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
    console.log(`${item.entity}: ${item.verdict} (${item.compositeScore}/100)`);
    console.log(`OFAC hits: ${item.transactionRisk.ofacHits}`);
    console.log(`Dual-use level: ${item.dualUseClassification.classificationLevel}`);
    console.log(`Required actions: ${item.requiredActions.join(", ")}`);
}

cURL

# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~export-compliance-screening/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "entityName": "Pinnacle Advanced Systems GmbH",
    "technology": "fiber optic communications equipment",
    "destinationCountry": "UAE"
  }'

# Fetch results (replace DATASET_ID from the run response)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

How Export Compliance Screening works

Phase 1: Parallel data collection across 7 sources

The actor builds a set of 6–7 concurrent API calls depending on whether a destination country is provided. It uses Promise.allSettled to call all sub-actors simultaneously: OFAC Sanctions Search (query: entity name), OpenSanctions Search (query: entity name), Patent Search (query: technology or entity name), UN COMTRADE Search (query: technology or entity name), Federal Register Search (query: entity name + "export control"), Congress Bill Search (query: technology or entity name + "export regulation"), and optionally REST Countries Search (query: destination country). Using Promise.allSettled means a timeout or error on any individual source returns an empty array rather than failing the entire run. Each sub-actor runs with a 256 MB memory limit and a 120-second timeout.

Phase 2: Four independent scoring models

Transaction risk model (35% weight): OFAC matches score 20 points each (max 40), capped to BLOCKED status on any hit. International sanctions matches score 8 points each (max 25). Destination country scores 10 points for fully sanctioned countries (Cuba, Iran, DPRK, Syria, Russia), 5 points for arms embargo countries, and 3 points for Entity List concern countries (China, Russia, Pakistan, UAE, Myanmar). Insufficient data adds a 10-point manual-review penalty.

Dual-use classification model (25% weight): Each patent's title and abstract is scanned against 30 keyword patterns mapped to 10 CCL categories. The sensitive patent ratio (sensitive/total) drives up to 40 base points. Category breadth adds 6 points per CCL category detected (max 25). Critical category bonuses add 10 points for nuclear materials, 10 for biological materials, and 8 for aerospace/propulsion (max 20 combined). Volume scoring adds up to 15 points for large patent portfolios.

Diversion route model (25% weight): COMTRADE trade flows are checked against a 5-country sanctioned list (adds 15 points per flow) and 9 transshipment hubs (adds 5 points per flow, max 25). Unit price outliers — values above $100,000 or below $0.01 per unit — add 5 points each as commodity misclassification signals. Partner diversity beyond 3 destination countries adds 3 points per additional country (max 20). Sanctions entity overlay adds 5 points per match (max 20).

Regulatory change model (15% weight): Federal Register documents score 3 points each plus 5-point bonuses for final rules (max 40). Congressional bills score 3 points each plus 8-point bonuses for bills that have passed or been enacted (max 35). Total document count adds velocity pressure (max 25).

Phase 3: Composite scoring and verdict assignment

The four sub-scores are combined using the weighted formula: compositeScore = round(txRisk × 0.35 + dualUse × 0.25 + diversion × 0.25 + regulatory × 0.15). Verdict thresholds: APPROVED (composite < 20, no dual-use concern), LICENSE_REQUIRED (20–39 or DUAL_USE classification), ENHANCED_REVIEW (40–64 or CONTROLLED classification), DENIED (65+ or OFAC match or LIKELY_DIVERSION/CONFIRMED_DIVERSION). OFAC hits override everything — a single OFAC match sets the verdict to DENIED regardless of the composite score. The engine then maps risk triggers to plain-English required actions and hard blockers for the compliance officer.

Tips for best results

  1. Always provide technology for non-trivial deals. The dual-use classification model contributes 25% of the composite score and produces the richest compliance signal. Without a technology input, patent analysis defaults to searching by entity name, which may return unrelated patents.

  2. Use the destination country field for international shipments. Country risk analysis contributes up to 20 points to the transaction risk sub-score. Omitting the destination field means sanctioned-country detection does not run, potentially under-scoring genuine risk.

  3. Schedule weekly runs on your active customer list. OFAC and OpenSanctions designations happen without notice. A customer who screened CLEAR last month may appear on a new sanctions list today. Use Apify's built-in scheduler to run the actor against your active counterparty list every Monday morning.

  4. Save the rawData block immediately. The raw OFAC, patent, COMTRADE, and Federal Register records are your audit trail. Push them to your document management system or compliance database alongside the verdict and timestamp.

  5. Treat a HIGH or CRITICAL regulatory change score as a compliance program trigger. If regulatoryChange.changeLevel is HIGH or CRITICAL, review your Internal Compliance Program and active BIS licenses against the specific Federal Register rules flagged in the signals array.

  6. Use the API for batch screening at end of quarter. A Python loop over your open opportunities — passing each counterparty name and destination — is faster and cheaper than manual portal lookups. See the API example above.

  7. Cross-reference SUSPICIOUS diversion with the entity list. A SUSPICIOUS or LIKELY_DIVERSION verdict on a destination that is not itself sanctioned (e.g., UAE, Singapore) warrants a manual end-use statement and site visit before shipment per BIS guidelines.

Combine with other Apify actors

ActorHow to combine
OFAC Sanctions SearchRun as a standalone fast-pass sanctions check before triggering a full compliance screening on shortlisted entities
Company Deep ResearchEnrich the entity with corporate structure, ownership, and subsidiary data to identify indirect sanctions exposure before screening
Patent SearchPull a full patent portfolio separately for deeper CCL analysis on entities with large IP holdings
Federal Contract IntelligenceCross-check export compliance results against government contract awards to identify entities with existing BIS relationships
Waterfall Contact EnrichmentAfter a DENIED verdict, enrich the flagged entity's contacts to support reporting obligations or law enforcement referrals
B2B Lead QualifierPre-qualify leads for compliance risk before routing to your sales team, preventing late-stage deal disqualifications
Website Tech Stack DetectorIdentify technology platforms used by the entity to supplement dual-use classification with observable technology indicators

Limitations

  • Patent analysis is indicative, not determinative. The CCL classification is based on keyword matching in patent titles and abstracts. A formal commodity jurisdiction request from BIS or a DDTC determination is required for authoritative classification. This tool identifies when such a determination is needed.
  • OFAC screening is not a real-time SDN search. Results come through the OFAC Sanctions Search sub-actor, which queries the live OFAC API. Response times and rate limits on the underlying API affect result freshness.
  • No ITAR screening. The actor does not query the USML (United States Munitions List) or DDTC's debarred parties list. For defense articles and services, a separate ITAR compliance review is required.
  • No BIS Entity List direct query. Country risk uses a curated set of Entity List concern countries (China, Russia, Pakistan, UAE, Myanmar). It does not query the BIS Entity List by entity name. For Entity List name matching, combine with a dedicated BIS data source.
  • COMTRADE data covers commodity-level trade, not shipment-level. Diversion risk is assessed from commodity trade flow patterns, not individual shipment records. It cannot trace a specific shipment's actual routing.
  • Regulatory change model is volume-based. The model counts Federal Register documents and Congressional bills. It does not parse the full text of each regulation to assess applicability — high document counts in a sector are a signal, not a legal determination.
  • No Denied Persons List screening. The BIS Denied Persons List is separate from OFAC and OpenSanctions. Supplement this actor with a dedicated BIS DPL check for complete screening coverage.
  • Run time varies from 1–5 minutes depending on the number of patents returned and COMTRADE query response times. Large patent portfolios (100+ records) increase scoring time.

Integrations

  • Zapier — trigger a compliance screening automatically when a new deal is created in your CRM, and post the verdict to a Slack channel or create a task if the result is DENIED
  • Make — build multi-step workflows that screen entities, parse the verdict, and update your trade management system or hold shipments pending review
  • Google Sheets — export screening results to a compliance tracking spreadsheet, with verdict, composite score, and required actions in separate columns for easy review
  • Apify API — integrate screening directly into your ERP, TMS, or order management system via REST API to enforce compliance gates before deal approval
  • Webhooks — receive a real-time POST notification when a run completes with a DENIED verdict, enabling automated shipment holds without polling
  • LangChain / LlamaIndex — feed screening reports into RAG pipelines to power compliance chatbots or automated regulatory research tools that can answer questions about specific entities

Troubleshooting

  • Verdict is APPROVED but the entity is known to be on the Entity List. The actor does not query the BIS Entity List by name — it uses country-level Entity List risk flags. For direct BIS Entity List name matching, you need a dedicated BIS data connector. Combine this actor with one to close that gap.

  • Composite score seems low for a high-risk entity. If technology is not provided, the dual-use classification model searches patents by entity name, which may return irrelevant results and undercount sensitive patents. Always provide a technology description for entities you know operate in controlled sectors.

  • Run times out or returns empty results. COMTRADE and patent queries on very broad or common terms can time out. Use specific technology terms rather than generic ones (e.g., "quantum key distribution" rather than "communications"). If a specific sub-actor fails, it returns an empty array rather than failing the whole run — check the console log for which sources returned zero results.

  • rawData fields are empty. If all seven sub-actors return zero results, the composite score will reflect the no-data penalty (10 points toward transaction risk) and signals will flag "Insufficient screening data — manual review required." This typically means the entity name is too vague or the underlying APIs returned no matches — try alternate spellings or the entity's official registered name.

  • Diversion score is high but destination is not sanctioned. The diversion model flags transshipment hub routing (UAE, Singapore, etc.) even when those countries are not sanctioned end-destinations. A SUSPICIOUS diversion score to a non-sanctioned hub means the trade pattern warrants a voluntary end-use statement per BIS best practices, not that the transaction is automatically blocked.

Responsible use

  • This actor queries only publicly available sanctions databases, patent registries, trade statistics, and government regulatory records.
  • Export compliance determinations made using this tool are preliminary risk assessments only. They do not substitute for formal commodity jurisdiction requests, BIS advisory opinions, or DDTC determination letters.
  • Comply with all applicable export control laws including EAR, ITAR, OFAC regulations, and equivalent regulations in your jurisdiction before executing any international transaction.
  • Do not use this tool to screen entities for purposes other than legitimate trade compliance due diligence.
  • For guidance on the legal framework for trade compliance data, see BIS Export Administration Regulations and Apify's web scraping legality guide.

FAQ

How does export compliance screening work for dual-use technology? The actor analyzes patent records for the entity or technology against 30 keyword patterns mapped to all 10 CCL categories under the EAR. Categories include encryption (Cat 5), lasers and sensors (Cat 6), guidance and navigation (Cat 7), aerospace and propulsion (Cat 9), nuclear materials (Cat 0), and biological materials (Cat 1). The resulting classificationLevel (UNRESTRICTED through MILITARY) indicates whether a formal commodity jurisdiction determination or BIS export license may be required.

What export control lists does this actor screen against? The actor screens against OFAC's Specially Designated Nationals list, the OpenSanctions database (which aggregates EU Consolidated Sanctions, UN Security Council designations, UK sanctions, and dozens of national lists), and a curated set of high-risk country codes for sanctioned countries, arms embargo destinations, and Entity List concern countries. It does not directly query the BIS Denied Persons List or Entity List by name.

How accurate is the OFAC screening? OFAC results come from the live OFAC Sanctions Search API, which queries the official SDN list. Match confidence depends on name spelling and the fuzzy matching logic in the underlying API. Exact name matches are highly reliable. Transliterated names or aliases may require manual confirmation of any hit returned.

How many entities can I screen in one run? Each run screens one entity. For batch screening, call the actor multiple times via the API — one call per entity. A Python loop over a list of 50 counterparties takes approximately 2–4 hours total (3 minutes per entity) and costs approximately $20.

How is this different from enterprise trade compliance platforms like Descartes or Amber Road? Enterprise platforms provide direct integration with your ERP, a GUI for compliance officers, and dedicated customer support. This actor provides the same underlying data (OFAC, OpenSanctions, Federal Register, patent records, COMTRADE trade flows) through a structured API at a fraction of the cost — typically $20–$80/month versus $500–$2,000/month. It is ideal for teams that need programmatic compliance checks in their pipeline without a full platform subscription.

Does a DENIED verdict mean the transaction is illegal? A DENIED verdict means the actor's scoring models found conditions that require attention — either an OFAC match (which does make the transaction legally prohibited under U.S. law), a high composite risk score (which requires enhanced review or licensing), or a likely diversion pattern (which requires end-use verification). Only an OFAC match is a legal blocker. All other DENIED conditions are compliance risk flags requiring human review and formal determination.

Can I schedule export compliance screening to run automatically? Yes. Use Apify's built-in scheduler to run the actor on a defined interval — daily, weekly, or monthly. This is the recommended approach for ongoing monitoring of an active customer or supplier list, as sanctions designations and Entity List additions happen without advance notice.

Is it legal to use this actor for trade compliance screening? Yes. The actor queries only publicly available government databases: OFAC's official SDN API, OpenSanctions (which aggregates public government sanctions lists), the USPTO patent database, UN COMTRADE trade statistics, the Federal Register, and Congress.gov. All are public government data sources specifically intended for trade compliance use. See Apify's guide on web scraping legality for general guidance.

What happens if one of the data sources is unavailable during a run? The actor uses Promise.allSettled for parallel execution, so a failure in any single sub-actor returns an empty array rather than failing the entire run. The affected dimension will show zero results and the scoring model will fall back to a no-data penalty signal. The other three models continue normally. Check the console log of your run to see which sub-actors returned data.

How long does a typical export compliance screening run take? Most runs complete in 2–4 minutes. The main variable is how many patent and COMTRADE records the sub-actors return — large result sets take longer to fetch and score. Entity-only runs (no technology or destination) typically complete in under 2 minutes.

Can I use export compliance screening results in legal filings or BIS audit responses? The raw data records in rawData — OFAC API responses, OpenSanctions records, Federal Register citations, patent records — are from authoritative government sources and can be included as supporting documentation in compliance files. The composite score and verdict are analytical outputs from this tool, not official government determinations. Always accompany them with the underlying raw records and a note that formal determinations must be obtained from BIS or DDTC.

How do I interpret a SUSPICIOUS diversion verdict when shipping to a legitimate intermediary? A SUSPICIOUS diversion score (40–59) to a hub country like UAE or Singapore means the trade pattern matches characteristics BIS associates with diversion risk, not that diversion is confirmed. The recommended response is to obtain a voluntary end-use statement from the importer, verify the stated end-use matches the commodity, and document both in your compliance file before shipment.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions, bulk licensing, or enterprise integrations, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Export Compliance Screening?

Start for free on Apify. No credit card required.

Open on Apify Store