Getting started

VerifyCN API

The same engine behind our verification cards, programmatic. Resolve entities, pull US customs trade history, get transparent risk scores, manage monitoring — over REST, or natively inside Claude via MCP.

Base URL

https://china-verify.lovable.app/api/trpc

Getting started

Authentication

Anonymous checks work out of the box. For higher quotas, create an API key in the dashboard (Developers → API keys) and send it as a Bearer token. Keys are prefixed vcn_live_…

Auth
curl "https://china-verify.lovable.app/api/trpc/verify.search?input=%7B%22json%22%3A%7B%22query%22%3A%22midea%20group%22%7D%7D" \
-H "Authorization: Bearer vcn_live_…"

Keys are scoped. MCP connections use the same keys — rotate them from the dashboard.

Getting started

Quickstart

1

Verify a supplier

Resolve a raw name or Alibaba storefront URL to legal-entity candidates. Always confirm the exact registered entity before relying on a result — English trade names are informal.

curl "https://china-verify.lovable.app/api/trpc/verify.search?input=%7B%22json%22%3A%7B%22query%22%3A%22midea%20group%22%7D%7D"
Response
{
"result": {
"data": {
"json": {
"candidates": [
{
"name": "Midea Group Co., Ltd.",
"legalName": "美的集团有限公司",
"uscc": "91440606722473344C",
"status": "ACTIVE",
"address": "Beijiao, Foshan, Guangdong, CN",
"source": "registry"
}
],
"live": true,
"isUrl": false
}
}
}
}
2

Run the full check

verify.runCheck is a mutation — POST it. It resolves identity, pulls US customs trade history and storefront signals, then scores the supplier with 15 transparent signals. Returns a checkId for the saved report.

curl -X POST "https://china-verify.lovable.app/api/trpc/verify.runCheck" \
-H "Content-Type: application/json" \
-d '{
"json": {
"query": "Midea Group Co., Ltd.",
"entityName": "Midea Group Co., Ltd.",
"claimsExport": true
}
}'
Response (trimmed)
{
"checkId": 1042,
"identity": { "name": "Midea Group Co., Ltd.", "status": "ACTIVE" },
"trade": {
"totalBols": 11978,
"firstShipment": "2012-03",
"lastShipment": "2026-09",
"topBuyers": [{ "name": "Midea America Corp", "bols": 4210 }]
},
"risk": {
"score": 86,
"band": "low",
"reasons": [
{ "signal": "trade_history_depth", "delta": 15,
"source": "Public trade records · Oct 2026" }
]
}
}
3

Add market context

verify.marketContext pulls UN Comtrade aggregates (China → US, by HS code) to size the lane your supplier claims to ship in. Aggregates only — no company-level data exists in this source.

curl "https://china-verify.lovable.app/api/trpc/verify.marketContext?input=%7B%22json%22%3A%7B%22hsCode%22%3A%228516%22%7D%7D"

Prefer a typed client? These endpoints are standard tRPC — point any @trpc/client at the same base URL. See the endpoint reference.

REST API

verify.runCheck

POSThttps://china-verify.lovable.app/api/trpc/verify.runChecktRPC mutation

Run the full L0 verification check: identity resolution, US customs trade history, storefront signals, and the 15-signal risk score. Saves the report and returns a checkId.

NameTypeRequiredDescription
querystringyesSupplier name or Alibaba URL
usccstring?noPin the check to a specific company by its 18-character USCC
entityNamestring?noOverride the resolved legal name
claimsExportboolean?noWhether the supplier claims to export (default true)

REST API

verify.marketContext

GEThttps://china-verify.lovable.app/api/trpc/verify.marketContexttRPC query

Aggregate China → US trade value for an HS code, from UN Comtrade. Aggregates only — no company-level data exists in this source.

NameTypeRequiredDescription
hsCodestring (4–6 digits)noHarmonized System code, default 8516

REST API

Rate limits

TierMonthly quotaBurst
Free API trial60 calls / mo2 rps
Pro1,000 calls / mo10 rps
Scale50,000 calls / mo10 rps

Over the limit you get 429 with a Retry-After header. Back off exponentially; don't hammer.

REST API

Errors

CodeMeaning
entity_not_foundNo legal-entity candidate matched the query. Check the registered Chinese name.
coverage_gapRequested data is outside our coverage (e.g. EU manifests). The gap is stated, never implied.
quota_exceededMonthly quota exhausted. Upgrade or wait for the reset; check Retry-After.

MCP Server

The MCP server. Claude checks suppliers natively.

One URL. Five tools. Claude resolves entities, pulls customs history, and scores suppliers inside your conversation — with the same evidence tags as the web app.

search_supplierverify_trade_historycheck_identitystorefront_signalsrisk_score

Server endpoint — POST JSON-RPC 2.0

https://china-verify.lovable.app/mcp

GET /mcp returns server info

{
"name": "VerifyCN MCP server",
"transport": "streamable-http",
"usage": "POST JSON-RPC 2.0 (initialize, tools/list, tools/call).",
"tools": ["search_supplier", "verify_trade_history",
"check_identity", "storefront_signals", "risk_score"]
}
Claude desktop calling the VerifyCN MCP server

Add to Claude in three minutes

1.

Get an API key

Dashboard → Developers → API keys. Keys look like vcn_live_… and are scoped per workspace.

2.

Add the server

In Claude: Settings → MCP connectors → add server URL https://china-verify.lovable.app/mcp (Streamable HTTP). Or from the CLI:

▍
claude mcp add --transport http verifycn https://china-verify.lovable.app/mcp
3.

Ask

"Verify this supplier before I send a deposit: alibaba.com/company/…" — Claude picks the right tools and answers with sourced evidence.

Example session

What it looks like

You

I'm about to wire $18k to Shenzhen XYZ Electronics — check them.

search_supplierverify_trade_historyrisk_score
Claude · via VerifyCN MCP

Shenzhen XYZ Electronics Co., Ltd.

深圳市XYZ电子有限公司

41/ 100 · Elevated risk

▲ Supplier claims export, but no US import records under this legal name (−20)

▲ Legal entity registered 1 year ago (−12)

● Storefront claims 9 years on platform — entity mismatch (−10)

Public record · Oct 2026Public record · Oct 2026Storefront · Oct 2026

Hold the wire. The storefront age doesn't match the registered entity, and there's no US customs footprint for the exact legal name. Ask for their registered Chinese name and re-check — absence of records ≠ proof of fraud, but this pattern warrants a deep report.

MCP Server

Tool reference

Five tools map 1:1 onto the same connectors as the web app — one data brain, two faces. Click a row for its input schema.

ToolDescriptionParametersReturns

Reference

Risk score methodology

The score is rules-based — no AI. Every report starts at 100; each rule below adds or deducts points, and every deduction on your report names its rule and source. The final score is clamped to 0–100.

Deductions

enforcementEnforcement orders (被执行) on recordSource: Court records−15 each
dishonest_debtorListed as a dishonest debtor (失信)Source: Court records−30
past_enforcementHad court enforcement orders in the past, since settled (current orders are scored separately)Source: Court records−5
penaltiesAdministrative penalty / serious violation recordsSource: Court records−10 each
entity_ageCompany under 1 year / 1–2 years oldSource: Registry−15 / −8
registered_capitalRegistered capital under RMB 1MSource: Registry−5
business_scopeBusiness scope has no production terms (生产/制造/加工)Source: Registry−10
name_changes3 or more former registered namesSource: Registry−4
insured_staff0 insured employees / fewer than 10Source: Registry details−20 / −10
paid_in_capitalPaid-in capital undisclosed or zeroSource: Registry details−5
shared_contactPhone or email also used by 1–20 other companies (possible related-company network); shared by more than 20 = a filing agent's contact, no deductionSource: Registry details−5
staff_declineLatest insured staff under 50% of the higher of the two previous years (needs 2+ years)Source: Registry details−5
no_marketplaceNo Alibaba or Global Sources presence found (only when both searches ran)Source: Marketplaces−10
age_mismatchPossible entity switch: storefront claims more years than the legal entity has existed, or Alibaba's onsite-verified founding year is over a year earlier / region is a different province than the registry company (fires once)Source: Storefront × Registry−10

Bonuses

vat_taxpayerGeneral VAT taxpayerSource: Registry details+5
customs_registrationCustoms import/export registrationSource: Registry details+5
tax_credit_aLatest taxpayer credit rating is A (D is shown as a red flag, no extra deduction)Source: Registry events+5
ipOwns trademarks or patentsSource: Registry / court records+5
us_shipmentsConfirmed US ocean-import shipmentsSource: US shipments+10
verified_storeMarketplace store matches the registered name and is verifiedSource: Marketplaces+10
platform_tenure5+ years on Alibaba (self-reported)Source: Storefront+4
platform_badgeAlibaba Verified Supplier badge (weak positive)Source: Storefront+2

Bands

Low · 80–100Moderate · 60–79Elevated · 40–59High · 0–39

Automatic fail

If the registry status is not active (e.g. revoked, cancelled), the score is capped at 20 — automatic fail.

Fail-closed: "not checked"

A rule only fires when its source answered. If a source was unavailable, its group is listed as "not checked" and nothing is added or deducted. Without a confirmed registry identity there is no score at all ("Insufficient data").

Factory vs trader classifier

Signals are summed per side. A margin under 3 points reads "Unclear — mixed signals"; 3–4 is medium confidence, 5+ high. It does not change the score.

Name contains 贸易/商贸 (trade)+3 trader
Name contains 制造/制品/工厂/实业+3 factory
Industry code F (wholesale & retail)+3 trader
Industry code C (manufacturing)+3 factory
Business scope includes production (else +3 trading)+3 factory
Fewer than 5 insured staff+2 trader
20+ insured staff+2 factory
Office-floor address (楼/室)+1 trader
Marketplace lists them as Manufacturer+2 factory
Marketplace lists them as Trading Company+2 trader

Reference

Data sources & coverage

SourceWhat it coversLimits
Public trade recordsUS ocean imports — bills of lading, consignees, shipment datesPublic per 19 U.S.C. §1431(c). ~50–60% lane visibility: no air freight, no EU, no declared values.
RegistryLegal identity — registered Chinese name, USCC, status, addressIdentity only; no risk or trade data. English trade names are informal — confirm the legal entity.
Alibaba storefrontPlatform metrics — tenure, reorder rate, on-time dispatch, badgesSelf-reported by the supplier. Corroboration only, never customs-verified.
UN ComtradeMarket context — aggregate China → US trade by HS codeAggregates only. No company-level data exists in this source.
Chinese registry & courtsRegistry extracts, litigation, enforcement & dishonesty listsFull report. Retrieved live and translated; absence of records ≠ absence of litigation.
Coverage & limits

US ocean manifests are public records per 19 U.S.C. §1431(c), with ~50–60% lane visibility — EU, air freight and declared values are not visible. Absence of records ≠ absence of litigation. Storefront data is self-reported. VerifyCN is not legal advice.

Reference

Changelog

v1.4 — Oct 2026

Added capital-vs-claims signal; coverage disclaimers on every report.

v1.3 — Aug 2026

MCP server GA — five tools over Streamable HTTP at /mcp.

v1.2 — Jun 2026

EU coverage disclaimers; storefront age-vs-entity cross-check.

v1.1 — Apr 2026

Monitoring alerts: score-change, litigation, volume decline.

v1.0 — Feb 2026

Public launch — verification cards, risk score v1, REST API beta.