US Import Risk Screening
UFLPA and AD/CVD risk screening assembled from federal trade-enforcement sources.
The problem
Importers and customs brokers face real, current enforcement risk on two separate fronts: U.S. Customs and Border Protection denies entry to shipments under the Uyghur Forced Labor Prevention Act (UFLPA) when a supplier or manufacturer appears on the UFLPA Entity List, and antidumping/countervailing duty (AD/CVD) orders can apply to a shipment based on its HTS classification and country of origin — sometimes retroactively, turning a profitable shipment into a loss. Checking this today means visiting the DHS UFLPA Entity List, a separate denied-party screening list, and AD/CVD case data independently, by hand, for every new supplier or SKU.
Who it's for
Customs brokers, import compliance teams, and logistics/trade software builders who need to check a shipment or supplier against forced-labor, denied-party, and AD/CVD exposure before goods move.
Use cases
- Pre-shipment screening of a new supplier or manufacturer before placing a purchase order
- Checking whether a specific HTS code and country of origin combination carries active AD/CVD exposure
- Batch screening a supplier list during onboarding or a periodic compliance review
- Embedding automated risk screening into a customs brokerage or logistics platform
What it does
Send an HTS number, country of origin, and optionally a supplier or manufacturer name, and get back a UFLPA Entity List match, a Consolidated Screening List (denied-party) match, and any AD/CVD case exposure for that HTS/country combination — plus a deterministic overall exposure rating (none / low / elevated / high). A batch endpoint screens up to 50 suppliers or parties in one call. Standalone lookup endpoints are also available for a direct UFLPA name search or an AD/CVD case check by HTS and country alone.
Why Aervik's implementation is different
Exposure scoring is a fixed, deterministic calculation over each source's status — never an AI judgment call — so the same inputs always produce the same risk rating. Every response discloses, per source, whether that section reflects a real, currently-wired government data call or a placeholder awaiting a data-source credential, so you can tell the difference between "checked and clear" and "not yet checked" before you rely on it.
Example
Request
POST /screen/shipment
{
"hts": "7317.00.10",
"country_of_origin": "China",
"supplier_name": "Example Textile Manufacturing Co., Ltd."
}
Response
{
"input": { "hts": "7317.00.10", "country_of_origin": "China", "supplier_name": "..." },
"uflpa": { "status": "no_match", "matches": [], "source": { "basis": "live" } },
"csl": { "status": "no_match", "matches": [], "source": { "basis": "live" } },
"adcvd": { "status": "no_match", "cases": [], "source": { "basis": "mock-pending-key" } },
"exposure_summary": {
"overall_risk": "low",
"reasons": ["No UFLPA or denied-party matches found."],
"incomplete_coverage": true
},
"disclaimer": "Advisory only, not legal or customs advice."
}
Key features
- One call covers UFLPA, denied-party (Consolidated Screening List), and AD/CVD exposure
- Deterministic overall exposure rating — none, low, elevated, or high
- Standalone UFLPA name search and AD/CVD-by-HTS-and-country lookup endpoints
- Batch endpoint for supplier/party screening, up to 50 per call
- Per-source freshness manifest on every response
Pricing
Available pay-as-you-go per screen, or on a monthly plan with a set number of shipments included and overage priced per additional screen beyond that — sized for anything from occasional supplier checks to high-volume brokerage workflows.
This API is advisory only. A “no match” result is not a guarantee that a shipment,
supplier, or product is free of forced-labor or trade-enforcement exposure, and nothing
here is a customs-business determination, HTS classification ruling, or legal advice —
consult a licensed customs broker or attorney for your actual compliance obligations.
Check the source.basis field on every response before relying on a result: live means
a real, currently-wired government data call; anything else means that section is not yet
checked against live data. See the API’s own /terms endpoint for the full disclosure.
